Este proyecto propone un juego de Cuatro en Calle programado en Pascal para promover el aprendizaje de programación. El juego consiste en un tablero 4x4 donde dos jugadores colocan alternadamente sus símbolos ("X" y "O") tratando de completar una línea de 4 en forma horizontal, vertical u oblicua. El programa dibuja el tablero, pide las coordenadas a cada jugador, registra los símbolos en la matriz que representa el tablero y determina si hay un ganador o empate revisando las líneas del tabler
2. ¿Por qué este proyecto?
• El presente proyecto se ha realizado
con el propósito de promover el estudio
de programación a través de una
enseñanza-dinámica donde el usuario
se anime por el juego cuatro en
calle, para de esta manera motivar al
estudio de programación en Pascal.
3. GENERAL: Evaluar el juego tres en calle para determinar
un ganador o declarar un empate presentado en los
dos jugadores.
ESPECÍFICOS:
• Registrar un ganador del juego cuando cumpla los
requerimientos del juego, o en caso de no serlo
determinar el empate correspondiente de los
jugadores.
• Promover un juego sin trampas, donde el jugador
ganador sea reconocido por su juego en esta
aplicación.
4. MANUAL TÉCNICO (Explicación Técnica de Procesos)
• El programa de Cuatro en calle inicia con una
matriz de 4x4 que es el tablero del juego, a
continuación se solicita al usuario 1 que ingrese
coordenadas de la ubicación del tablero
colocado en pantalla, uno para filas y otros para
columnas y mismos que han sido controlados
por estructuras de repetición y de condición
para el correcto control del ingreso de
coordenadas.
5. • Mientras el vector del símbolo “x” se va
guardando en la matriz, hasta que se solicite
también el ingreso de coordenadas del
usuario 2, luego guarda el vector símbolo “o”
en la matriz.
• De esta manera a la vez se controló el
ingreso de coordenadas que no se
repitieran, y así mostrar mensajes como
“casilla ocupada”.
6. • Una vez ingresado los símbolos en la
matriz 4x4, se determinará ahora si existe
un ganador ya sea usuario 1 o usuario 2;
para lo cual se han empleado el manejo
de la estructura boolean e instrucciones
for to do y if then para reconocer líneas
paralelas, perpendiculares o diagonales;
o caso contrario mostrar un empate.
7. Líneas de codificación
program CuatroEnCalle;
uses crt;
{DECLARACIÓN DE VARIABLES}
const
{Simbolos del tablero: blanco, jug.1, jug.2}
simbolo: array[0..2] of char= (' ','O','X');
var
tablero: array[1..4,1..4] of integer; {Tablero de juego}
terminado: boolean;
pausa: char;
8. {INICIALIZACIÓN DEL PROGRAMA}
procedure DibujarTablero;
var
fila,columna:integer;
begin
clrscr;
writeln('*** BIENVENIDO AL PROGRAMA DE CUATRO EN CALLE ***');
writeln;
textcolor (yellow);
writeln('---------');
for fila:=1 to 4 do
begin
textcolor (yellow);
write(' I ');
for columna:=1 to 4 do
write(''+simbolo[tablero[fila,columna]]+'I');
writeln;
writeln('---------');
normvideo;
end
end;
9. {----Pregunta donde mover y lo anota en el tablero----}
procedure PreguntarPosicion(jugador:integer); (*1:=jug.1,2=jug2*)
var
fila,columna:integer;
begin
repeat
writeln;
{*Pido fila*}
repeat
write('Ingrese la fila (1 a 4)');
readln(fila);
until fila in [1..4];
{*Pido columna*}
repeat
write('Ingrese la columna (1 a 4)');
readln(columna);
until columna in [1..4];
if (tablero[fila,columna]<>0) then
writeln('Casilla ocupada!');
until(tablero[fila,columna]=0);