Академический Документы
Профессиональный Документы
Культура Документы
Programacin I
Tema: SUDOKU
Integrantes:
Programacin I
Tema: SUDOKU
Objetivos:
Justificacin
El juego est diseado para perfeccionar aptitudes y actitudes, que son partes
muy importantes en un ser humano, adems de capacitar al individuo en la
bsqueda de soluciones, donde quiera que est para hacer de este mundo ms
productivo en el sentido cientfico y sea capaz de alcanzar cualquier meta
aplicando las capacidades desarrolladas o formadas con la prctica constante
de ciertas actividades que ayuden al pensamiento.
Disear estrategias que despierten el inters por las matemticas, que sean
capaces de seducir a los estudiantes en torno a este conocimiento se convierte
en una excelente oportunidad para avivar en ellos la habilidad de aprender a
aprender, experimentar con varias posibilidades, en el sentido en el que se
fomente su capacidad de anlisis, de observacin, su sentido crtico-lgico, su
creatividad y su afectividad. Si se logra cautivar a los estudiantes con esta rea
del conocimiento, se obtendrn mejores resultados y se estar contribuyendo a
que los sentimientos de fracaso en adultos, jvenes y nios se disminuyan,
fortaleciendo su mentalidad haciendo de ellos seres mucho ms asertivos, ms
seguros de sus propias decisiones de una manera eficaz y veloz.
Ecuaciones
Y = Y + Q * t (disminuye la posicin)
Y=variable de la posicin en y
Q= variable del caudal, da la velocidad adecuada para el llenado
t = variable del tiempo
X=X+1
X= (variable de la posicin en x)
Funciones:
Resultados Esperados
Se:
Codificacin
Form2
Private Sub Command1_Click()
Form3.Show
form2.Hide
End Sub
Form3
Private Sub Image1_Click()
Form4.Show
Form3.Hide
End Sub
Form4
Private Sub Command1_Click()
Form1.Show
Form4.Hide
End Sub
Dim Q As Integer
Dim X As Integer
Dim x1 As Integer
Dim Y As Integer
Dim h As Integer
Dim y1 As Integer
Dim t As Integer
Randomize
GenerarRndNumber = Int((limitesup - limiteinf + 1) * Rnd + limiteinf)
End Function
a = GenerarRndNumber((X), (Y))
b = GenerarRndNumber((X), (Y))
c = GenerarRndNumber((X), (Y))
d = GenerarRndNumber((X), (Y))
e = GenerarRndNumber((X), (Y))
End Function
Sub Njuego_Click()
h = Picture1.Height
t=0
Timer1.Interval = 0
Picture1.Refresh
a0 = Array(7, 8, 6, 1, 5, 4, 3, 2, 9, 5, 9, 2, 8, 3, 7, 6, 4, 1, 4, 1, 3, 9, 2, 6, 8, 5, 7,
2, 7, 8, 9, 1, 5, 6, 4, 3, 1, 6, 5, 3, 8, 4, 2, 7, 9, 3, 4, 9, 6, 7, 2, 1, 8, 5, 5, 3, 2, 4, 6,
1, 8, 9, 7, 9, 1, 8, 7, 2, 3, 4, 5, 6, 7, 6, 4, 5, 9, 8, 2, 3, 1)
a1 = Array(2, 6, 1, 5, 9, 3, 4, 7, 8, 4, 3, 5, 8, 2, 7, 6, 1, 9, 7, 8, 9, 1, 6, 4, 5, 3, 2,
3, 8, 5, 9, 4, 7, 6, 1, 2, 2, 9, 1, 5, 8, 6, 3, 7, 4, 4, 7, 6, 3, 2, 1, 8, 9, 5, 8, 3, 4, 7, 5,
9, 1, 2, 6, 9, 5, 2, 1, 6, 3, 7, 4, 8, 6, 1, 7, 2, 4, 8, 9, 5, 3)
a2 = Array(8, 1, 2, 6, 7, 5, 4, 3, 9, 7, 5, 3, 4, 2, 9, 1, 8, 6, 6, 9, 4, 8, 3, 1, 7, 5, 2,
9, 4, 6, 1, 5, 3, 7, 2, 8, 8, 1, 5, 6, 7, 2, 9, 3, 4, 2, 7, 3, 4, 8, 9, 5, 1, 6, 5, 6, 4, 2, 9,
1, 3, 8, 7, 3, 9, 7, 5, 6, 8, 2, 4, 1, 1, 2, 8, 3, 4, 7, 9, 6, 5)
a = GenerarRndNumber(0, 4)
truco.Text = a
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
Text(i).Text = ""
Text(i).Text = a(i)
Next i
For i = 0 To 8
X = b(i)
Y = c(i)
inicio = Llenar(X, Y)
Next i
For i = 0 To 80
If Text(i).Text = "" Then
Text(i).Enabled = True
Else
Text(i).Enabled = False
End If
Next i
Timer1.Interval = 100
End Sub
Una vez iniciado el timer si alguno de los option esta activado el picture1
se comienza a llenar a una velocidad dependiendo de la dificultad
escogida y una vez llenado el picture1 sale un mensaje y despus se
revela la solucin del juego.
Select Case h
Case Is < 0
Timer1.Interval = 0
MsgBox "GAME OVER"
a0 = Array(7, 8, 6, 1, 5, 4, 3, 2, 9, 5, 9, 2, 8, 3, 7, 6, 4, 1, 4, 1, 3, 9, 2, 6, 8,
5, 7, 2, 7, 8, 9, 1, 5, 6, 4, 3, 1, 6, 5, 3, 8, 4, 2, 7, 9, 3, 4, 9, 6, 7, 2, 1, 8, 5, 5, 3, 2,
4, 6, 1, 8, 9, 7, 9, 1, 8, 7, 2, 3, 4, 5, 6, 7, 6, 4, 5, 9, 8, 2, 3, 1)
a1 = Array(2, 6, 1, 5, 9, 3, 4, 7, 8, 4, 3, 5, 8, 2, 7, 6, 1, 9, 7, 8, 9, 1, 6, 4, 5,
3, 2, 3, 8, 5, 9, 4, 7, 6, 1, 2, 2, 9, 1, 5, 8, 6, 3, 7, 4, 4, 7, 6, 3, 2, 1, 8, 9, 5, 8, 3, 4,
7, 5, 9, 1, 2, 6, 9, 5, 2, 1, 6, 3, 7, 4, 8, 6, 1, 7, 2, 4, 8, 9, 5, 3)
a2 = Array(8, 1, 2, 6, 7, 5, 4, 3, 9, 7, 5, 3, 4, 2, 9, 1, 8, 6, 6, 9, 4, 8, 3, 1, 7,
5, 2, 9, 4, 6, 1, 5, 3, 7, 2, 8, 8, 1, 5, 6, 7, 2, 9, 3, 4, 2, 7, 3, 4, 8, 9, 5, 1, 6, 5, 6, 4,
2, 9, 1, 3, 8, 7, 3, 9, 7, 5, 6, 8, 2, 4, 1, 1, 2, 8, 3, 4, 7, 9, 6, 5)
a = truco.Text
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
Text(i).Text = ""
Text(i).Text = a(i)
Next i
End Select
End If
a0 = Array(7, 8, 6, 1, 5, 4, 3, 2, 9, 5, 9, 2, 8, 3, 7, 6, 4, 1, 4, 1, 3, 9, 2, 6,
8, 5, 7, 2, 7, 8, 9, 1, 5, 6, 4, 3, 1, 6, 5, 3, 8, 4, 2, 7, 9, 3, 4, 9, 6, 7, 2, 1, 8, 5, 5, 3,
2, 4, 6, 1, 8, 9, 7, 9, 1, 8, 7, 2, 3, 4, 5, 6, 7, 6, 4, 5, 9, 8, 2, 3, 1)
a1 = Array(2, 6, 1, 5, 9, 3, 4, 7, 8, 4, 3, 5, 8, 2, 7, 6, 1, 9, 7, 8, 9, 1, 6, 4,
5, 3, 2, 3, 8, 5, 9, 4, 7, 6, 1, 2, 2, 9, 1, 5, 8, 6, 3, 7, 4, 4, 7, 6, 3, 2, 1, 8, 9, 5, 8, 3,
4, 7, 5, 9, 1, 2, 6, 9, 5, 2, 1, 6, 3, 7, 4, 8, 6, 1, 7, 2, 4, 8, 9, 5, 3)
a2 = Array(8, 1, 2, 6, 7, 5, 4, 3, 9, 7, 5, 3, 4, 2, 9, 1, 8, 6, 6, 9, 4, 8, 3, 1,
7, 5, 2, 9, 4, 6, 1, 5, 3, 7, 2, 8, 8, 1, 5, 6, 7, 2, 9, 3, 4, 2, 7, 3, 4, 8, 9, 5, 1, 6, 5, 6,
4, 2, 9, 1, 3, 8, 7, 3, 9, 7, 5, 6, 8, 2, 4, 1, 1, 2, 8, 3, 4, 7, 9, 6, 5)
a = aux.Text
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
Text(i).Text = ""
Text(i).Text = a(i)
Next i
End Select
End If
Select Case h
Case Is < 0
Timer1.Interval = 0
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
Text(i).Text = ""
Text(i).Text = a(i)
Next i
End Select
End If
End Sub
Sub Vsolucin_Click()
a0 = Array(7, 8, 6, 1, 5, 4, 3, 2, 9, 5, 9, 2, 8, 3, 7, 6, 4, 1, 4, 1, 3, 9, 2, 6, 8, 5, 7,
2, 7, 8, 9, 1, 5, 6, 4, 3, 1, 6, 5, 3, 8, 4, 2, 7, 9, 3, 4, 9, 6, 7, 2, 1, 8, 5, 5, 3, 2, 4, 6,
1, 8, 9, 7, 9, 1, 8, 7, 2, 3, 4, 5, 6, 7, 6, 4, 5, 9, 8, 2, 3, 1)
a1 = Array(2, 6, 1, 5, 9, 3, 4, 7, 8, 4, 3, 5, 8, 2, 7, 6, 1, 9, 7, 8, 9, 1, 6, 4, 5, 3, 2,
3, 8, 5, 9, 4, 7, 6, 1, 2, 2, 9, 1, 5, 8, 6, 3, 7, 4, 4, 7, 6, 3, 2, 1, 8, 9, 5, 8, 3, 4, 7, 5,
9, 1, 2, 6, 9, 5, 2, 1, 6, 3, 7, 4, 8, 6, 1, 7, 2, 4, 8, 9, 5, 3)
a2 = Array(8, 1, 2, 6, 7, 5, 4, 3, 9, 7, 5, 3, 4, 2, 9, 1, 8, 6, 6, 9, 4, 8, 3, 1, 7, 5, 2,
9, 4, 6, 1, 5, 3, 7, 2, 8, 8, 1, 5, 6, 7, 2, 9, 3, 4, 2, 7, 3, 4, 8, 9, 5, 1, 6, 5, 6, 4, 2, 9,
1, 3, 8, 7, 3, 9, 7, 5, 6, 8, 2, 4, 1, 1, 2, 8, 3, 4, 7, 9, 6, 5)
a = truco.Text
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
Text(i).Text = ""
Text(i).Text = a(i)
Next i
End Sub
Analiza las casillas, y si estan vacias o con el mismo numero en las filas o
columnas aparece un mensaje.
Caso contrario aparece otro mensaje.
a = truco.Text
Select Case a
Case 1: a = a0
Case 2: a = a1
Case 3: a = a2
End Select
For i = 0 To 80
If Text(i).Text = "" Then
X=X+1
Else
If Text(i).Text = a(i) Then
Else
X=X+1
End If
End If
Next i
If X > 0 Then
MsgBox "Numero(s) Repetido(s) en filas, columnas, subgrupos o casillas
vacias."
Else
MsgBox "FELICIDADES, GANASTE"
End If
End Sub
Finaliza el programa.
Conclusiones
Esta aplicacin esta ideada en base a dos funciones las cuales devuelven
los resultados, generando as los nmeros aleatorios y llenando los
casilleros con los mismos.
Existen varios mtodos de codificacin para este programa, con los cuales
se obtienen los mismos resultados, es decir se los puede expresar de
diferente manera.
Recomendaciones
El juego debe ser practicado por todo tipo de personas sin importar la edad,
para el desarrollo de su agilidad mental.
Bibliografa
http://foro.elhacker.net/programacion_visual_basic/como_se_usa_rnd-
t239806.0.html;msg1148183
http://www.internetadictos.com/modules/sudoku/instrucciones.php
http://www.compunauta.com/forums/visualbasic/funcionesenvisualbasic/func
ionesenvisualbasic.html
http://www.youtube.com/watch?v=HnSWX4_vHh4
http://www.youtube.com/watch?v=zRefQIeZjYY