Código Juego SIMON en Visual Basic 6.0 Código Juego SIMON en Visual Basic 6.

0

Primero que todo se explicara el método de juego; SIMON, es un juego en el cual debes repetir una secuencia de colores, la lógica utilizada es la siguiente, se tienen un array en el cual se guardara la secuencia a seguir, 4 botones para indicar la secuencia, 3 contadores de tiempo, uno para medir el tiempo entre color y los otros dos para medir el tiempo que dura el botón de otro color para la secuencia dada por el PC y la del jugador, esta es una breve explicación. Controles utilizados Para esta ocasión se utilizaran 3 contenedores ya que se guardaran los mejores 10 puntajes en un archivo plano. Form1 Borderstyle=3 Fixed dialog Startupposition=2 center screen Frminicio Frmjuego Visible=false Frmpuntos Visible=false Cmbjugar Cmbp Cmbsalir Cmbs Cmbnuevoj Cmbmenu Cmbsalirj Cmbmp Lblpuntaje List1 Tmrpausa Enable=false Interval=300 Tmrboton Ebnable=false Interval=0 Tmrcolor Enable=false Interval=150

-

-

-

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 1

Código Juego SIMON en Visual Basic 6.0 Los demás controles son para documentar el juego y las propiedades se adecuan al gusto de cada desarrollador, como lo son los tamaños, los colores etc.

El juego se vería de la siguiente forma, Inicio del juego,

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 2

Código Juego SIMON en Visual Basic 6.0 Jugando,

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 3

Código Juego SIMON en Visual Basic 6.0 Puntajes,

En el archivo adjunto encontraran los sonidos utilizados para el juego, el archivo plano para los puntajes se creara el ejecutarse el juego, datos.dat. Código Variablea a utilizar 'libreria para cargar los sonidos Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long

varibles para guardar puntos Private Type ScoreReg Nom As String * 25 Points As Integer End Type Dim Score(9) As ScoreReg

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 4

Código Juego SIMON en Visual Basic 6.0 Otras variables Dim velocidad As Integer ' tiempo entre cada boton Dim nivel As Integer ' cantidad de secuencias Dim colores(3000) As Integer ' guardar las secuendia se pone un valor grande Dim color As Byte ' recorrer posiciones a comparar pc Dim cambio As Byte 'indica inicio o final de cambio de cambio de colore pc Dim clicks As Integer ' recorrer posiciiones a comparar pc Dim colorj As Byte ' color seleccionado por el jugador a comparar Dim mensaje As String Dim puntaje As Integer 'puntos obtenidos Inicio del formulario Private Sub Form_Load() ' se carga el archivo plano o secrea si no existe Open App.Path & "\datos.dat" For Binary As #1 If LOF(1) < 150 Then c = 10 For i = 0 To 9 Score(i).Nom = "Anonimo" Score(i).Points = c c=c-1 Next ViewScore Else Get #1, , Score End If Close #1 ViewScore SaveScore Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 5

Código Juego SIMON en Visual Basic 6.0 End Sub Procedimientos para cargar , ver y ordenar los puntajes Sub ViewScore() List1.Clear Dim var As String var = "" For i = 0 To 9 var = " " & Str(i + 1) + ".- " & Score(i).Nom & Str(Score(i).Points) List1.AddItem (var) Next i End Sub

Sub SaveScore() Open App.Path & "\datos.dat" For Binary As #1 Put #1, , Score Close #1 End Sub Sub OrdenarScores() Dim sw As Integer Dim aux As Integer sw = 0 Do Until sw = 1 sw = 1 For X = 0 To 8 If Score(X).Points < Score(X + 1).Points Then sw = 0 aux = Score(X).Points Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 6

Código Juego SIMON en Visual Basic 6.0 Score(X).Points = Score(X + 1).Points Score(X + 1).Points = aux aux2 = Score(X).Nom Score(X).Nom = Score(X + 1).Nom Score(X + 1).Nom = aux2 End If Next Loop ViewScore End Sub

Procedimiento, mensaje para salir del juego Sub terminar() menzaje = MsgBox("Desea salir del juego ", vbYesNo, "Simon") If menzaje = 6 Then End Else ' no se sale End If End Sub Botones salida los cuales llaman al procedimiento terminar Private Sub cmbsalir_Click() terminar End Sub

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 7

Código Juego SIMON en Visual Basic 6.0 Private Sub cmbsalirj_Click() terminar End Sub Pasar a menú desde el juego se ocultan los contenedores para evitar usar mas formularios y se inhabilitan los contadores de tiempo Private Sub cmbmenu_Click() ' para evitar algun blucke o error Me.tmrboton.Enabled = False Me.tmrboton.Enabled = False Me.tmrpausa.Enabled = False Me.frminicio.Visible = True Me.frmjuego.Visible = False End Sub

Iniciar nuevo juego desde el juego se ocultan los contenedores para evitar usar mas formularios y se inhabilitan los contadores de tiempo Private Sub cmbnuevoj_Click() ' para evitar algun blucke o error Me.tmrboton.Enabled = False Me.tmrboton.Enabled = False Me.tmrpausa.Enabled = False jugar End Sub Pasar al menú desde la puntuación se ocultan los contenedores para evitar usar mas formularios Private Sub cmbmp_Click() Me.frmpuntos.Visible = False Me.frminicio.Visible = True Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 8

Código Juego SIMON en Visual Basic 6.0 End Sub Pasar a la puntuación desde el menú se ocultan los contenedores para evitar usar mas formularios Private Sub cmbp_Click() Me.frminicio.Visible = False Me.frmpuntos.Visible = True End Sub Botón jugar menú se ocultan los contenedores para evitar usar mas formularios Private Sub cmbjugar_Click() Me.frminicio.Visible = False Me.frmjuego.Visible = True jugar End Sub Procedimientos utilizados durante el juego Sub jugar() ' lo utilizo de estamanera por si se requiere llamar el procedimiento por aparte inicio End Sub

Sub inicio() puntaje = 0 ‘ el puntaje aumenta cada que se repite la secuencia correctamente Me.lblpuntaje.Caption = 0 nivel = 0 velocidad = 1000 clicks = 0 cambio = 0 color = 0 Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 9

Código Juego SIMON en Visual Basic 6.0 botonfalso Me.tmrboton.Interval = velocidad Me.tmrboton.Enabled = True End Sub

Sub botonfalso() ‘se inhabilitan los botones For j = 0 To 3 Me.cmbs(j).Enabled = False Next j End Sub Control de tiempo Private Sub tmrboton_Timer() Randomize aleatorio = Int(Rnd * 4) colores(nivel) = aleatorio ‘ el arrar botones se controla con sus respectivos índices del 0 al 3 Me.tmrpausa.Enabled = True Me.tmrboton.Enabled = False End Sub

Private Sub tmrpausa_Timer() If cambio = 0 Then ‘ cambio indica si el botón esta en color norma o esta seleccionado cuando esta en 1 botonactivo colores(color) ‘cambio de color para el botón seleccionado cambio = 1 ‘ se pasa a 1 para que vuelva a cambiar a estado normal Else coloresorigen If color = nivel Then ' termina la secuencia y el jugador ingresa la secuencia Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 10

Código Juego SIMON en Visual Basic 6.0 color = 0 Me.tmrpausa.Enabled = False botonestrue Else color = color + 1 ‘la secuencia no termia de ser mostrada End If cambio = 0 End If End Sub

Sub coloresorigen() ‘ colores estándar para los botones Me.cmbs(0).BackColor = &H8080FF Me.cmbs(1).BackColor = &HFFFF80 Me.cmbs(2).BackColor = &H80FFFF Me.cmbs(3).BackColor = &H80FF80 End Sub

Sub botonestrue() ‘ se habilitan los botones para que el jugador ingrese la secuencia For j = 0 To 3 Me.cmbs(j).Enabled = True Next j End Sub Botones secuencia el jugador ingresa la secuencia Private Sub cmbs_Click(Index As Integer) Botonfalso ‘ se deshabilitan los botones para verificar si la selección es correcta colorj = Index Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com
Página 11

Código Juego SIMON en Visual Basic 6.0 botonactivo colorj Me.tmrcolor.Enabled = True ‘ se inicia contador botón con color cambiado End Sub Contador tiempo botón seleccionado rivate Sub tmrcolor_Timer() If cambio = 0 Then cambio = 1 Else coloresorigen If colores(clicks) = colorj Then ‘ cuando el jugador termina de ingresar la secuencia If clicks = nivel Then ‘ verifica si la selección es correcta puntaje = puntaje + 1 Me.lblpuntaje.Caption = puntaje botonfalso clicks = 0 Me.tmrcolor.Enabled = False Cargarnivel ‘ carga el nuevo nivel Else ‘ continua ingresando la secuencia botonestrue clicks = clicks + 1 Me.tmrcolor.Enabled = False End If cambio = 0 Else Final ‘termina el juego y se guarda el puntaje Me.tmrcolor.Enabled = False

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 12

Código Juego SIMON en Visual Basic 6.0 Me.frmjuego.Visible = False Me.frmpuntos.Visible = True End If End If End Sub Procedimiento final Sub final() If Score(9).Points < puntaje Then Score(9).Nom = InputBox("En hora buen,tienes uno de las mejores 10 puntajes, escribe tu nombre : ", "Concentrese") Score(9).Points = puntaje OrdenarScores SaveScore Else MsgBox "No superaste a ningun otro jugador" End If End Sub Procedimiento botón activo Sub botonactivo(valor) ‘recibe el valor desde la selección del jugador o la secuencia del pc para mostrar botón seleccionado Select Case valor Case 0 Me.cmbs(0).BackColor = &HC0& PlaySound App.Path & "\somido0.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC Case 1 Me.cmbs(1).BackColor = &H808000

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 13

Código Juego SIMON en Visual Basic 6.0 PlaySound App.Path & "\somido1.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC Case 2 Me.cmbs(2).BackColor = &HFFFF& PlaySound App.Path & "\somido2.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC Case 3 Me.cmbs(3).BackColor = &H8000& PlaySound App.Path & "\somido3.wav", ByVal 0&, SND_FILENAME Or SND_ASYNC End Select End Sub Pasar al siguiente nivel Sub cargarnivel() nivel = nivel + 1 If velocidad = 50 Then 'limite velocidad Else velocidad = velocidad - 50 End If Me.tmrboton.Interval = velocidad Me.tmrboton.Enabled = True End Sub PD1. El código utilizado ni la lógica son las más óptimas para este juego y el código puede ser modificado por el lector. PD2. Disculpas por la mala ortografía o redacción del documento.

Desarrollado por JoxeDuKe12 --- www.quedese.110mb.com

Página 14

Sign up to vote on this title
UsefulNot useful