Algoritmos y Programación
Enviado por Hugo Efrain Castellanos • 27 de Junio de 2019 • Práctica o problema • 1.144 Palabras (5 Páginas) • 196 Visitas
[pic 1]
Universidad Anáhuac México Norte
Facultad de Ingeniería
Algoritmos y Programación
Grupo B
Proyecto final – Mastermind
Hugo Efraín Castellanos Alcántara
00318759
Noviembre 01, 2017
Objetivo
Aplicar todos los conocimientos adquiridos durante el curso de algoritmos y programación a un proyecto integrador.
Datos del proyecto
Cuenta: a00318759
Password: n0t3l4s4b35
Nombre del proyecto: Proyecto_1
Correo: hugocastellanos18@hotmail.com
Planteamiento del problema
El Master Mind es un juego de ingenio que está pensado solamente para dos personas y se juega con un tablero realizado expresamente para él.
En dicho tablero existe un número de agujeros o intentos que puede variar aunque normalmente consta de diez filas de cuatro agujeros (donde se colocan las fichas de color) acompañados por cuatro agujeros suplementarios donde se colocan las clavijas blancas o negras según corresponda.
A su vez el tablero también permite colocar el código secreto de colores aunque de tal forma que solamente es visible para la persona que propone el código.
El jugador que propone el código (de ahora en adelante lo llamaremos "codificador") debe poner en secreto cuatro clavijas sin que el otro jugador lo vea (a este lo definiremos como "descodificador"). Para ello puede realizar la combinación que más desee, así como también es permitido usar dos o más clavijas de un mismo color. Con este sistema se calcula que existen hasta 1.296 combinaciones distintas.
El objetivo del juego está en que el descodificador deberá repetir exactamente la misma secuencia de colores que ha prepuesto el codificador. Aunque a priori ello puede parecer fácil, en realidad se trata de una auténtica batalla de lógica e ingenio entre ambas partes.
Cada vez que el descodificador inserta una fila con clavijas de colores, el codificador insertará en los agujeros secundarios una serie de clavijas negras y/o blancas según el siguiente código:
- Clavija negra: La clavija insertada tiene el color correcto y se ha situado en el sitio adecuado.
- Clavija blanca: Aunque la clavija insertada tiene el color correcto, esta se ha insertada en una posición inadecuada.
- Agujero sin clavija: No se ha acertado el color de la clavija.
El juego es ganado por el jugador que necesita menos intentos a la hora de descubrir el código de su rival.
Por último comentar que una de las variantes más usuales de este reglamento es establecer un tiempo límite para insertar las clavijas en cada hilera, lo cual añade emoción al juego así como rapidez.
Código
' Gambas class file
Public Sub Form_Open()
Me.Background = &00FFFF&
End
Public Sub Button1_Click()
Juego.Show()
End
Public Sub Button2_Click()
FMain.Close()
Message.Info("Gracias por usar este juego")
End
Public Sub Button3_Click()
instrucciones.Show()
End
' Gambas class file
Public Sub Form_Open()
p1.tag = "c1.png"
p1.Picture = Picture["c1.png"]
p2.tag = "c2.png"
p2.Picture = Picture["c2.png"]
p3.tag = "c3.png"
p3.Picture = Picture["c3.png"]
p4.tag = "c4.png"
p4.Picture = Picture["c4.png"]
p5.tag = "c5.png"
p5.Picture = Picture["c5.png"]
p6.tag = "c6.png"
p6.Picture = Picture["c6.png"]
End
Public Sub p1_MouseDrag()
Drag.icon = Me.Picture
p1.Drag(p1.tag)
End
Public Sub p2_MouseDrag()
Drag.icon = Me.Picture
p2.Drag(p2.tag)
End
Public Sub p3_MouseDrag()
Drag.icon = Me.Picture
p3.Drag(p3.tag)
End
Public Sub p4_MouseDrag()
Drag.icon = Me.Picture
p4.Drag(p4.tag)
End
Public Sub p5_MouseDrag()
Drag.icon = Me.Picture
p5.Drag(p5.tag)
End
Public Sub p6_MouseDrag()
Drag.icon = Me.Picture
p6.Drag(p6.tag)
End
Public Sub p7_Drop()
p7.Picture = Picture[Drag.data]
End
Public Sub p8_Drop()
p8.Picture = Picture[Drag.data]
End
Public Sub p9_Drop()
p9.Picture = Picture[Drag.data]
End
Public Sub p10_Drop()
p10.Picture = Picture[Drag.data]
End
Public Sub p11_Drop()
p11.Picture = Picture[Drag.data]
End
Public Sub p12_Drop()
p12.Picture = Picture[Drag.data]
End
Public Sub p13_Drop()
p13.Picture = Picture[Drag.data]
End
Public Sub p14_Drop()
p14.Picture = Picture[Drag.data]
End
Public Sub p15_Drop()
p15.Picture = Picture[Drag.data]
End
Public Sub p16_Drop()
p16.Picture = Picture[Drag.data]
End
Public Sub p17_Drop()
p17.Picture = Picture[Drag.data]
End
Public Sub p18_Drop()
p18.Picture = Picture[Drag.data]
End
Public Sub p19_Drop()
p19.Picture = Picture[Drag.data]
End
Public Sub p20_Drop()
p20.Picture = Picture[Drag.data]
End
Public Sub p21_Drop()
p21.Picture = Picture[Drag.data]
End
Public Sub p22_Drop()
p22.Picture = Picture[Drag.data]
End
Public Sub p23_Drop()
p23.Picture = Picture[Drag.data]
End
Public Sub p24_Drop()
p24.Picture = Picture[Drag.data]
End
Public Sub p25_Drop()
p25.Picture = Picture[Drag.data]
End
Public Sub p26_Drop()
...