Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Acción tatetí es;
- uses crt, sysutils;
- label, label1, label2, label3, label4;
- Constantes
- plano1= arreglo[1..3, 1..3] of carácter;
- plano2= arreglo[1..3, 1..3] of entero;
- Variables celda: plano1;
- verSi: plano2;
- njuego, acum, turno, i, j, victorias1, victorias2, g: entero;
- error, win, fdj, fdr: lógico;
- opc: carácter;
- nom1, nom2: AN (30);
- {--------------------------------------------------------------------------------------}
- SUB-ACCIONES
- Subacción gano (g: entero);
- Para i:= 7 hasta 24 hacer
- Ir a xy(1,i);
- Fin;
- win:= verdadero;
- Según g hacer
- 1:
- inc(victorias1);
- Ir a xy(30,9); escribir('FELICITACIONES!!! TENEMOSO UN GANADOR:');
- Ir a xy(47,10); escribir(nom1); fin;
- 2:
- inc(victorias2);
- Ir a xy(30,9); escribir('FELICITACIONES!!! TENEMOSO UN GANADOR:');
- Ir a xy(47,10); escribir(nom2); fin;
- 3:
- Ir a xy(30,9); escribir('EL JUEGO TERMINO EN EMPATE!');
- turno:= 0; fin;
- fin;
- Escribir (' ');
- Escribir ('Numero de juegos: '); escribir (njuego);
- Escribir ('Número de victorias de ',nom1,': '); escribir(victorias1);
- Escribir ('Número de victorias de ',nom2,': '); escribir(victorias2);
- Para i:= 1 hasta 3 hacer
- Para j:=1 hasta 3 hacer
- celda[i,j]:=' ';
- verSi[i,j]:=0;
- fin;
- fin;
- label1: escribir ('¿Quieres jugar de nuevo? [s/n]'); leerln (opc);
- Según opc hacer
- 'n': fdr:= falso;
- 's': Para i:= 7 hasta 24 hacer
- Ir a xy(1,i); fin;
- Sino
- Ir a label1;
- Fin;
- Fin;
- {--------------------------------------------------------------------------------------}
- Subacción verSiicacion es;
- acum:= 0;
- Para i:= 1 hasta 3 hacer
- Para j:= 1 hasta 3 hacer
- acum:= acum + verSi[i,j];
- Si acum = 24 entonces
- g:= 2
- Sino
- Si acum = 3 entonces
- g:= 1;
- acum:=0;
- Fin;
- Para j:= 1 hasta 3 hacer
- Para i:= 1 hasta 3 hacer
- acum:= acum + verSi[i,j];
- Si acum = 24 entonces
- g:= 2
- Sino
- Si acum = 3 entonces
- g:= 1;
- acum:= 0;
- fin;
- Si verSi[1,1] + verSi[2,2] + verSi[3,3] = 3 entonces
- g:= 1
- Sino
- Si verSi[1,1] + verSi[2,2] + verSi[3,3] = 24 entonces
- g:= 2;
- Si verSi[3,1] + verSi[2,2] + verSi[1,3] = 3 entonces
- g:= 1
- sino
- Si verSi[3,1] + verSi[2,2] + verSi[1,3] = 24 entonces
- g:= 2;
- Si turno = 9 entonces
- g:= 3;
- Si g <> 0 entonces
- gano(g);
- fin;
- {--------------------------------------------------------------------------------------}
- Subacción muestra es;
- Ir a xy(34,11); escribir(' ', #179, ' ', #179, ' ');
- Ir a xy(34,12); escribir(' ', celda[1,1], ' ',#179 , ' ', celda[1,2], ' ', #179, ' ', celda[1,3], ' ');
- Ir a xy(34,14); escribir(' ', celda[2,1], ' ',#179 , ' ', celda[2,2], ' ', #179, ' ', celda[2,3], ' ');
- Ir a xy(34,16); escribir(' ', celda[3,1], ' ', celda[3,2], ' ', celda[3,3], ' ');
- Ir a xy(34,17); escribir(' ', #179, ' ', #179, ' ');
- fin;
- {--------------------------------------------------------------------------------------}
- Subacción Control_Turno(opc:char);
- Según opc hacer
- '1': i:=1; j:=1; fin;
- '2': i:=1; j:=2; fin;
- '3': i:=1; j:=3; fin;
- '4': i:=2; j:=1; fin;
- '5': i:=2; j:=2; fin;
- '6': i:=2; j:=3; fin;
- '7': i:=3; j:=1; fin;
- '8': i:=3; j:=2; fin;
- '9': i:=3; j:=3; fin;
- Sino
- Error:= verdadero;
- Fin;
- Fin;
- {--------------------------------------------------------------------------------------}
- Subacción turnop1 es;
- label2: Ir a xy(1,19); escribir(nom1); escribir(' ingresa ubicación de tu jugada: '); leer(opc);
- Control_Turno(opc);
- Si error entonces
- Error:= falso; label2;
- Fin;
- Mientras celda [i,j] <> ' ' do
- Ir a xy(1,18); escribir('Lugar ocupado!');
- Ir a xy(1,19); escribir(nom1); escribir(' ingresa ubicación de tu jugada:'); leer(opc);
- Control_Turno(opc);
- Si error entonces
- error:= falso; Ir a label2;
- Fin;
- Fin;
- celda[i,j]:= 'X'; verSi[i,j]:= 1;
- inc(turno); verSiicacion;
- Ir a xy(1,18);
- Ir a xy(1,19);
- fin;
- {--------------------------------------------------------------------------------------}
- Subacción turnop2 es;
- label3: Ir a xy(1,19); escribir(nom2); escribir(' ingresa ubicación de tu jugada: '); leer(opc);
- Control_Turno(opc);
- Si error entonces
- error:= falso; label3;
- Fin;
- Mientras celda[i,j] <> ' ' hacer
- Ir a xy(1,18); escribirln('Lugar ocupado!');
- Ir a xy(1,19); escribir(nom2); escribir(' ingresa ubicación de tu jugada:'); leer(opc);
- Control_Turno(opc);
- Si error entonces
- Error:= falso; Ir a label3;
- Fin;
- Fin;
- celda[i,j]:= 'O'; verSi[i,j]:= 8;
- inc(turno); verSiicacion;
- Ir a xy(1,18);
- Ir a xy(1,19);
- Fin;
- {FIN SUB-ACCIONES}
- {-----------------------------------------------------------------------------------------------}
- {PROCESO}
- Ir a xy(13,6); escribir(' El juego de Maschine ');
- Ir a xy(16,25); escribir(#184, ' 2015 Maschine. Todos los derechos reservados.');
- repeat
- Ir a xy(23,12); escribir('Presiona una tecla para comenzar!');
- Ir a xy(23,12); escribir(' ');
- Hasta apretar tecla;
- {INICIALIZAMOS LAS VARIABLES}
- fdj:=verdadero; error:= falso;
- Mientras fdj hacer {CICLO GENERAL MENU}
- Borrar Pantalla
- Ir a xy(16,25); escribir(#184, ' 2015 Maschine. Todos los derechos reservados.');
- label4: Ir a xy(31,12); escribir(' 1: Jugar ');
- Ir a xy(31,14); escribir(' 2: Tutorial ');
- Ir a xy(31,16); escribir(' 3: Creditos ');
- Ir a xy(31,18); escribir(' 4: Salir ');
- Ir a xy(31,19); leer(opc);
- Para j:= 12 to 19 hacer
- Ir a xy(31,j); escribir(' ');
- Fin;
- Según opc hacer
- '1': {JUGAR}
- fdr:=verdadero; turno:= 0; victorias1:= 0; victorias2:= 0; njuego:= 0;
- mientras fdr hacer
- win:=falso;
- Para i:= 1 hasta 3 hacer
- Para j:=1 hasta 3 hacer
- celda[i,j]:=' ';
- verSi[i,j]:=0;
- fin;
- fin;
- inc(njuego);
- Si njuego = 1 entonces
- Ir a xy(1,10); escribir('Jugador 1 ingresa tu nombre: '); leer(nom1);
- Ir a xy(1,12); escribir('Jugador 2 ingresa tu nombre: '); leer(nom2);
- fin;
- turno:= 0; g:= 0;
- Para i:= 7 to 24 do
- Ir a xy(1,i);
- fin;
- Mientras turno < 10 hacer
- Si no win entonces
- Muestra;
- Si njuego mod 2 = 0 entonces
- Si turno mod 2 = 0 entonces
- turnop2
- sino
- turnop1;
- fin
- Sino
- Si turno mod 2 = 0 entonces
- turnop1
- Sino
- turnop2;
- fin;
- fin;
- Si win entonces
- turno:=10;
- fin;
- fin;
- fin;
- '2': {TUTORIAL}
- Ir a xy(1,12); escribir( ' El juego consta de un tablero de 3x3 como el de la izquierda.');
- Ir a xy(1,13); escribir(' 1 ', ' 2 ', ' 3'' El jugador 1 coloca fichas "X", el jugador 2 coloca fichas "O".');
- Ir a xy(1,14); escribir(' El objetivo es alinear 3 fichas iguales, ya sea horizontal,');
- Ir a xy(1,15); escribir(' 4 ', ' 5 ', ' 6' ' Vertical o en diagonal. Para colocar una ficha ingresa un numero');
- Ir a xy(1,16); escribir(' del 1 al 9 según el ejemplo.');
- Ir a xy(1,17); escribir(' 7 ', ' 8 ',' 9' ' El juego termina cuando gana alguien, o cuando se llena el tablero.');
- Ir a xy(1,18); escribir(' En ese caso se considera empate y no se define ningún ganador.');
- Repetir
- Ir a xy(1,20); escribir('Presione una tecla para volver al menu...');
- Ir a xy(1,20); escribir(' ');
- Hasta apretar tecla;
- Para i:= 12 to 20 do
- Ir a xy(1, i);
- fin; fin;
- '3': {CREDITOS}
- escribirln('biain');
- escribirln('bohle');
- escribirln('garcia');
- escribirln('vallejos');
- escribirln('plazibat no hizo una mierda');
- leerkey; fin;
- '4': fdj:= falso;{SALIR}
- Sino
- Ir a label4;
- fin;
- fin;
- fin.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement