SlideShare una empresa de Scribd logo
1 de 61
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

Más contenido relacionado

La actualidad más candente

Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programaciónionurrutia
 
El Perceptron simple
El Perceptron simple El Perceptron simple
El Perceptron simple mcastillox
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaSaul Mamani
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Ianpierr Miranda
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION Ianthonypillajo
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simplesEcler Mamani Vilca
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de AprendizajeESCOM
 
Manuales de usuario y tecnico
Manuales de usuario y tecnicoManuales de usuario y tecnico
Manuales de usuario y tecnicoJose
 
Plantilla para realizar un manual de usuario de software
Plantilla para realizar un manual de usuario de software Plantilla para realizar un manual de usuario de software
Plantilla para realizar un manual de usuario de software Yaskelly Yedra
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupXochitl Saucedo Muñoz
 
Modelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkModelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkJose Torres Gonzales
 
Diseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoDiseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoRAUL CHIPANA LARICO
 
Manual técnico del software
Manual técnico del softwareManual técnico del software
Manual técnico del softwareLina Vega
 

La actualidad más candente (20)

Presentación trabajo programación
Presentación trabajo programaciónPresentación trabajo programación
Presentación trabajo programación
 
El Perceptron simple
El Perceptron simple El Perceptron simple
El Perceptron simple
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración Académica
 
Ejemplos de requerimientos
Ejemplos de requerimientosEjemplos de requerimientos
Ejemplos de requerimientos
 
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
Proyecto de Aplicación-Implementación de una INTRANET = Colegio Sagrado Coraz...
 
2.6 Pruebas Funcionales.pdf
2.6 Pruebas Funcionales.pdf2.6 Pruebas Funcionales.pdf
2.6 Pruebas Funcionales.pdf
 
CUESTIONARIO DE PROGRAMACION I
CUESTIONARIO DE PROGRAMACION  ICUESTIONARIO DE PROGRAMACION  I
CUESTIONARIO DE PROGRAMACION I
 
Preguntas sobre metodología RUP
Preguntas sobre metodología RUPPreguntas sobre metodología RUP
Preguntas sobre metodología RUP
 
Ejercicios condicionales simples
Ejercicios condicionales simplesEjercicios condicionales simples
Ejercicios condicionales simples
 
Agentes inteligentes
Agentes inteligentesAgentes inteligentes
Agentes inteligentes
 
REDES NEURONALES Algoritmos de Aprendizaje
REDES NEURONALES Algoritmos  de AprendizajeREDES NEURONALES Algoritmos  de Aprendizaje
REDES NEURONALES Algoritmos de Aprendizaje
 
Manuales de usuario y tecnico
Manuales de usuario y tecnicoManuales de usuario y tecnico
Manuales de usuario y tecnico
 
Plantilla para realizar un manual de usuario de software
Plantilla para realizar un manual de usuario de software Plantilla para realizar un manual de usuario de software
Plantilla para realizar un manual de usuario de software
 
Ejemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rupEjemplo plan de desarrollo de software rup
Ejemplo plan de desarrollo de software rup
 
Modelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónkModelo de casos de uso 2ª versiónk
Modelo de casos de uso 2ª versiónk
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Diseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academicoDiseño de-un-sistema-de-informacion-para-registro-academico
Diseño de-un-sistema-de-informacion-para-registro-academico
 
Manual técnico del software
Manual técnico del softwareManual técnico del software
Manual técnico del software
 
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO llPROYECTO FINAL ANÀLISIS Y DISEÑO ll
PROYECTO FINAL ANÀLISIS Y DISEÑO ll
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 

Destacado

Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencion
Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencionOrientacion andujar-pautas-y-actividades-para-trabajar-la-atencion
Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencionFATIMAMI
 
proceso atencion enfermeria "apendicectomia"
proceso atencion enfermeria "apendicectomia" proceso atencion enfermeria "apendicectomia"
proceso atencion enfermeria "apendicectomia" equipo4crm
 
Unidad didáctica de los colores
Unidad didáctica de los coloresUnidad didáctica de los colores
Unidad didáctica de los coloresereaseoane
 
Pasos para la elaboracion de la justificacion y los objetivos
Pasos para la elaboracion de la justificacion y los objetivosPasos para la elaboracion de la justificacion y los objetivos
Pasos para la elaboracion de la justificacion y los objetivospsicologavanessasoto
 

Destacado (7)

Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencion
Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencionOrientacion andujar-pautas-y-actividades-para-trabajar-la-atencion
Orientacion andujar-pautas-y-actividades-para-trabajar-la-atencion
 
Guía de Investigación
Guía de InvestigaciónGuía de Investigación
Guía de Investigación
 
Ejemplo de justificación
Ejemplo de justificaciónEjemplo de justificación
Ejemplo de justificación
 
Juegos para trabajar la atención
Juegos para trabajar la atenciónJuegos para trabajar la atención
Juegos para trabajar la atención
 
proceso atencion enfermeria "apendicectomia"
proceso atencion enfermeria "apendicectomia" proceso atencion enfermeria "apendicectomia"
proceso atencion enfermeria "apendicectomia"
 
Unidad didáctica de los colores
Unidad didáctica de los coloresUnidad didáctica de los colores
Unidad didáctica de los colores
 
Pasos para la elaboracion de la justificacion y los objetivos
Pasos para la elaboracion de la justificacion y los objetivosPasos para la elaboracion de la justificacion y los objetivos
Pasos para la elaboracion de la justificacion y los objetivos
 

Similar a El Ahorcado Educativo

PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...
PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...
PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...Janneth Cardozo
 
Proyecto jailir.
Proyecto jailir.Proyecto jailir.
Proyecto jailir.jailir
 
Proyecto tit@
Proyecto tit@Proyecto tit@
Proyecto tit@difemen
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integradoranypg05
 
Planificador de proyectos TIT@
Planificador de proyectos TIT@Planificador de proyectos TIT@
Planificador de proyectos TIT@jorge camargo
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integradoranypg05
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integradoranypg05
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integradoranypg05
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integradoranypg05
 
Trabajo práctico nº1 informática
Trabajo práctico nº1 informáticaTrabajo práctico nº1 informática
Trabajo práctico nº1 informáticaJuan Pablo Sosa
 

Similar a El Ahorcado Educativo (20)

3a parte proyecto
3a parte proyecto3a parte proyecto
3a parte proyecto
 
PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...
PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...
PORTAFOLIO DE TRABAJO-IMPACTO DE LAS TIC EN LA ENSEÑANZA-APRENDIZAJE DE LA LE...
 
Planificador de proyectos grupotitsexualidad
Planificador de proyectos grupotitsexualidadPlanificador de proyectos grupotitsexualidad
Planificador de proyectos grupotitsexualidad
 
ADA 2-B1-Tronquitos
ADA 2-B1-TronquitosADA 2-B1-Tronquitos
ADA 2-B1-Tronquitos
 
Proyecto jailir.
Proyecto jailir.Proyecto jailir.
Proyecto jailir.
 
Proyecto tit@
Proyecto tit@Proyecto tit@
Proyecto tit@
 
Portafolio 669-7
Portafolio 669-7Portafolio 669-7
Portafolio 669-7
 
Ada 2
Ada 2 Ada 2
Ada 2
 
Ada 2
Ada 2 Ada 2
Ada 2
 
Ada 2
Ada 2 Ada 2
Ada 2
 
Ada 2
Ada 2 Ada 2
Ada 2
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integrador
 
Planificador de proyectos TIT@
Planificador de proyectos TIT@Planificador de proyectos TIT@
Planificador de proyectos TIT@
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integrador
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integrador
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integrador
 
Proyecto integrador
Proyecto integradorProyecto integrador
Proyecto integrador
 
Portafolio
PortafolioPortafolio
Portafolio
 
Trabajo práctico nº1 informática
Trabajo práctico nº1 informáticaTrabajo práctico nº1 informática
Trabajo práctico nº1 informática
 
Ada 2 Equipo dinamita
Ada 2  Equipo dinamitaAda 2  Equipo dinamita
Ada 2 Equipo dinamita
 

El Ahorcado Educativo

  • 1. 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
  • 2. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 1
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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
  • 26. 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
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. 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
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. 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
  • 39. 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. 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
  • 46. 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
  • 47. 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
  • 48. 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
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. 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
  • 55. Proyecto Final de Programación I 9 Documentacion Fotográfica “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 54
  • 56. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 55
  • 57. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 56
  • 58. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 57
  • 59. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 58
  • 60. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 59
  • 61. Proyecto Final de Programación I “Aguilar Bryan” “Cabanilla Erwin” “Castillo Fernando” “Romero Jerry” Pag. # 60