Proyecto de Programación
Upcoming SlideShare
Loading in...5
×
 

Proyecto de Programación

on

  • 1,079 views

 

Statistics

Views

Total Views
1,079
Views on SlideShare
1,079
Embed Views
0

Actions

Likes
0
Downloads
14
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Proyecto de Programación Proyecto de Programación Document Transcript

  • UNIVERSIDAD TÉCNICA DE MACHALA FACULTAD DE INGENERÍA CIVIL ESCUELA DE INFORMÁTICA PRIMER SEMESTRE PARALELO “A” PROGRAMACIÓN I “El Ahorcado Educativo” Proyecto Final de la Asignatura Autores: Aguilar Pacheco Bryan Stalin Cabanilla Asencio Erwin Enrique Castillo Crespín Jimmy Fernando Romero Correa Jerry Alexander Docente: Ing. Fausto Redrován Castillo, Mg. MACHALA - ECUADOR SEPTIEMBRE, 2013
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 1
  • Proyecto Final de Programación I AUTORÍA: Nosotros, [ Aguilar Pacheco Bryan Stalin, Cabanilla Asencio Erwin Enrique, Castillo Crespín Jimmy Fernando, Romero Correa Jerry Alexander], como autores del presente trabajo de investigación, somos responsables de las ideas, conceptos, procedimientos y resultados vertidos en la misma. f………………………………. f………………………………. [Aguilar Pacheco Bryan Stalin] [Cabanilla Asencio Erwin Enrique] C.I.: [070648236-1 ] C.I.: [0705566297 ] f………………………………. f………………………………. [Castillo Crespín Jimmy Fernando] [Romero Correa Jerry Alexander] C.I.: [070682911-6] C.I.: [070704232-1] “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 2
  • Proyecto Final de Programación I 1 JUSTIFICACIÓN Uno de los principales factores para que los estudiantes; sea de escuela, colegio y universidad, no presten atención a las clases o se les dificulte el entendimiento de alguna materia, es por la falta de motivación por parte del profesor o simplemente sus clases carecen de dinámicas o juegos de carácter educativo lo cual tornan aburridas sus cátedras. Los juegos educativos tiene como fín además de desestresarse de las materias y de la clase, es de aprender de una forma no convencional, de tal forma, logrando así un mejor entendimiento del estudiante en algun tema de alguna materia, despertando su lado creativo. De ese problema surge nuestro proyecto el Ahorcado educativo, pudimos haber eligido otro juego, pero nada mejor que el clásico juego del ahorcado, por las razones de que es un juego popular, la mayoria de las personas lo conocen, no ha pasado de moda, siempre se lo encuentra en uso en escuelas y colegios y es una forma divertida de aprender conceptos, palabras y términos sobre alguna materia. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 3
  • Proyecto Final de Programación I 2 Objetivos 2.1 Objetivo General  Desarrollar un juego educativo e interactivo que aparte de ayudar a divertise y desestrezarse tanto en clases como en cualquier lugar, ayude en en el proceso de aprendizaje de niños y jovenes. 2.1 Objetivos Especificos  Lograr que los estudiantes mejoren su capacidad de aprendizaje.  Despertar el interes por la materias.  Aumentar el interés por utilizar programas de juegos educativos por parte de los estudiantes. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 4
  • Proyecto Final de Programación I 3 Antecedentes 3.1 APRENDIZAJE EN LA ACTUALIDAD El término 'estilo de aprendizaje' se refiere al hecho de que cuando queremos aprender algo cada uno de nosotros utiliza su propio método o conjunto de estrategias. Aunque las estrategias concretas que utilizamos varían según lo que queramos aprender, cada uno de nosotros tiende a desarrollar unas preferencias globales. Esas preferencias o tendencias a utilizar más unas determinadas maneras de aprender que otras constituyen nuestro estilo de aprendizaje. Cuando se trata de rebasar el pensamiento teórico para aplicar los fundamentos pedagógicos a la práctica, el docente se enfrenta a varios problemas que trascienden en el proceso educativo. En este sentido, aún los profesores e investigadores con talento tienen dificultades para comunicar el conocimiento a sus estudiantes. Lo anterior es debido a deficiencias en la estructura de las interfaces entre el sujeto que aprende y lo que debe ser aprendido. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 5 Ilustración 1: Aprendizaje en la Actualidad
  • Proyecto Final de Programación I Esas diferencias en el aprendizaje son el resultado de muchos factores, como por ejemplo la motivación, el bagaje cultural previo y la edad. Pero esos factores no explican porque con frecuencia nos encontramos con alumnos con la misma motivación y de la misma edad y bagaje cultural que, sin embargo, aprenden de distinta manera, de tal forma que, mientras a uno se le da muy bien redactar, al otro le resultan mucho más fácil los ejercicios de gramática. Esas diferencias si podrían deberse, sin embargo, a su distinta manera de aprender. Los estilos de aprendizaje son los rasgos cognitivos, afectivos y fisiológicos que sirven como indicadores relativamente estables, de cómo los alumnos perciben interacciones y responden a sus ambientes de aprendizaje. En si cada persona aprende de manera distinta a las demás: utiliza diferentes estrategias, aprende con diferentes velocidades e incluso con mayor o menor eficacia incluso aunque tengan las mismas motivaciones, el mismo nivel de instrucción, la misma edad o estén estudiando el mismo tema. Sin embargo más allá de esto, es importante no utilizar los estilos de aprendizaje como una herramienta para clasificar a los alumnos en categorías cerradas, ya que la manera de aprender evoluciona y cambia constantemente. “Francisco Piedrahita Plata(septiembre 1, 2007)” “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 6
  • Proyecto Final de Programación I 3.2 Con respecto al Uso de las TIC en la educación? Existen dos razones muy importantes por las que los gobiernos deben ir mucho más allá de dotar las bibliotecas escolares con acceso a la Web. Por una parte, debido precisamente a los múltiples cambios originados por la revolución de las TIC, las competencias requeridas a los graduados de los sistemas escolares de América Latina han cambiado. Y esos sistemas escolares deben atender esas nuevas demandas para que los jóvenes que pasan por ellos estén mejor habilitados para llevar una vida personal, productiva y cívica valiosa en el siglo XXI. Además, las TIC, con toda la gama de herramientas de hardware y software que contienen, convertidas en herramientas de la mente, usadas para potenciarla, facilitan la creación de ambientes de aprendizaje enriquecidos, que se adaptan a modernas estrategias de aprendizaje, con excelentes resultados en el desarrollo de las habilidades cognitivas de niños y jóvenes en las áreas tradicionales del currículo. “UNESCO: Estándares de competencias en tic para docentes, 2008.” “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 7 Ilustración 2: Tics en la educacion
  • Proyecto Final de Programación I 4 Marco Teorico 4.1 Entorno gráfico Utilizado para la elaboracion del juego 4.1.1 Blue J BlueJ 1 utiliza las siguientes caracteristicas: Caracteristicas  La interfaz de usuario es mucho más simple. Los estudiantes principiantes generalmente pueden usar el entorno BlueJ de manera competente a los 20 minutos de presentación. A partir de entonces, la enseñanza puede centrarse en los conceptos importantes a la mano - orientación a objetos y Java - y no hay tiempo para ser desperdiciado hablando de entornos, sistemas de archivos, rutas de clases, los comandos de DOS o conflictos de DLL. 1 “es un entorno integrado de desarrollo (de sus siglas en inglés IDE - Integrated Development Environment) para el lenguaje de programación Java, desarrollado principalmente con propósitos educacionales, pero también es adecuado para el desarrollo de softwarea pequeña escala” “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 8 Ilustración 3: Blue J
  • Proyecto Final de Programación I  El entorno compatible con las herramientas de enseñanza importantes no disponibles en otros entornos. Uno de ellos es la visualización de la estructura de clases. BlueJ automáticamente muestra un diagrama UML-como representación de las clases y las relaciones en un proyecto. Visualización de estos conceptos importantes es una gran ayuda para los profesores y estudiantes. Es difícil comprender el concepto de un objeto cuando todo lo que siempre se ve en la pantalla es de líneas de código! La notación de los diagramas es un simple subconjunto de UML, una vez más adaptados a las necesidades de los estudiantes principiantes. Esto hace que sea fácil de entender, pero también permite la migración a la plena UML en cursos posteriores. Una de las fortalezas más importantes del entorno BlueJ es la capacidad del usuario para crear directamente objetos de ninguna clase y, a continuación, para interactuar con sus métodos. Esto crea la oportunidad para la experimentación directa con objetos, para poca sobrecarga en el medio ambiente. Los estudiantes pueden casi "sentir" lo que significa crear un objeto, llamar a un método, pasar un parámetro o recibir un valor de retorno. Ellos pueden probar un método inmediatamente después de que ha sido escrito, sin la necesidad de escribir los conductores de prueba. Esta instalación es una ayuda muy valiosa para comprender los conceptos fundamentales y los detalles del lenguaje. BlueJ es un completo entorno de Java. No es un corte hacia abajo, la versión simplificada de Java para la enseñanza. Se ejecuta en la parte superior del kit de desarrollo de Java de Sun Microsystems2 , y utiliza el compilador estándar y la máquina virtual. Esto asegura que siempre se ajusta a la especificación oficial y más actualizada al día de Java. Los autores de este libro tienen varios años de experiencia en la enseñanza con el 2 fue una empresa informática que se dedicaba a vender estaciones de trabajo, servidores, componentes informáticos, software (sistemas operativos) y servicios informáticos. Fue adquirida en el año 2009 por Oracle Corporation, anteriormente parte de Silicon Valley, fabricante de semiconductores y software. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 9
  • Proyecto Final de Programación I entorno BlueJ (y muchos más años sin que antes de eso). Ambos hemos experimentado cómo el uso de BlueJ se ha incrementado la participación, la comprensión y la actividad de los alumnos de nuestros cursos. Uno de los autores es también un desarrollador del sistema BlueJ. 4.1.2 Objetos reales primero Una de las razones para elegir BlueJ fue que permite un enfoque en el que los maestros realmente hacer frente a los conceptos importantes primero. 'Objetos temprana "ha sido un grito de guerra para muchos autores de libros de texto y los maestros durante algún tiempo. Por desgracia, el lenguaje Java no hace esta noble meta muy fácil. Numerosos obstáculos de la sintaxis y los detalles tienen que ser superados antes de la primera experiencia con un objeto viviente surge. El programa mínimo de Java para crear y llamar a un objeto por lo general incluye:  escribir una clase;  escribir un método principal, incluyendo conceptos como métodos estáticos, parámetros y matrices de la firma;  una declaración para crear el objeto ("nuevo");  una asignación a una variable;  la declaración de variables, incluyendo el tipo de variables;  una llamada a un método, utilizando notación de puntos;  posiblemente, una lista de parámetros. Como resultado, los libros de texto típicamente ya sea  tienen que trabajar su camino a través de esta lista prohibitiva, y sólo llegar a los objetos por ahí el capítulo 4, o  utilizar un "Hola, mundo"-estilo de programa con un único método estático principal como el primer ejemplo, por lo tanto no crear ningún objeto en absoluto. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 10
  • Proyecto Final de Programación I Con BlueJ, esto no es un problema. Un estudiante puede crear un objeto y llamar a sus métodos como la primera actividad! Dado que los usuarios pueden crear e interactuar con los objetos directamente, conceptos como clases, objetos, métodos y parámetros se pueden discutir fácilmente de manera concreta antes de mirar a la primera línea de la sintaxis de Java. En lugar de explicar más sobre esto aquí, sugerimos que el lector curioso chapuzón en el Capítulo 1 - las cosas se convertirá rápidamente en claro entonces. “Barnes, David J.; Kolling, Michael (September 1, 2008)” 4.2 Java 4.2.1 ¿Qué es la tecnología Java y por qué lo necesito? Java es un lenguaje de programación y la primera plataforma informática creada porSun Microsystems en 1995. Es la tecnología subyacente que permite el uso de programas punteros, como herramientas, juegos y aplicaciones de negocios. Java se ejecuta en más de 850 millones de ordenadores personales de todo el mundo y en miles de millones de dispositivos, como dispositivos móviles y aparatos de televisión. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 11 Ilustración 4: Java
  • Proyecto Final de Programación I 4.2.2 ¿Por qué necesito Java? Existe un gran número de aplicaciones y sitios Web que no funcionan a menos que Java esté instalado, y muchas más que se crean a diario. Java es rápido, seguro y fiable. De portátiles a centros de datos, de consolas de juegos a superequipos científicos, de teléfonos móviles a Internet, Java está en todas partes. Una de las principales características por las que Java se ha hecho muy famoso es que es un lenguaje independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente. La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier cosa que se le ocurra a la industria. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 12
  • Proyecto Final de Programación I 4.3 Características de los juegos interactivos 4.3.1 PARTICIPACIÓN ACTIVA Todo niño y niña física y psíquicamente quiere tomar parte activa en el aprendizaje. Desgraciadamente muchas situaciones didácticas están caracterizadas por la pasividad, como si éste estuviese sólo para recibir. No hay que extrañarse que situaciones didácticas de este tipo provoquen apatía y aburrimiento, pues no dejan espacio alguno a la curiosidad natural de los educandos y a su necesidad de exploración. Sintiéndose forzado a aprender cosas que no cuentan con su interés, se defiende por todos los medios, de los intentos de manipulación de los adultos. Con los juegos interactivos, en cambio, el educando participa en primera persona, expresa espontáneamente sus sentimientos, se comunica a través de códigos verbales y no verbales, interpreta diversos roles, se mueve libremente, establece relaciones, se enfrenta a situaciones, toma decisiones. Puede experimentar un amplio abanico de acciones que influyen eficazmente en la vida del grupo. Así se hace sujeto del proceso educativo y no inerte destinatario de la "sabiduría" del educador. 4.3.2 OBJETIVOS BIEN DEFINIDOS. Todo juego interactivo acaba con un momento de reflexión en que se discute sobre lo que ha pasado en el desarrollo del juego. Esto depende del hecho de que el juego interactivo responde a tiempos y contenidos muy precisos lo que provoca un despliegue de energías físicas e intelectuales del niño. La fatiga que el niño siente al término de estas actividades es bien distinta de la causada por la pasividad y la frustración. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 13
  • Proyecto Final de Programación I 4.3.3 RESULTADOS ABIERTOS Mientras los objetivos de un juego interactivo son bien definidos, los resultados a que puede conducir son abiertos y también esto tiene gran importancia. En un juego interactivo no se dan soluciones acertadas y equivocadas. Cada uno juzga, guiado por sus sensaciones y por la retroalimentación que recibe de sus compañeros, es decir, si un determinado comportamiento es adecuado o no a la finalidad. 4.3.4 INTERACCIÓN Muchos juegos interactivos aprovechan precisamente aquellas energías que normalmente se consideran un obstáculo al aprendizaje, por ejemplo, las ganas de hablar y de moverse propias del educando. Algunos educadores pretenden que los niños sepan concentrarse, limitando al máximo el movimiento y la interacción con los compañeros. Los juegos interactivos, en cambio, tienen en cuenta las necesidades del niño, que pueda moverse libremente, establecer contactos verbales o no verbales, dar libre escape a sus energías. Igualmente importantes son los procesos de comunicación que se establecen en el grupo, en el que cada uno aprende en contraste con los otros miembros, probablemente de modo más intenso y motivado que cuando todo se centra en el docente. Existen pocas estrategias didácticas que favorezcan tanto las dinámicas interactivas. El deseo natural de comunicación del niño es considerado frecuentemente como un atentado a la disciplina. Por el contrario, los juegos interactivos utilizan para el aprendizaje las necesidades y energías naturales del niño, en vez de reprimirlos con fatiga y, a fin de cuentas sin ningún resultado. 4.3.5 COMPETITIVIDAD Y COLABORACIÓN Muchos juegos interactivos tienen un componente de competitividad. Responden así a una necesidad natural del niño o la niña que hay que encauzar a objetivos constructivos, si no se quiere crear tensiones latentes que amenacen el clima del grupo. Por otra parte casi todos los juegos interactivos incentivan el espíritu de “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 14
  • Proyecto Final de Programación I colaboración. Muchas actividades suponen trabajos por parejas o en pequeños grupos. Se tiene así en cuenta la disposición natural del educando a colaborar constructivamente. 4.3.6 POSIBILIDAD DE PARTICIPACIÓN PARA TODOS. En todo grupo hay sujetos particularmente dotados en que se polarizan las expectativas de los compañeros, que esperan de esta pequeña elite los mejores resultados, las ideas más brillantes. Quien no forma parte de este grupo privilegiado asume las más de las veces actitudes de renuncia que aumentan notablemente las probabilidades de fracaso. Los juegos interactivos ofrecen nuevas posibilidades a estos sujetos que ven como soluciones espontáneas y originales, son con frecuencia más apreciadas y eficaces que las respuestas estandarizadas. La facilidad de palabra, casi siempre garantía de éxito, no es la única que se valora: son igualmente importantes la capacidad de trabar relaciones, la apertura y el espíritu de iniciativa, la osadía y la sensibilidad empática. Todo esto lo captan pronto los chicos, que pueden así concentrar serenamente su atención en el juego y no en la pregunta de si van a tener éxito. 4.3.7 COHESIÓN DE GRUPO Frecuentemente a través de las normales técnicas didácticas es casi imposible convertir un cierto número de niños y niñas, que se encuentran casi al azar, en un verdadero grupo. Precisamente es esta una nueva fuerza de los juegos interactivos, que favorecen la cohesión y el acuerdo. Cada componente toma conciencia de ser parte del grupo, no sólo porque asume un determinado rol, sino en cuanto persona. Sintiéndose aceptado, se capacita para aceptar y apreciar a los otros. Satisfecha su necesidad de pertenencia, puede orientar su energía psíquica e intelectual al logro de los objetivos del grupo. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 15
  • Proyecto Final de Programación I 4.3.8 EL ROL DEL EDUCADOR En el juego interactivo la función del guía o educador queda delegada a la misma estructura del juego. Los niños y niñas experimentan que el grupo es quien los estimula y sostiene, y descubren que pueden hacer experiencias significativas aun sin la ayuda del educador. Esto resulta particularmente importante para aquellos educandos que manifiestan actitudes de excesiva dependencia de la autoridad o de injustificada rebeldía. No teniéndose que preocupar de las reacciones del educador, están más libres para compartir con los compañeros la responsabilidad para el resultado del juego. El alternar situaciones de aprendizaje centradas exclusivamente en el grupo, con otras en que el grupo aprende con la ayuda del educador (fase de evaluación) o con situaciones de aprendizaje centradas en el educador (fase de introducción) permite a los niños y niñas, desarrollar una relación más elástica con la autoridad. 4.4 Conclusión de la interatividad de un juego educativo  Los juegos interactivos, por su naturaleza, estimulan a los educandos a aprender, despertando el interés y el gusto por un aprendizaje fundado en la realidad.  A través de estas actividades lúdicas, se crea un mayor equilibrio entre los educandos más activos y los menos activos, que se sienten estimulados a una más intensa participación.  Los juegos interactivos facilitan la introducción de nuevos códigos de comunicación y de comportamiento, con frecuencia descuidados en la cultura corriente.  Ayudan al educando a verse a sí mismo y a los demás de modo más completo.  A través de los juegos interactivos, los educandos ejercitan otras actitudes psicosociales: aprende a comunicarse abiertamente, a proponer iniciativas, a tomar decisiones, a ayudar a los compañeros, a colaborar y también a lograr colaboraciones; aprende a defender sus posiciones y a hacerse responsable de “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 16
  • Proyecto Final de Programación I sus opciones.  Los juegos interactivos, precisamente porque el educando los toma como juegos, permiten abandonar aquellas defensas que frecuentemente se levantan ante los nuevos compromisos y nuevas exigencias.  Estas técnicas pueden ser usadas aun en grupos bastante numerosos.  Los juegos interactivos reducen, sobre todo en la fase inicial, el miedo y la inseguridad y facilitan la cohesión del grupo. Es decir, ayudan a desarrollar las Inteligencias Personales de los individuos. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 17
  • Proyecto Final de Programación I 4.5 Funciones de los juegos interactivos Entre los once y los trece años los conocimientos de los niños y niñas se amplían notablemente. Comienzan a asimilar conceptos abstractos, a pensar lógicamente y a crearse su sistema de valores. En el camino relacional, pueden ya percibir con mayor objetividad los puntos de vista, las necesidades y los sentimientos de los otros. Toman conciencia de los diversos roles sociales y de sus efectos. Una visión más amplia del ambiente en que viven les empuja a explorar la realidad de modo cada vez más autónomo. A diferencia de los más pequeños, los muchachos de esta edad buscan crearse su propia competencia, sienten el orgullo de lo que logran hacer, de su agilidad intelectual y de su capacidad física. Sobre estos elementos se van construyendo el sentido de autoestima, que en la fase precedente dependía sobre todo de la relación con los padres. Al mismo tiempo que el educando comienza a tomar conciencia de la multiplicidad de las relaciones en que está inmerso, a proponerse autónomamente objetivos, a definir sus competencias, comienza a crearse sus convicciones y sus valores. A este respecto se muestra particularmente importante la confrontación con el grupo de los de su edad. Los muchachos y muchachas, entre los once y trece años de edad, se interesan mucho por temas como el poder, el éxito, liderazgo, las relaciones con el mundo de los adultos, etc. Además vienen a conocer situaciones familiares y sociales diversas de las suyas, caracterizadas por diferentes criterios de comportamiento y estilos de vida. En este sentido hay que entender los objetivos educativos que pasamos a describir brevemente y que se pueden lograr con la ayuda de los juegos interactivos. 4.5.1 DESARROLLO DE LA CAPACIDAD PERCEPTIVA. Es la capacidad de percibir de modo más diferenciado y puntual las propias sensaciones, estados de ánimo, pensamientos, ideas, deseos, temores y al mismo tiempo la disponibilidad para acoger los estados de ánimo de las personas con las que vivimos. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 18
  • Proyecto Final de Programación I 4.5.2 DESARROLLO DEL SENTIDO DE LA RESPONSABILIDAD. Se trata de desarrollar una importante actitud interior: la capacidad de no justificar y a toda costa la propia conducta, sino de reconocer los errores y asumir la propia responsabilidad ante las opciones que se toman. Así nos descubrimos cada vez más protagonistas de nuestro propio destino. 4.5.3 EXPRESIÓN FUNCIONAL DE LAS SENSACIONES. A través de los juegos interactivos, los educandos experimentan que la expresión de las emociones y sentimientos no sólo es algo permitido, sino que positivamente se estimula. Así pueden concentrarse en sus propias sensaciones, tomar conciencia de ellas, y, si lo desean, también expresarlas a través de gestos y palabras. 4.5.4 TOMA DE CONCIENCIA DE LAS PROPIAS MOTIVACIONES. ¿Qué me induce a comportarme de determinada manera? ¿Cuáles son mis objetivos? ¿Qué valores determinan mi comportamiento? Los educandos se ejercitan en compararse con los otros y otras y en reflexionar de manera cada vez más crítica sobre los motivos de sus actos. 4.5.5 ACEPTACIÓN DE SÍ MISMO. El objetivo es que los muchachos y muchachas aprendan a aceptarse, desarrollen un mayor respeto hacia sí mismos y se vean como personas capaces de crecer y de aprender. La conciencia del propio valer permite relativizar las expectativas de los mayores. La autoestima encuentra así su fundamento en uno mismo y ya no depende, de los juicios externos y de la adhesión a modelos de comportamiento. 4.5.6 ACEPTACIÓN DE LOS OTROS. El muchacho y la muchacha deben entender que no se puede crecer sino en relación con los demás. Se trata de suscitar en ellos el interés por la comunicación y la colaboración, en un equilibrio armónico de cercanía y distancia de los coetáneos y los adultos. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 19
  • Proyecto Final de Programación I 4.6. Qué es un Juego Educativo? El juego educativo es el juego que tiene un objetivo educativo implícito o explícito para que los niños aprendan algo específico. Un objetivo que explícitamente programa el maestro con un fin educativo, o la persona que lo diseña, ya sea el educador, el maestro, el profesor de apoyo, los padres, los hermanos mayores, los abuelos, los amigos, etc., y está pensado para que un niño o unos niños aprendan algo concreto de forma lúdica. 4.7. Características esenciales de los programas educativos Los programas educativos pueden tratar las diferentes materias (matemáticas, idiomas, geografía, dibujo...), de formas muy diversas (a partir de cuestionarios, facilitando una información estructurada a los alumnos, mediante la simulación de fenómenos...) y ofrecer un entorno de trabajo más o menos sensible a las circunstancias de los alumnos y más o menos rico en posibilidades de interacción; Son materiales elaborados con una finalidad didáctica, como se desprende de la definición. Utilizan el ordenador como soporte en el que los alumnos realizan las actividades que ellos proponen. Son interactivos, contestan inmediatamente las acciones de los estudiantes y permiten un diálogo y un intercambio de informaciones entre el ordenador y los estudiantes. Individualizan el trabajo de los estudiantes, ya que se adaptan al ritmo de trabajo cada uno y pueden adaptar sus actividades según las actuaciones de los alumnos. Son fáciles de usar. Los conocimientos son mínimos, aunque cada programa tiene unas reglas de funcionamiento que es necesario conocer. “Pere Marquès(2010), El software educativo: Características esenciales de los programas educativos. Universidad Autónoma de Barcelona” “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 20
  • Proyecto Final de Programación I 4.8 El Ahorcado 4.8.1 Investigación acerca del código del juego 4.8.2 Obtener texto no escriptado utilizando JpasswordField JpasswordField es un componente ligero que permite la edición de una sola línea de texto en la vista indica algo que se ha escrito, pero no muestra los caracteres originales. Puede encontrar más información y ejemplos de cómo utilizar los campos de texto , una sección en el Tutorial Java. JpasswordField se pretende que sea el código compatible con java.awt.TextField utilizado con echoChar conjunto. Se proporciona por separado para que sea más fácil cambiar de forma segura la interfaz de usuario para el JtextField sin afectar las entradas de contraseñas. NOTA: Por defecto, desactiva JPasswordField métodos de entrada, de lo contrario, los caracteres de entrada podrían ser visibles mientras estaban compuestas utilizando los métodos de entrada. Si una aplicación necesita el soporte de métodos de entrada, por favor, utilice el método heredado,enableInputMethods (true). http://docs.oracle.com/javase/6/docs/api/javax/swing/JPasswordField.htm l “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 21
  • Proyecto Final de Programación I 4.8.3.- JoptionPane en java Un cuadro de diálogo no es más que una ventana que nos permite mostrar mensajes, por ejemplo de error, de advertencia o de información, o para pedir el ingreso de un valor, además nos permite solicitar al usuario su intervención para decidir si se realizará o no una acción, como ser los mensajes de confirmación. JOptionPane es una clase de la biblioteca Swing (que contiene las librerías de interfaz gráfica de usuario), para poder usar sus métodos es necesario importarla: import javax.swing.JOptionPane; Podemos mencionar que JOptionPane tiene básicamente 4 métodos, que definen la manera y la funcionalidad con la que se mostrará un cuadro de diálogo: showMessageDialog():muestra un cuadro de diálogo al usuario, normalmente de carácter informativo, como mínimo recibe 2 parámetros: el componente padre (que puede ser null) y una cadena de caracteres que corresponde al mensaje a ser mostrado. También puede recibir como parámetro una cadena que irá como título del cuadro y el tipo de mensaje a mostrarse (determinado por una constante de la clase JOptionPane). Parámetros: * Component componentePadre: el componente al que pertenece. * Object mensaje = es el objeto que corresponde al mensaje (texto) a mostrarse. * String titulo = texto que será el título del cuadro de diálogo. * int tipoDeMensaje = definido por una constante de la clase JOptionPane “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 22
  • Proyecto Final de Programación I Sintaxis: JOptionPane.showMessageDialog(this, "Este es un mensaje simple"); Aquí se le envía como componente padre el objecto actual; es interesante esta práctica ya que de esta manera el formulario se bloqueará mientras esté abierto el cuadro de mensaje, impidiendo que se efectúen otras acciones, en cambio si se le pasa null en vez de un objeto el formulario (padre) al que pertenece estará disponible para otras acciones (lo que estaría incorrecto). Resultado: Ilustración 5: Mensaje-JOptionPane Nombre del método Descripción showConfirmDial og Hace una pregunta que confirma, como sí / no / cancelar. showInputDialog Preguntar por alguna entrada. showMessageDia log Dígale al usuario sobre algo que ha sucedido. showOptionDialo g La Gran Unificación de los tres anteriores. Tabla 1: Metodos de JOptionPane “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 23
  • Proyecto Final de Programación I 4.8.4. Qué es el Ahorcado? El ahorcado (también llamado colgado) es un juego de lápiz y papel, en el que el objetivo es adivinar una palabra o frase. Al comenzar el juego se dibuja una base, y una raya en lugar de cada letra (dejando los espacios si corresponden). Por ejemplo:, si la frase es “LOBO MARINO” se escribírá: Como ayuda suele darse una definición o ayuda o las letras de comienzo de cada palabras (o las últimas), por ejemplo: L O B O M A R I N O ——> L _ _ _ M _ _ _ _ _ Si las letras de comienzo están repetidas en el medio de la palabra deberán completarse; por ejemplo: A R A Ñ A ——> A _ A _ A Luego el jugador restante (o los jugadores, en turno) deberán ir diciendo letras que les parece que puede contener la frase. Si aciertan, se escriben todas las letras coincidentes. Si la letra no está, se escribe la letra arriba y se agrega una parte al cuerpo (cabeza, brazo, etc.). La cantidad de partes a dibujar puede cambiarse según la dificultad de la palabra o de los jugadores. Pueden ver un ejemplo en la imagen animada. Se gana el juego si se completa la frase, y se pierde si se completa el cuerpo antes de terminar la frase. El ganador es el siguiente en elegir la frase o palabra, o el mismo jugador que la anterior vez si no acertó nadie. Cita textual: “Fernando Castillo” “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 24
  • Proyecto Final de Programación I 5 MARCO METODOLÓGICO 5.1 Análisis de resultados Limpiar Palabra i i<palabra_aux.length I<palabra.length palabra_aux[i] 0 si '_' 1 0 si '_' 1 Tabla 2: Prueba de escritorio - Limpiar Pantalla menu op op>5 opcion Opcion!=3 Op < 3 0 no 0 si si <= definir palabra 1 1 2 si <= iniciar juego 3 si <= Salir Tabla 3: Prueba de escritorio - Menu Principal “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 25
  • Proyecto Final de Programación I Jugar PC palabra descrpcion aleatorio respuesta x X<palabra intentos 1 1 1 1 0 no 8 1 cont2 salir i a q i<palabra puntaje 0 0 0 1 0 no 100 2 1 1 1 si 0 0 si 2 1 0 2 Tabla 4: Prueba de escritorio - Jugar con la Pc Definir palabra pass palabra i 1 1 0 1 Tabla 5: Prueba de escritorio - Defenir Palabra Buscar letra en palabra i i<palabra c palabra_aux[i] = c 0 no 1 1 1 Tabla 6: Prueba de escritorio - Buscar letra en palabra “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 26
  • Proyecto Final de Programación I 5.2 Solución El problema que intenta resolver el programa. Resolver la falta de interés de los estudiantes por aprender conceptos relevantes de distintas materias, y aumentar el bajo déficit por utilizar programas de juegos interactivos educativos por parte de los estudiantes. Cómo se diseñó la interfaz de usuario (las pantallas). Incluir y numerar imágenes de las pantallas, y colocar un epígrafe. Este juego no presenta GUI debio a que solo se realizó por consola, pero entre las interfaz de usuario que utilizamos se encuentran las siguientes “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 27
  • Proyecto Final de Programación I Cómo se implementaron los algoritmos en Java. Hacer referencia a la codificación, pero presentarla en los Anexos. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 28
  • Proyecto Final de Programación I 6 Conclusiones  Consegir resultados, luego de dar los pasos necesarios para tal propósito, entusiasma a quien se embarca en algpun proyecto y pretende hallar respuestas que sastifagan su curiosidad en los juegos educativos, será útil herramienta para iniciarse en el estudio de los demás conocimientos.  La mente del estudiante debe permanecer siempre abierta, ser dinámica y una manera de mantener viva su capacidad mental es a través de los juegos, dentro del cual se reta a inteligencia y la sabiduría del estudiante.  Actualmente podemos decir que los juegos está directamente relacionado con la programación informática, no podemos olvidar que es necesario nuestra creatividad, ingenio y utilizar el sentido común.  El aprendizaje de la programación requiere de un gran esfuerzo, para cimentar el interés por la computación porque no hacerlo mediante los juegos educativos que son entretenidos, dinámicos que con la práctica vendrá la perfección. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 29
  • Proyecto Final de Programación I 7 Recomendaciones  Poner en práctica el ingenio en los juegos educativos, que gracias a ello reavitaliza el ánimo y fortalece la confianza en sí mismo.  Ser persistentes en la práctica de los juegos podemos descubrir el alcance lógico y desarrollar nuestras habilidades mentales.  Debemos procurar desarrollar conceptualizaciones en los juegos para una mejor entendimiento y desarrollo del mismo.  Es necesario que el estudiante tome interés en investigar e indagar de manera que el estudiante pueda seguir paso a paso el desarrollo del problema en forma gráfica y llegar con éxito a la solución. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 30
  • Proyecto Final de Programación I 8 Bibliografia Francisco Piedrahita Plata (septiembre 1, 2007) , ultima modificacion( septiembre 1, 2007) , Uso de las Tic en la actualidad. http://www.eduteka.org/PorQueTIC.php Barnes, David J.; Kolling, Michael (September 1, 2008),Objects Firts witch Java: A practical Introduction using Blue J (4ta edicion) http://www.bluej.org/objects-first/description.html Oracle(2013), Java: Qué es Java? http://www.java.com/es/download/faq/whatis_java.xml Pere Marquès(2010), El software educativo: Características esenciales de los programas educativos. Universidad Autónoma de Barcelona http://www.lmi.ub.es/te/any96/marques_software/#capitol2 UNESCO: Estándares de competencias en tic para docentes, 2008. http://www.eduteka.org/pdfdir/UNESCOEstandaresDocentes.pdf , Londres Oracle(2013) Java 6, documentos API, JPasswordField http://docs.oracle.com/javase/6/docs/api/javax/swing/JPasswordField.htm l Oracle (2013) Clase JoptionPane, JoptionPane. http://docs.oracle.com/javase/7/docs/api/javax/swing/JOptionPane.html “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 31
  • Proyecto Final de Programación I 10 Anexos Bibliotecas usadas en el programa import java.util.Scanner; import javax.swing.JLabel; import javax.swing.JOptionPane;/ import javax.swing.JPasswordField; import java.io.IOException; // Señales de que se ha producido una excepción de E / S de algún tipo. import java.io.RandomAccessFile; // implementa un archivo de acceso aleatorio. Puede ser usada tanto para lectura como para escritura de bytes. import java.io.FileInputStream; // obtiene bytes de entrada de un archivo en un sistema de archivos. import java.io.DataInputStream; // permite una aplicación leer tipos de datos primitivos de Java a partir de un flujo de entrada subyacente de una manera independiente de la máquina. import java.io.BufferedReader; // Lee texto a partir de una secuencia de caracteres de entrada, almacenamiento en búfer caracteres a fin de proporcionar para la lectura eficiente de caracteres, matrices, y líneas. import java.io.InputStreamReader; “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 32
  • Proyecto Final de Programación I Declaracion de variables public class ahorcadoFinal { /** Variable maximo de letras ingresadas*/ public static final int maximoLetras = 25; //declaracion de la variable del maximo de letras, el final sirve para indicar que ya no puede ser cambiado una vez declarado. /** Variable maximo de intentos*/ public static final int maximoIntentos = 10; // declaracion de los maximos intentos /** Variable maximo de intentos*/ public static int intentos = 0; //declaracion de los intentos /** Variable para saber si la letra fue o no encontrada*/ public static boolean encontradaLetra = false; // declaracion de la letra encontrada se inicializa en falso /** Variable del arreglo de la palabra original*/ public static char[] palabraOriginal = new char[maximoLetras]; // arreglo de caracteres de la palabra original ingresada que contiene a maximo de letras /** Variable del arreglo de la palabra auxiliar*/ public static char[] palabraAuxiliar = new char[maximoLetras]; // arreglo de la palabra auxiliar que ocntiene a maximo de letras /** Variable ingreso por teclado*/ public static Scanner sc = new Scanner(System.in); /** Variable para las palabras a adivinar en el juego del ahorcado*/ public static String palabra; /** Variable de puntaje que inicializa en 1000*/ public static int puntaje=1000; // declaracion de puntaje inicializa en 1000 /** Variable para los numeros de errores inicializa en 0*/ public static int errores=0; / “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 33
  • Proyecto Final de Programación I 10.1 Algoritmo para limpiar palabra auxiliar public static void limpiarPalabraAux() { for (int i = 0; i < palabraAuxiliar.length; i++) palabraAuxiliar[i] = ' '; for (int i = 0; i < palabra.length(); i++) palabraAuxiliar[i] = '_'; } 10.2. Algoritmo que contiene el menú principal del juego public static void menu() { int opcion=0; do { System.out.println("*********************************************************************************"); System.out.println("****************** EL AHORCADO EDUCATIVO - MENU PRINCIPAL **********************"); System.out.println("******************************************************************************* n"); System.out.println("Escoga una opcion:"); System.out.println("1.Jugar con otra personan" + "2. Jugar con la pcn" + "3. Guardarn"+ "4. Presentar puntajes archivadosn"+ "5. Salirn"); JOptionPane.showMessageDialog(null, "ttt INTRUCCIONES DEL JUEGO n" + "El juego comienza con cinco opciones como usted podra ver son las siguientesn" + "Juego con Pc, Jugar con otra persona, guardar, presentar puntajes y salir, n" + "solo puede elegir un numero que se encuentre en el menu, caso contrarion" + "se le volvera a pedir ingresar un numero del menu"); “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 34
  • Proyecto Final de Programación I /* mientras el ingreso sea mayor que 5 volvera a pedir * ingreso de numero del menu */ do { //muestra un cuadro de diálogo al usuario //como mínimo recibe 2 parámetros: el componente padre (que puede ser null) //y una cadena de caracteres que corresponde al mensaje a ser mostrado. JOptionPane.showMessageDialog(null, "Debe Ingresar un numero del Menu" ); //se asigna a la variable opcion , un numero del menu // es necesario hacer una transformacion de string a entero //porque el JOptionPane.showInputDialog recibe tipo de datos String opcion= Integer.parseInt(JOptionPane.showInputDialog("Ingrese un numero del menu")); }while(opcion > 5); switch(opcion) { case 1: int opcion2 = 0; do { System.out.println("************************************************************************"); System.out.println("************* Menu DE JUGAR CON OTRA PERSONA***************"); System.out.println("************************************************************************* n"); System.out.println(" 1) Definir palabra."); System.out.println(" 2) Iniciar Juego."); System.out.println(" 3) Salir. "); opcion= Integer.parseInt(JOptionPane.showInputDialog("Ingrese la opcion que desea escojer")); switch (opcion) { case 1: definirPalabra(); // metodo definir palabra break; case 2: iniciarJuego(); //metodo inicio del juego “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 35
  • Proyecto Final de Programación I break; case 3: System.out.println("Ejecucion terminada!!!"); // salir break; } } while (opcion != 3 ); break; case 2: nivel1(); // metodo de jugar con la pc primer nivel del juego break; case 3: try{ // para evitar errores durante la ejecucion del programa guardar(); }catch(Exception e){ } menu(); // regresa al metodo menu break; case 4: presentar(); // metodo que presenta los datos guardados menu(); // regresa al menu break; case 5: JOptionPane.showMessageDialog(null, "Gracias por haber jugado" ); System.exit(0); break; } }while(opcion < 5); “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 36
  • Proyecto Final de Programación I 10.3 Algoritmo para definir la palabra en el primer nivel public static void definirPalabra() { JPasswordField palabraAdivinar = new JPasswordField(); JLabel titulo = new JLabel ("Ingrese la palabra a adivinar"); //titulo del ingreso JOptionPane.showConfirmDialog (null, new Object[]{titulo, palabraAdivinar}, "Ingres0", JOptionPane.OK_CANCEL_OPTION); char password[] = palabraAdivinar.getPassword(); String contrasena = new String(password); palabra = contrasena; encontradaLetra= false; for (int i = 0; i < palabra.length(); i++) { palabraOriginal[i] = palabra.charAt(i); palabraAuxiliar[i] = '_'; } JOptionPane.showMessageDialog(null, "Palabra definida exitosamente¡¡" ); descripcion= JOptionPane.showInputDialog("Ingrese Descripcion o pista"); JOptionPane.showMessageDialog(null, "Descripcion ingresada exitosamente" ); } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 37
  • Proyecto Final de Programación I 10.4 Algoritmo para el nivel 1 del juego public static void nivel1() { String palabra[]={"adicion","resta","multiplicacion","matematica","division","fraccion","angulo", "agudo", "obtuso", "baricentro"}; // arreglo que contiene las palabras a adivinar String descripcion[]={"es una operación básica por su naturalidad, que se representa con el signo (+)","Es la operación inversa de la suma","es una operación matemática que consiste en sumar un número tantas veces como indica otro número","es una ciencia, hallada dentro de las ciencias exactas, que se basa en principios de la lógica", "es una operación aritmética de descomposición que consiste en averiguar cuántas veces un número está contenido en otro número","expresión de una cantidad dividida entre otra cantidad","Es una figura formada por dos rayos con un punto final común","Es cualquier ángulo cuya medida es entre 0º y 90º","Es cualquier ángulo cuya medida es entre 90º y 180º","Es el punto donde se cortan las medianas de un triángulo"}; //arreglo que contiene la descripcion de las palabras a adivinar int aleatorioPalabra;//se declara un entero para que genere numeros aleaotios del arreglo palabra aleatorioPalabra=(int)(Math.random()*10);//aqui aleatorioPalabra es = a buscar la palabra aleatoriamente de 10 numeros String respuesta; //variable para la respuesta String letrasIngresadas= ""; // variable para letras ingresadas char prueba[]= new char [palabra[aleatorioPalabra].length()];//el char solo es para una variable o letra. String soga[] = new String [8];// el numero 8 dira en cuantas oportunidades mostrara el mucheco ahorcado. soga[7]="-|";//soga significa el muñeco de ahorcado. soga[6]="-|n 6"; soga[5]="-|n 0"; soga[4]="-|n 0n |"; soga[3]="-|n 0n/|"; soga[2]="-|n 0n/|"; soga[1]="-|n 0n/|n/^"; soga[0]="-|n 0n/|n/^"; for(int x=0;x<palabra[aleatorioPalabra].length();x++)/*recuerde que en un arreglo inicia con cero y sera menor a una palabra aleatoriamente y segun la palabra lo guardara para luego mostrar los _*/ { prueba[x]='_';//tiene que llevar las ' ' asi por que prueba en char y prueba tomara el valor de '_' } int intentos=8;//esto sirve para el muñeco ahorcado siendo el contador = 8 “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 38
  • Proyecto Final de Programación I int cont2=0;//esto sirve para el contador incia en 0 int salir=0;//al salir System.out.println("**************************************************************************"); System.out.println("*********** Menu DE JUGAR CON LA COMPUTADORA - nivel 1*************"); System.out.println("************************************************************************* n"); System.out.println("Bienvenidos al juego del ahorcado"); System.out.println("usted tiene 8 intentos para adivinar"); System.out.println("la palabra. n"); System.out.println(descripcion[aleatorioPalabra]); for(int i=0; i<palabra[aleatorioPalabra].length(); i++)//imprime _ y espacios. { System.out.print(prueba[i]+" "); } System.out.println("");//son espacios de renglones System.out.println(""); System.out.println(""); while(intentos>=1) // mientras intentos sea mayor o igual q 1 { respuesta=JOptionPane.showInputDialog("Ingrese Una Letra"); //ingreso de una letra por JoptionPane char vocal=respuesta.charAt(0); if(!(vocal>64&&vocal<91||vocal>96&&vocal<123)) { JOptionPane.showMessageDialog(null,"Caracter incorrecto"); // mensaje que esta incorrecto la letra ingresada } letrasIngresadas= letrasIngresadas + respuesta.charAt(0); // esto sirve para reconcer y mostrar las lestras ingresadas de abajo System.out.println("LAS LETRAS INGRESADAS SON: "+ letrasIngresadas);//imprime las letras que has ingresado. System.out.println(descripcion[aleatorioPalabra]); // sirve para mostrar la descripcion de la palabra a adivinar System.out.println("");//imprime renglones de espacios. for(int q=0; q<palabra[aleatorioPalabra].length(); q++)//verifica si la letra ingresada existe. { if(respuesta.charAt(0)==palabra[aleatorioPalabra].charAt(q)) “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 39
  • Proyecto Final de Programación I { puntaje=puntaje+100; // si la letra existe puntaje aumenta en 100 prueba[q]=palabra[aleatorioPalabra].charAt(q);//si existe si no salta has el if de abajo. cont2++; } } System.out.println("");//imprime renglones de espacio if(cont2<1)//como logica aqui es si no existe la letra. { intentos--; //intentos disminuye puntaje-=100; // puntaje disminuye if(puntaje==0){ JOptionPane.showMessageDialog(null,"su puntaje ha llegado a cero "); menu(); } errores++; //errores aumentan System.out.println(""); System.out.println("Esa letra no existe por favor intente de nuevo"); System.out.println("Le quedan "+ intentos +" intentos");//muestra los intentos que faltan System.out.println(""); System.out.println(soga[intentos]);//imprime el muñeco de ahorcado cont2=0; } else //logica de que si exite. { System.out.println("La letra existe "); System.out.println("Ahora ingrese una nueva "); cont2=0; } for(int i=0; i<palabra[aleatorioPalabra].length(); i++)//imprime _ y espacio mas la letra ingresada tantas veces que esta. { System.out.print(prueba[i]+" "); } System.out.println("");//imprime renglon de espacio. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 40
  • Proyecto Final de Programación I for(int i=0; i<palabra[aleatorioPalabra].length(); i++) //verifica si estan las letras de las palabras para saber si gano o perdio { if(palabra[aleatorioPalabra].charAt(i)==prueba[i]) { salir++; // exite todas las letras en las palabras } else { salir=0; //no exite, salta a cont2 y sigue verificando hasta que inicie de nuevo el programa } if(salir==palabra[aleatorioPalabra].length())//al ser salir = a la palabra aleatoria imprimira que a ganado { System.out.println(""); System.out.println("--------------------------"); System.out.println("Usted ha Ganado el juego "); System.out.println("Sus puntajes son: "); System.out.println("Puntaje: "+puntaje); System.out.println("Errores: "+errores); System.out.println("--------------------------"); nivel2();// pasa al nivel 2 intentos=0; //igual a cero para que no vueva a repetirse el if } cont2=0;//contador para que inicie nuevamente el for. } } if(salir<palabra[aleatorioPalabra].length())//imprime que ah perdido. { System.out.println("");//imprime renglones de espacios System.out.println("--------------------------"); System.out.println("la palabra era "+palabra[aleatorioPalabra]);//muestra la palabra que era. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 41
  • Proyecto Final de Programación I System.out.println("--------------------------"); System.out.println("");//imprime renglones de espacios System.out.println(""); System.out.println("Usted ha sido ahorcado "); System.out.println("desea volver a jugar?"); String opcion=sc.next(); puntaje=1000; errores=0; if (opcion.equals("si")) { menu(); } else { JOptionPane.showMessageDialog(null, "Gracias por haber jugado" ); menu(); } } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 42
  • Proyecto Final de Programación I 10.5 Algoritmo para el segundo nivel del juego public static void nivel2(){ String palabra[]={"derivada","integrales","geometria","maximo","minimo","asintotas","logaritmos", "trigonometria", "trinomio", "proporcion"}; String descripcion[]={"resultado de un límite y representa la pendiente de la recta tangente a la gráfica de la función en un punto","es una generalización de la suma de infinitos sumandos, infinitamente pequeños","estudiar las propiedades y las medidas de una figura en un plano o en un espacio","Punto de una gráfica en donde el valor de una función es mayor que el de los puntos circundantes","Punto en una gráfica en donde el valor de una función es menor al de todos los puntos circundantes","rectas a las cuales la función se va aproximando indefinidamente, cuando por lo menos una de las variables (x o y) tienden al infinito","exponente al que hay que elevar la base para que nos de dicho número.","se ocupa del cálculo de triángulos, comprendiendo sus seis elementos, los tres lados y los tres ángulos"+ "Es la suma indicada de tres monomios","Proposición de igualdad entre dos razones."}; int aleatorioPalabra;//entero aleatorioPalabra=(int)(Math.random()*10);//aqui aleatorios es = buscar la palabra aleatoriamente. String respuesta; String ingresadas= ""; char prueba[]= new char [palabra[aleatorioPalabra].length()];//el char solo es para una variable o letra. String soga[] = new String [8];// el numero 8 dira en cuantas oportunidades mostrara el mucheco ahorcado. soga[7]="-|";//soga significa el muñeco de ahorcado. soga[6]="-|n 6"; soga[5]="-|n 0"; soga[4]="-|n 0n |"; soga[3]="-|n 0n/|"; soga[2]="-|n 0n/|"; soga[1]="-|n 0n/|n/^"; soga[0]="-|n 0n/|n/^"; for(int x=0;x<palabra[aleatorioPalabra].length();x++)/*recuerde que en un arreglo inicia con cero y sera menor a una palabra aleatoriamente y segun la palabra lo guardara para luego mostrar los _*/ { prueba[x]='_';//tiene que llevar las ' ' asi por que prueba en char y tienen que ir simples. } int cont=8;//esto sirve para el muñeco ahorcado siendo el contador = 8 “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 43
  • Proyecto Final de Programación I int cont2=0;//esto sirve para el contador incia en 0 int salir=0;//al salir System.out.println("**************************************************************************"); System.out.println("****************** Menu DE JUGAR CON LA COMPUTADORA - nivel 2 ***********"); System.out.println("************************************************************************* n"); System.out.println("****************Bienvenidos al juego del ahorcado*************************"); System.out.println("************Usted tiene 8 intentos para adivinar la palabra n**********************"); System.out.println(descripcion[aleatorioPalabra]); for(int i=0; i<palabra[aleatorioPalabra].length(); i++)//imprime _ y espacios. { System.out.print(prueba[i]+" "); } System.out.println("");//son espacios de renglones System.out.println(""); System.out.println(""); while(cont>=1) { respuesta=JOptionPane.showInputDialog("Ingrese Una Letra"); char vocal=respuesta.charAt(0); if(!(vocal>64&&vocal<91||vocal>96&&vocal<123)) // si vocal es mayor que 64 y menor que 91 significa que son vocales minusculas segun el codigo ASCII ( 64 { JOptionPane.showMessageDialog(null,"Caraccter incorrecto"); } ingresadas= ingresadas + respuesta.charAt(0); // esto sirve para reconcer y mostrar las lestras ingresadas de abajo System.out.println("LAS LETRAS INGRESADAS SON: "+ingresadas);//imprime las letras que has ingresado. System.out.println(descripcion[aleatorioPalabra]); System.out.println("");//imprime renglones de espacios. for(int q=0; q<palabra[aleatorioPalabra].length(); q++)//verifica si la letra ingresada existe. { if(respuesta.charAt(0)==palabra[aleatorioPalabra].charAt(q)) { prueba[q]=palabra[aleatorioPalabra].charAt(q);//si existe si no salta has el if de abajo. “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 44
  • Proyecto Final de Programación I cont2++; } } System.out.println("");//imprime renglones de espacio if(cont2<1)//como logica aqui es si no existe la letra. { puntaje-=200; if(puntaje==0){ JOptionPane.showMessageDialog(null,"su puntaje ha llegado a cero "); menu(); } errores++; cont--; System.out.println(""); System.out.println("Esa letra no existe por favor intente de nuevo"); System.out.println("Le quedan "+cont+" intentos");//muestra los intentos que faltan System.out.println(""); System.out.println(soga[cont]);//imprime el muñeco de ahorcado cont2=0; } else //logica de que si exite. { System.out.println("La letra existe "); System.out.println("Ahora ingrese una nueva "); cont2=0; puntaje+=100; } for(int i=0; i<palabra[aleatorioPalabra].length(); i++)//imprime _ y espacio mas la letra ingresada tantas veces que esta. { System.out.print(prueba[i]+" "); } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 45
  • Proyecto Final de Programación I System.out.println("");//imprime renglon de espacio. for(int i=0; i<palabra[aleatorioPalabra].length(); i++) //verifica si estan las letras de las palabras para saber si gano o perdio { if(palabra[aleatorioPalabra].charAt(i)==prueba[i]) { salir++; // exite todas las letras en las palabras } else { salir=0; //no exite, salta a cont2 y sigue verificando hasta que inicie de nuevo el programa } if(salir==palabra[aleatorioPalabra].length())//al ser salir = a la palabra aleatoria imprimira que a ganado xd { System.out.println(""); System.out.println("--------------------------"); System.out.println("Usted ha Ganado el juego "); System.out.println("Sus puntajes son: "); System.out.println("Puntaje: "+puntaje); System.out.println("Errores: "+errores); System.out.println("--------------------------"); //nivel2(); cont=0; //igual a cero para que no vueva a repetirse el if } cont2=0;//contador para que inicie nuevamente el for. } } if(salir<palabra[aleatorioPalabra].length())//imprime que ah perdido. { System.out.println("");//imprime renglones de espacios System.out.println("--------------------------"); “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 46
  • Proyecto Final de Programación I System.out.println("la palabra era "+palabra[aleatorioPalabra]);//muestra la palabra que era. System.out.println("--------------------------"); System.out.println("");//imprime renglones de espacios System.out.println(""); System.out.println("Usted ha sido ahorcado "); System.out.println("Puntaje: "+puntaje); System.out.println("Errores: "+errores); System.out.println("desea volver a jugar?"); puntaje=1000; errores=0; String op=sc.next(); if (op.equals("si")) { menu(); } else { JOptionPane.showMessageDialog(null, "Gracias por haber jugado" ); menu(); } } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 47
  • Proyecto Final de Programación I 10.6 Algoritmo para el incio del juego del primer nivel del ahoracado static String op; public static void iniciarJuego() { limpiarPalabraAux(); //llama el metodo limpiar palabra auxiliar char letra; encontradaLetra=false; do { System.out.println("n"); //Muestro la palabra for (char longitud : palabraAuxiliar) { if ((int) longitud != 0) { System.out.print(" " + longitud); } } System.out.println(); System.out.println("Descripcion de palabra: "+ descripcion +"n"+"n Ingrese una letra : "); letra = new String(sc.next()).charAt(0); buscaLetraEnPalabra(letra);// un mentodo llamado buscaletraenpalabra que tiene como parametros la variable letra compararPalabras(); intentos++; System.out.println(" Intentos " + intentos + " Max intentos " + maximoIntentos + "n n"); } while (intentos < maximoIntentos && !encontradaLetra); if (intentos < maximoIntentos && encontradaLetra) { JOptionPane.showMessageDialog(null, "Felicidades la palabra a adivinar era: " + palabra + "n" + “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 48
  • Proyecto Final de Programación I "---------- GANASTE SUPER¡¡ FELICITACIONES --------" + "n" + "Numero de intentos requeridos : " + intentos ); op=JOptionPane.showInputDialog( null, " desea volver a jugar? " ); if (op.equals("si")) { descripcion=""; intentos=0; palabra=""; encontradaLetra=false; menu(); } else { JOptionPane.showMessageDialog(null, "Gracias por haber jugado" ); menu(); } } else { JOptionPane.showMessageDialog(null, "Lo siento perdiste no adivinaste la palabra pero" + "n" + "te agradecemos por haber usado nuestro programa" + "n" + "La palabra correcta era : " + palabra ); op=JOptionPane.showInputDialog( null, " desea volver a jugar? " ); descripcion=""; intentos=0; palabra=""; encontradaLetra=false; if (op.equals("si")) { descripcion=""; intentos=0; palabra=""; encontradaLetra=false; “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 49
  • Proyecto Final de Programación I menu(); } else { JOptionPane.showMessageDialog(null, "Gracias por haber jugado" ); menu(); } } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 50
  • Proyecto Final de Programación I 10.7 Algoritmo que contiene el metodo main public static void main(String[] args) { menu(); } 10.8 Algoritmo que busca una letra en la palabra original public static void buscaLetraEnPalabra(char letra) { System.out.println(" Letra ingresada " + letra); for (int i = 0; i < palabraOriginal.length; i++) { if (letra == palabraOriginal[i]) { palabraAuxiliar[i] = letra; } } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 51
  • Proyecto Final de Programación I 10.9. Algortimo que compara la palabra orginal con la auxiliar public static void compararPalabras() { for (int i = 0; i < palabraOriginal.length; i++) { if ((int) palabraOriginal[i] != 0) { if (palabraOriginal[i] == palabraAuxiliar[i]) { encontradaLetra = true; } else { encontradaLetra = false; break; } } } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 52
  • Proyecto Final de Programación I 10.10 Algoritmo para guardar el puntaje y errores public static void guardar()throws IOException{ String nombre=JOptionPane.showInputDialog("Ingrese su nombre"); RandomAccessFile archivo=new RandomAccessFile("juego.txt","rw"); archivo.seek(archivo.length()); archivo.writeBytes(nombre+" "+ puntaje +" puntos y "+ errores + " erroresn"); archivo.close(); } 10.11 Algoritmo para presentar datos guardados public static void presentar(){ try{ System.out.println("************** Puntaje de Juegos ***************"); // Abrimos el archivo FileInputStream fstream = new FileInputStream("juego.txt"); // Creamos el objeto de entrada DataInputStream entrada = new DataInputStream(fstream); // Creamos el Buffer de Lectura BufferedReader buffer = new BufferedReader(new InputStreamReader(entrada)); String strLinea; // Leer el archivo linea por linea while ((strLinea = buffer.readLine()) != null) { // Imprimimos la línea por pantalla System.out.println (strLinea); } // Cerramos el archivo entrada.close(); }catch (Exception e){ //Catch de excepciones System.err.println("Ocurrio un error: " + e.getMessage()); } } “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 53
  • Proyecto Final de Programación I 9 Documentacion Fotográfica “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 54
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 55
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 56
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 57
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 58
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 59
  • Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 60