

Código: Seleccionar todo
' Gambas class file
PRIVATE iColores[7, 7] AS Integer 'Se "ve" en todo este formulario.
PUBLIC SUB form_Open()
ordeno_tablero()
END
PUBLIC SUB ordeno_tablero()
DIM x, y, aux_x, aux_y, i AS Integer
dibujo.Clear
draw.Begin(dibujo)
Draw.LineWidth = 44
'dibujo tablero ordenado
aux_x = -42
aux_y = -20
FOR x = 1 TO 6
FOR y = 1 TO 6
IF x < 4 THEN
IF y < 4 THEN
Draw.ForeColor = Color.Red
iColores[x, y] = 1
Draw.Line(x * 48 + aux_x, y * 48 + aux_y, x * 48 + aux_x + 44, y * 48 + aux_y)
ELSE
Draw.ForeColor = Color.blue
iColores[x, y] = 3
Draw.Line(x * 48 + aux_x, y * 48 + aux_y + 16, x * 48 + aux_x + 44, y * 48 + aux_y + 16)
END IF
ELSE
IF y < 4 THEN
Draw.ForeColor] = Color.darkGreen
iColores[x, y] = 2
Draw.Line(x * 48 + aux_x + 16, y * 48 + aux_y, x * 48 + aux_x + 44 + 16, y * 48 + aux_y)
ELSE
Draw.ForeColor = Color.darkyellow
iColores[x, y] = 4
Draw.Line(x * 48 + aux_x + 16, y * 48 + aux_y + 16, x * 48 + aux_x + 44 + 16, y * 48 + aux_y + 16)
END IF
END IF
NEXT
NEXT
draw.End
END
PUBLIC SUB muestro_tablero()
DIM x, y, aux_x, aux_y, i AS Integer
dibujo.Clear
draw.Begin(dibujo)
Draw.LineWidth = 44
'dibujo tablero ordenado
aux_x = -42
aux_y = -20
FOR x = 1 TO 6
FOR y = 1 TO 6
IF x < 4 THEN
IF y < 4 THEN
IF iColores[x, y] = 1 THEN Draw.ForeColor = Color.Red
IF iColores[x, y] = 2 THEN Draw.ForeColor = Color.darkGreen
IF iColores[x, y] = 3 THEN Draw.ForeColor = Color.blue
IF iColores[x, y] = 4 THEN Draw.ForeColor = Color.darkyellow
Draw.Line(x * 48 + aux_x, y * 48 + aux_y, x * 48 + aux_x + 44, y * 48 + aux_y)
ELSE
IF iColores[x, y] = 1 THEN Draw.ForeColor = Color.Red
IF iColores[x, y] = 2 THEN Draw.ForeColor = Color.darkGreen
IF iColores[x, y] = 3 THEN Draw.ForeColor = Color.blue
IF iColores[x, y] = 4 THEN Draw.ForeColor = Color.darkyellow
Draw.Line(x * 48 + aux_x, y * 48 + aux_y + 16, x * 48 + aux_x + 44, y * 48 + aux_y + 16)
END IF
ELSE
IF y < 4 THEN
IF iColores[x, y] = 1 THEN Draw.ForeColor = Color.Red
IF iColores[x, y] = 2 THEN Draw.ForeColor = Color.darkGreen
IF iColores[x, y] = 3 THEN Draw.ForeColor = Color.blue
IF iColores[x, y] = 4 THEN Draw.ForeColor = Color.darkyellow
Draw.Line(x * 48 + aux_x + 16, y * 48 + aux_y, x * 48 + aux_x + 44 + 16, y * 48 + aux_y)
ELSE
IF iColores[x, y] = 1 THEN Draw.ForeColor = Color.Red
IF iColores[x, y] = 2 THEN Draw.ForeColor = Color.darkGreen
IF iColores[x, y] = 3 THEN Draw.ForeColor = Color.blue
IF iColores[x, y] = 4 THEN Draw.ForeColor = Color.darkyellow
Draw.Line(x * 48 + aux_x + 16, y * 48 + aux_y + 16, x * 48 + aux_x + 44 + 16, y * 48 + aux_y + 16)
END IF
END IF
NEXT
NEXT
draw.End
END
PUBLIC SUB Button1_Click()
DIM aux, i AS Integer
aux = iColores[6, 1]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 1] = iColores[i, 1]
NEXT
iColores[1, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button2_Click()
DIM aux, i AS Integer
aux = iColores[6, 2]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 2] = iColores[i, 2]
NEXT
iColores[1, 2] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button3_Click()
DIM aux, i AS Integer
aux = iColores[6, 3]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 3] = iColores[i, 3]
NEXT
iColores[1, 3] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button4_Click()
DIM aux, i AS Integer
aux = iColores[6, 4]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 4] = iColores[i, 4]
NEXT
iColores[1, 4] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button5_Click()
DIM aux, i AS Integer
aux = iColores[6, 5]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 5] = iColores[i, 5]
NEXT
iColores[1, 5] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button6_Click()
DIM aux, i AS Integer
aux = iColores[6, 6]
FOR i = 5 TO 1 STEP -1
iColores[i + 1, 6] = iColores[i, 6]
NEXT
iColores[1, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button7_Click()
DIM aux, i AS Integer
aux = iColores[6, 6]
FOR i = 5 TO 1 STEP -1
iColores[6, i + 1] = iColores[6, i]
NEXT
iColores[6, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button8_Click()
DIM aux, i AS Integer
aux = iColores[5, 6]
FOR i = 5 TO 1 STEP -1
iColores[5, i + 1] = iColores[5, i]
NEXT
iColores[5, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button9_Click()
DIM aux, i AS Integer
aux = iColores[4, 6]
FOR i = 5 TO 1 STEP -1
iColores[4, i + 1] = iColores[4, i]
NEXT
iColores[4, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button10_Click()
DIM aux, i AS Integer
aux = iColores[3, 6]
FOR i = 5 TO 1 STEP -1
iColores[3, i + 1] = iColores[3, i]
NEXT
iColores[3, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button11_Click()
DIM aux, i AS Integer
aux = iColores[2, 6]
FOR i = 5 TO 1 STEP -1
iColores[2, i + 1] = iColores[2, i]
NEXT
iColores[2, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button12_Click()
DIM aux, i AS Integer
aux = iColores[1, 6]
FOR i = 5 TO 1 STEP -1
iColores[1, i + 1] = iColores[1, i]
NEXT
iColores[1, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button13_Click()
DIM aux, i AS Integer
aux = iColores[1, 6]
FOR i = 1 TO 5
iColores[i, 6] = iColores[i + 1, 6]
NEXT
iColores[6, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button14_Click()
DIM aux, i AS Integer
aux = iColores[1, 5]
FOR i = 1 TO 5
iColores[i, 5] = iColores[i + 1, 5]
NEXT
iColores[6, 5] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button15_Click()
DIM aux, i AS Integer
aux = iColores[1, 4]
FOR i = 1 TO 5
iColores[i, 4] = iColores[i + 1, 4]
NEXT
iColores[6, 4] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button16_Click()
DIM aux, i AS Integer
aux = iColores[1, 3]
FOR i = 1 TO 5
iColores[i, 3] = iColores[i + 1, 3]
NEXT
iColores[6, 3] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button17_Click()
DIM aux, i AS Integer
aux = iColores[1, 2]
FOR i = 1 TO 5
iColores[i, 2] = iColores[i + 1, 2]
NEXT
iColores[6, 2] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button18_Click()
DIM aux, i AS Integer
aux = iColores[1, 1]
FOR i = 1 TO 5
iColores[i, 1] = iColores[i + 1, 1]
NEXT
iColores[6, 1] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button19_Click()
DIM aux, i AS Integer
aux = iColores[1, 1]
FOR i = 1 TO 5
iColores[1, i] = iColores[1, i + 1]
NEXT
iColores[1, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button20_Click()
DIM aux, i AS Integer
aux = iColores[2, 1]
FOR i = 1 TO 5
iColores[2, i] = iColores[2, i + 1]
NEXT
iColores[2, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button21_Click()
DIM aux, i AS Integer
aux = iColores[3, 1]
FOR i = 1 TO 5
iColores[3, i] = iColores[3, i + 1]
NEXT
iColores[3, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button22_Click()
DIM aux, i AS Integer
aux = iColores[4, 1]
FOR i = 1 TO 5
iColores[4, i] = iColores[4, i + 1]
NEXT
iColores[4, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button23_Click()
DIM aux, i AS Integer
aux = iColores[5, 1]
FOR i = 1 TO 5
iColores[5, i] = iColores[5, i + 1]
NEXT
iColores[5, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB Button24_Click()
DIM aux, i AS Integer
aux = iColores[6, 1]
FOR i = 1 TO 5
iColores[6, i] = iColores[6, i + 1]
NEXT
iColores[6, 6] = aux
muestro_tablero
game_over
END
PUBLIC SUB mezclo_tablero()
DIM iNivel, i AS Integer
RANDOMIZE CInt(Timer * 1000)
iNivel = 2
FOR i = 1 TO iNivel
IF Rnd(0, 1) > 0.5 THEN Button1_Click()
IF Rnd(0, 1) > 0.5 THEN Button2_Click()
IF Rnd(0, 1) > 0.5 THEN Button3_Click()
IF Rnd(0, 1) > 0.5 THEN Button4_Click()
IF Rnd(0, 1) > 0.5 THEN Button5_Click()
IF Rnd(0, 1) > 0.5 THEN Button6_Click()
IF Rnd(0, 1) > 0.5 THEN Button7_Click()
IF Rnd(0, 1) > 0.5 THEN Button8_Click()
IF Rnd(0, 1) > 0.5 THEN Button9_Click()
IF Rnd(0, 1) > 0.5 THEN Button10_Click()
IF Rnd(0, 1) > 0.5 THEN Button11_Click()
IF Rnd(0, 1) > 0.5 THEN Button12_Click()
IF Rnd(0, 1) > 0.5 THEN Button13_Click()
IF Rnd(0, 1) > 0.5 THEN Button14_Click()
IF Rnd(0, 1) > 0.5 THEN Button15_Click()
IF Rnd(0, 1) > 0.5 THEN Button16_Click()
IF Rnd(0, 1) > 0.5 THEN Button17_Click()
IF Rnd(0, 1) > 0.5 THEN Button18_Click()
IF Rnd(0, 1) > 0.5 THEN Button19_Click()
IF Rnd(0, 1) > 0.5 THEN Button20_Click()
IF Rnd(0, 1) > 0.5 THEN Button21_Click()
IF Rnd(0, 1) > 0.5 THEN Button22_Click()
IF Rnd(0, 1) > 0.5 THEN Button23_Click()
IF Rnd(0, 1) > 0.5 THEN Button24_Click()
NEXT
END
PUBLIC SUB mMezclar_Click()
mezclo_tablero
END
PUBLIC SUB game_over()
DIM x, y, ganador, aux AS Integer
ganador = 1
aux = iColores[1, 1]
FOR x = 1 TO 3
FOR y = 1 TO 3
IF iColores[x, y] <> aux THEN ganador = 0
NEXT
NEXT
aux = iColores[4, 1]
FOR x = 4 TO 6
FOR y = 1 TO 3
IF iColores[x, y] <> aux THEN ganador = 0
NEXT
NEXT
aux = iColores[1, 4]
FOR x = 1 TO 3
FOR y = 4 TO 6
IF iColores[x, y] <> aux THEN ganador = 0
NEXT
NEXT
aux = iColores[4, 4]
FOR x = 4 TO 6
FOR y = 4 TO 6
IF iColores[x, y] <> aux THEN ganador = 0
NEXT
NEXT
IF ganador = 1 THEN
sos_ganador
END IF
END
PUBLIC SUB sos_ganador()
DIM msgaux AS Integer
msgaux = Message.Info("¡Lo lograste! Juguemos otra partida", "Ok")
mNuevo_Click()
END
PUBLIC SUB mNuevo_Click()
ordeno_tablero
'SLEEP 0.500
mezclo_tablero
END