Skip to content

Instantly share code, notes, and snippets.

@Sandrucola
Created October 31, 2012 01:30
Show Gist options
  • Save Sandrucola/3984278 to your computer and use it in GitHub Desktop.
Save Sandrucola/3984278 to your computer and use it in GitHub Desktop.
Pseudocódigo TresEnRaya
var a1 = [0,0,0]
var a2 = [0,0,0]
var a3 = [0,0,0]
var tablero = [a1,a2,a3]
function introducirPieza (jugador,x,y)
{
Si tablero[x][y] == 0
tablero[x][y]== jugador
devuelve verdadero
Si no
devuelve falso
}
function comprobarGanador()
{
para var a=0 mientras a<=2 haz a++
si tablero [a][0]== tablero [a][1] y tablero [a][1]== tablero [a][2]
devuelvo tablero [a][0]
para var a=0 mientras a<=2 haz a++
si tablero [0][a]== tablero [1][a] y tablero [1][a]== tablero [2][a]
devuelvo tablero [0][a]
si tablero [0][0] == tablero[1][1] y tablero [1][1] == tablero [2][2]
devuelve tablero [0][0]
si tablero [0][2] == tablero [1][1] y tablero [1][1] == tablero [2][0]
devuelve tablero [1][1]
devuelve 0
}
// Función de entrada
function tresEnRaya()
{
//Variable para comprobar si hay ganador o no en el bucle mientras
var juegoFinalizado = false
//Varibale para comprobar que la pieza se introduce correctamente
var comprobarPieza= false
//Variable para determinar el turno del jugador
var jugador = 1
//Variale para determinar el numero de piezas total en el tablero (para iniciar comprobación si el numero de piezas es >= 5)
var numeroPiezas = 0
//Variable que corresponde al resultado de la función comprobarGanador
var ganador = 0
mientras juegoFinalizado == false OR numeroPiezas < 9
{
mientras comprobarPieza == false
impreme pantalla("INTRODUCE LA POSICIÓN x e y")
var x = leer numero introducido
var y = leer numero introducido
si introPieza(jugador,x,y) es true
comprobarPieza = true
Si jugador = 1
jugador = 2
si no
jugador = 1
//Incremento de piezas de uno en uno cada vez que se introduce una pieza en el tablero
numeroPiezas ++
//Si el número de piezas es mayor o igual que 5 el ganador será el resultado de la función comprobarGanador; si ganador es diferente de 0 significa que comprobarGanador ha devuleto un ganador (1 o 2) y que el juego ha finalizado (invalidando así la condición mientras juegoFinalizado == false. Tendrá que imprimir en pantalla el ganador.
si numeroPiezas >= 5
ganador = comprobarGanador()
si ganador != 0
juegoFinalizado = true
imprime en pantalla ("EL GANADOR ES"+ganador)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment