Título: Ayuda con matrices Publicado por: sheccid65 en 6 Febrero 2010, 19:44 pm Estoy haciendo una matriz que simula el juego del triqui o tres en raya, ya está todo resuelto, pero a la hora de validar que si un jugador marca por ejemplo la casilla 1, el jugador 2 no lo peda hacer... yo lo validé con un si y le mando un mensaje q la casilla está ocupada, pero el mensaje se queda ahi y en las jugadas sgts sigue apareciendo, te mando el codigo donde hago esa parte
For i = 1 To 9 If i Mod 2 <> 0 Then WriteAt("jugador 1 ", 2, 13) h = Console.ReadLine WriteAt(" ", 13, 13) While m(1, 1) = 2 Or m(1, 2) = 2 Or m(1, 3) = 2 Or m(2, 1) = 2 Or m(2, 2) = 2 Or m(2, 3) = 2 Or m(3, 1) = 2 Or m(3, 2) = 2 Or m(3, 2) = 2 WriteAt("Esta posicion se encuentra ocupada", 4, 15) WriteAt(" por favor juegue de nuevo ", 5, 15) ' Console.ReadLine() h = Console.ReadLine WriteAt(" ", 13, 13) WriteAt(" ", 4, 15) WriteAt(" ", 5, 15) End While If h = 1 Then m(1, 1) = 1 a = 3 b = 1 WriteAt("X", a, b) End If If h = 2 Then m(1, 2) = 1 a = 10 b = 1 WriteAt("X", a, b) End If If h = 3 Then m(1, 3) = 1 a = 17 b = 1 WriteAt("X", a, b) End If If h = 4 Then m(2, 1) = 1 a = 3 b = 5 WriteAt("X", a, b) End If If h = 5 Then m(2, 2) = 1 a = 10 b = 5 WriteAt("X", a, b) End If If h = 6 Then m(2, 3) = 1 a = 17 b = 5 WriteAt("X", a, b) End If If h = 7 Then m(3, 1) = 1 a = 3 b = 8 WriteAt("X", a, b) End If If h = 8 Then m(3, 2) = 1 a = 10 b = 8 WriteAt("X", a, b) End If If h = 9 Then m(3, 3) = 1 a = 17 b = 8 WriteAt("X", a, b) End If Else WriteAt("jugador 2 ", 2, 13) h = Console.ReadLine WriteAt(" ", 13, 13) While m(1, 1) = 1 Or m(1, 2) = 1 Or m(1, 3) = 1 Or m(2, 1) = 1 Or m(2, 2) = 1 Or m(2, 3) = 1 Or m(3, 1) = 1 Or m(3, 2) = 1 Or m(3, 2) = 1 WriteAt("Esta posicion se encuentra ocupada", 4, 15) WriteAt(" por favor juegue de nuevo ", 5, 15) ' Console.ReadLine() h = Console.ReadLine WriteAt(" ", 13, 13) WriteAt(" ", 4, 15) WriteAt(" ", 5, 15) End While If h = 1 Then m(1, 1) = 2 a = 3 b = 1 WriteAt("O", a, b) End If If h = 2 Then m(1, 2) = 2 a = 10 b = 1 WriteAt("O", a, b) End If If h = 3 Then m(1, 3) = 2 a = 17 b = 1 WriteAt("O", a, b) End If If h = 4 Then m(2, 1) = 2 a = 3 b = 5 WriteAt("O", a, b) End If If h = 5 Then m(2, 2) = 2 a = 10 b = 5 WriteAt("O", a, b) End If If h = 6 Then m(2, 3) = 2 a = 17 b = 5 WriteAt("O", a, b) End If If h = 7 Then m(3, 1) = 2 a = 3 b = 8 WriteAt("O", a, b) End If If h = 8 Then m(3, 2) = 2 a = 10 b = 8 WriteAt("O", a, b) End If If h = 9 Then m(3, 3) = 2 a = 17 b = 8 WriteAt("O", a, b) End If End If Agradezco su ayuda. |