FACULTAD DE INGENIERÍA
UNIVERSIDAD ANÁHUAC MÉXICO NORTE
Proyecto Final: Juego de la Oca
Materia: Algoritmos y Programación
Profesora: Mayra Mora
Nombre: Nadia Paloma Morfín García
Expediente: 00475454
Carrera: Ingeniería Ambiental
Fecha de Entrega: 19 de Mayo del 2023
Usuario:a00475454
Password:n5454pmg
Nombre del proyecto: Juego 0.0.1
El Juego De La Oca
Objetivo:Realizar un código en gambas que muestre con funcionamiento el conocido
juego de la oca, por medio de graficos, arreglos, subrutinas y todos los elementos
aprendidos en clase.
Planteamiento del problema: El juego a realizar se llama “El juego de la oca”, este se
juega de entre 2 a 6 participantes, cada participante deberá tirar los dados y luego, mover su
ficha sobre el tablero según el número obtenido al lanzar los dados. Si cae en alguna de las
casillas especiales, podrá avanzar a la siguiente casilla del mismo tipo, perder turnos,
empezar de 0 o volver a tirar.
Códigos e impresiones de pantalla
Al iniciar el juego, la pantalla principal se despliega.
Pantalla inicial
Nombre del Form:Fmain.form
' Gambas class file
Public Sub _new()
End
Public Sub Form_Open()
Form.Width = 1777
Form.Height = 1000
End
Public Sub Button2_Click()
Instruccion.Show
End
Public Sub Button1_Click()
Jugadores.show
FMain.hide
End
Public Sub PictureBox1_MouseDown()
End
Public Sub Button3_Click()
Quit
End
Al dar click al boton de instrucciones, este form se despliega
Instrucciones
Nombre:Instrucción.form
' Gambas class file
Public Sub Button1_Click()
Instruccion.Close
End
Public Sub Button2_Click()
Casillas.Show
End
Public Sub PictureBox1_MouseDown()
End
Al dar click al boton de casillas especiales, este form se despliega
Casillas especiales
Nombre:Casillas.form
' Gambas class file
Public Sub Button1_Click()
Casillas.Close
End
Damos click al botón “regresar para jugar”, el cuál cierra el form de las
casillas especiales, lego damos click a “regresar” para volver al menú principal,
en el cuál presionaremos en botón”jugar”.
Cuando damos click en “Jugar aparece la pantalla para elegir el número de
jugadores
Número de jugadores
Nombre:Jugadores.form
' Gambas class file
Public num As Byte
Public Sub Form_Open()
End
Public Sub juga2_Click()
Jugadores.Hide
selfiinstrucciones.show
num = 2
End
Public Sub juga3_Click()
Jugadores.Hide
selfiinstrucciones.show
num = 3
End
Public Sub juga4_Click()
Jugadores.Hide
selfiinstrucciones.show
num = 4
End
Public Sub juga5_Click()
Jugadores.Hide
selfiinstrucciones.show
num = 5
End
Public Sub juga6_Click()
Jugadores.Hide
selfiinstrucciones.show
num = 6
End
Public Sub Button1_Click()
Jugadores.Hide
FMain.show
End
Luego nos llevará al formulario con las instrucciones para escoger un personaje
Instrucciones fichas
Nombre:selfiinstrucciones.form
' Gambas class file
Public Sub Button_Click()
selfiinstrucciones.hide
Tablero.show
End
Al abrir el tablero, deberemos seleccionar nuestro personaje dando click a los
botones del tablero, los cuales abriran el form de los personajes
Imagen tablero con botones
Personajes
Nombre:elegirficha.form
' Gambas class file
Public Sub form_Open()
End
Public Sub PictureBox2_MouseDown()
Me.Close(1)
End
Public Sub PictureBox1_MouseDown()
Me.Close(2)
End
Public Sub PictureBox3_MouseDown()
Me.Close(3)
End
Public Sub PictureBox4_MouseDown()
Me.Close(4)
End
Public Sub PictureBox5_MouseDown()
Me.Close(5)
End
Public Sub PictureBox7_MouseDown()
Me.Close(6)
End
Una vez que escojamos las fichas, se podrá jugar
Tablero
Nombre:Tablero.form
En cuánto el jugador presione el botón “¡Tirar el dado!”, la animación del dado
aparecerá
' Gambas class file
Public paro As Boolean
Public i As Integer
Public coordx As New Integer[68]
Public coordy As New Integer[68]
x As Byte
Public Casillas As New Byte[6]
Public anterior As New Byte[6]
Participantes As New Object[6]
'
Public Sub form_open()
If Jugadores.num = 2 Then
button3.show
Button4.show
button5.Hide
button6.Hide
button7.Hide
button8.hide
Else If Jugadores.num = 3 Then
button3.show
Button4.show
button5.show
button6.Hide
button7.Hide
button8.hide
Else If Jugadores.num = 4
button3.show
Button4.show
button5.show
button6.show
button7.Hide
button8.hide
Else If Jugadores.num = 5
button3.show
Button4.show
button5.show
button6.show
button7.show
button8.hide
Else If Jugadores.num = 6
button3.show
Button4.show
button5.show
button6.show
button7.show
button8.show
Endif
Participantes[0] = j1jpeg
Participantes[1] = j2jpeg
Participantes[2] = j3jpeg
Participantes[3] = j4jpeg
Participantes[4] = j5jpeg
Participantes[5] = j6jpeg
Coordenadas()
End
Public Sub Button3_Click() 'Botones de jugadores (Elegir Ficha)
Select elegirficha.ShowDialog()
Case 1
j1jpeg.Picture = Picture["j1.jpeg"]
Case 2
j1jpeg.picture = Picture["j4.jpeg"]
Case 3
j1jpeg.picture = Picture["j2.jpeg"]
Case 4
j1jpeg.picture = Picture["j3.jpeg"]
Case 5
j1jpeg.picture = Picture["j5.jpeg"]
Case 6
j1jpeg.picture = Picture["j6.jpeg"]
End Select
button3.hide
End
Public Sub Button4_Click()
Select elegirficha.ShowDialog()
Case 1
j2jpeg.Picture = Picture["j1.jpeg"]
Case 2
j2jpeg.picture = Picture["j4.jpeg"]
Case 3
j2jpeg.picture = Picture["j2.jpeg"]
Case 4
j2jpeg.picture = Picture["j3.jpeg"]
Case 5
j2jpeg.picture = Picture["j5.jpeg"]
Case 6
j2jpeg.picture = Picture["j6.jpeg"]
End Select
Button4.hide
End
Public Sub Button5_Click()
Select elegirficha.ShowDialog()
Case 1
j3jpeg.Picture = Picture["j1.jpeg"]
Case 2
j3jpeg.picture = Picture["j4.jpeg"]
Case 3
j3jpeg.picture = Picture["j2.jpeg"]
Case 4
j3jpeg.picture = Picture["j3.jpeg"]
Case 5
j3jpeg.picture = Picture["j5.jpeg"]
Case 6
j3jpeg.picture = Picture["j6.jpeg"]
End Select
button5.hide
End
Public Sub Button6_Click()
Select elegirficha.ShowDialog()
Case 1
j4jpeg.Picture = Picture["j1.jpeg"]
Case 2
j4jpeg.picture = Picture["j4.jpeg"]
Case 3
j4jpeg.picture = Picture["j2.jpeg"]
Case 4
j4jpeg.picture = Picture["j3.jpeg"]
Case 5
j4jpeg.picture = Picture["j5.jpeg"]
Case 6
j4jpeg.picture = Picture["j6.jpeg"]
End Select
button6.hide
End
Public Sub Button7_Click()
Select elegirficha.ShowDialog()
Case 1
j5jpeg.Picture = Picture["j1.jpeg"]
Case 2
j5jpeg.picture = Picture["j4.jpeg"]
Case 3
j5jpeg.picture = Picture["j2.jpeg"]
Case 4
j5jpeg.picture = Picture["j3.jpeg"]
Case 5
j5jpeg.picture = Picture["j5.jpeg"]
Case 6
j5jpeg.picture = Picture["j6.jpeg"]
End Select
button7.hide
End
Public Sub Button8_Click() 'Botones de jugadores (Elegir Ficha)
Select elegirficha.ShowDialog()
Case 1
j6jpeg.Picture = Picture["j1.jpeg"]
Case 2
j6jpeg.picture = Picture["j4.jpeg"]
Case 3
j6jpeg.picture = Picture["j2.jpeg"]
Case 4
j6jpeg.picture = Picture["j3.jpeg"]
Case 5
j6jpeg.picture = Picture["j5.jpeg"]
Case 6
j6jpeg.picture = Picture["j6.jpeg"]
End Select
button8.hide
End
Public Sub Button1_Click() 'Tira el dado
Dim dado As New String[6]
Dim y As Byte
dado[0] = "dado1.jpg"
dado[1] = "dado2.jpg"
dado[2] = "dado3.jpg"
dado[3] = "dado4.jpg"
dado[4] = "dado5.jpg"
dado[5] = "dado6.jpg"
paro = False
If x >= Jugadores.num
x=0
Endif
If x <= Jugadores.num
Repeat
y = Rnd(0, 6)
label1.Text = y
PictureBox2.Picture = Picture[dado[y]]
Wait 0.2
Until paro = True
anterior[x] = Casillas[x]
Casillas[x] = Casillas[x] + y + 1
Print "El jugador "; x + 1; " avanzara "; y + 1; " casillas hasta llegar a ";
Casillas[x]
especial()
mover()
If Casillas[x] = 62 Then
ganador.show
Endif
Inc x
End If
End
Public Sub Button2_Click() 'Alto
paro = True
End
Public Sub Coordenadas()
' Coordenadas
coordx[0] = 392
coordy[0] = 371
coordx[1] = 462
coordy[1] = 385
coordx[2] = 511
coordy[2] = 385
coordx[3] = 567
coordy[3] = 385
coordx[4] = 623
coordy[4] = 385
coordx[5] = 679
coordy[5] = 385
coordx[6] = 728
coordy[6] = 385
coordx[7] = 777
coordy[7] = 385
coordx[8] = 819
coordy[8] = 364
coordx[9] = 798
coordy[9] = 329
coordx[10] = 798
coordy[10] = 287
coordx[11] = 798
coordy[11] = 252
coordx[12] = 798
coordy[12] = 224
coordx[13] = 798
coordy[13] = 189
coordx[14] = 798
coordy[14] = 154
coordx[15] = 798
coordy[15] = 119
coordx[16] = 798
coordy[16] = 84
coordx[17] = 798
coordy[17] = 49
coordx[18] = 763
coordy[18] = 28
coordx[19] = 714
coordy[19] = 35
coordx[20] = 672
coordy[20] = 35
coordx[21] = 623
coordy[21] = 35
coordx[22] = 574
coordy[22] = 35
coordx[23] = 518
coordy[23] = 35
coordx[24] = 462
coordy[24] = 35
coordx[25] = 413
coordy[25] = 35
coordx[26] = 371
coordy[26] = 35
coordx[27] = 315
coordy[27] = 28
coordx[28] = 266
coordy[28] = 49
coordx[29] = 266
coordy[29] = 84
coordx[30] = 266
coordy[30] = 119
coordx[31] = 266
coordy[31] = 154
coordx[32] = 266
coordy[32] = 189
coordx[33] = 294
coordy[33] = 224
coordx[34] = 266
coordy[34] = 259
coordx[35] = 259
coordy[35] = 294
coordx[36] = 308
coordy[36] = 315
coordx[37] = 357
coordy[37] = 315
coordx[38] = 413
coordy[38] = 315
coordx[39] = 462
coordy[39] = 315
coordx[40] = 518
coordy[40] = 315
coordx[41] = 567
coordy[41] = 315
coordx[42] = 616
coordy[42] = 315
coordx[43] = 672
coordy[43] = 315
coordx[44] = 707
coordy[44] = 294
coordx[45] = 707
coordy[45] = 259
coordx[46] = 707
coordy[46] = 217
coordx[47] = 707
coordy[47] = 189
coordx[48] = 707
coordy[48] = 154
coordx[49] = 707
coordy[49] = 119
coordx[50] = 665
coordy[50] = 98
coordx[51] = 623
coordy[51] = 98
coordx[52] = 574
coordy[52] = 98
coordx[53] = 518
coordy[53] = 98
coordx[54] = 476
coordy[54] = 98
coordx[55] = 427
coordy[55] = 98
coordx[56] = 378
coordy[56] = 119
coordx[57] = 364
coordy[57] = 154
coordx[58] = 364
coordy[58] = 189
coordx[59] = 378
coordy[59] = 224
coordx[60] = 420
coordy[60] = 252
coordx[61] = 469
coordy[61] = 238
coordx[62] = 560
coordy[62] = 196
coordx[63] = 469
coordy[63] = 161
coordx[64] = 511
coordy[64] = 161
coordx[65] = 553
coordy[65] = 161
coordx[66] = 595
coordy[66] = 161
coordx[67] = 623
coordy[67] = 161
End
'
Public Sub mover()
Dim a As Byte
For a = anterior[x] To Casillas[x]
Participantes[x].x = coordx[a]
Participantes[x].y = coordy[a]
Wait 0.4
Next
End
Public Sub especial()
Select Casillas[x]
Case 4
Casillas[x] = 8
Case 5
Casillas[x] = 11
Case 8
Casillas[x] = 13
Case 11
Casillas[x] = 5
Case 13
Casillas[x] = 17
Case 17
Casillas[x] = 22
Inc x
Case 22
Casillas[x] = 26
Case 25
Casillas[x] = 52
Case 31
Casillas[x] = 35
Case 35
Casillas[x] = 40
Case 41
Casillas[x] = 29
Case 44
Casillas[x] = 49
Case 49
Casillas[X] = 53
Case 52
Casillas[x] = 25
Case 53
Casillas[x] = 58
Case 57
Casillas[X] = 0
Case 58
Casillas[X] = 62
Case 63
Casillas[x] = 61
Case 64
Casillas[x] = 60
Case 65
Casillas[x] = 59
Case 66
Casillas[x] = 58
Case 67
Casillas[x] = 57
Case 68
Casillas[x] = 56
End Select
End
Cuando un jugador llegue a la casilla 63 se desplegará el form del ganador
Ganador
Nombre:ganador.form
' Gambas class file
Public Sub Button1_Click()
Quit
End
Conclusiones:
Personalmente este proyecto fue un reto, ya que no me considero muy hábil
para la materia, y este proyecto necesitaba demostrar todos los conocimientos
adquiridos en clase, por otro lado, me encuentro muy contenta de haberlo
realizado, ya que considero que aumentó mi capacidad de resolución de
problemas con algoritmos y códigos para programar.
Bibliografía
Lab anahuac (s.f) https://lab.anahuac.mx/~hselley/ayp/gambas.html