Documente Academic
Documente Profesional
Documente Cultură
PROGRAMACIÓN DE COMPUTADORES
POLITECNICO GRANCOLOMBIANO
BOGOTÁ
2020
INTRODUCCIÓN:
Se realizará el programa correspondiente para el desarrollo del juego
llamado Quoridor, se demostrará paso a paso mediante el programa
eclipse el procedimiento para el tablero, piezas y movimientos.
OBJETIVOS:
Objetivo general:
Desarrollar el programa del juego Quoridor mediante eclipse, el cual
pueda ser jugable y sea acorde a las normas del juego.
Objetivo específico:
Realizar el programa del tablero aplicado al juego.
Entrega 1:
//proyecto de aula//
//programacion de computadores//
//fecha: 11/03/2020//
System.out.println(" _ _ _ _ _ _ _ _ _");
System.out.println("|_|_|_|_|•|_|_|_|_|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|•|_|_|_|_|_|_|_|•|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|_|_|_|_|_|_|_|_|_|");
System.out.println("|_|_|_|_|•|_|_|_|_|");
}
Reglas del juego
Quoridor es un juego para 2 jugadores cuyas reglas son muy
simples:
Tablero
Para referirnos a las posiciones del tablero utilizaremos una notación
como la del ajedrez, donde se nombran las columnas con letras de la
A a la I y las filas con números entre el 1 y el 9.Como se observa en la
figura, el peón negro se encuentra en E1 mientras que el peón blanco
se encuentra en E9 (sus posiciones iniciales).
Entrega 2
La segunda entrega del proyecto consiste de dos entregables:
Manual de usuario
Pueden jugar de 2 a 4 jugadores, hasta pueden jugar 3, simplemente
hay que estar atento a que siempre tenga el camino más fácil que los
otros dos, se puede sin problemas.
Reglas
Cada jugador maneja un peón el cual será identificado con un punto (•)
y podrá escoger entre los siguientes colores (•, •, •, •). Y una serie de
barreras que serán identificadas (####, ####, ####, ####). Si juegan
cuatro jugadores, se repartirán 5 barreras a cada uno, si juegan dos,
10 barreras a cada uno y si juegan tres 6 barreras.
En tu turno tiene dos opciones, Mover el peón una casilla en horizontal
o vertical, nunca en diagonal y se hará con los siguientes mandos de
las flechas en el teclado según la dirección que desee desplazarse (
⬆️,⬇️,⬅️,➡️) o colocar una barrera con las mismas indicaciones solo que
antes deberás presionar la tecla (ESPACIO) para seleccionar la opción
de usar barreras.
Las barreras siempre ocupan dos espacios dentro del tablero y se
pueden tocar unas con otras formando muros. Una vez puesta una
barrera, esta no podrá ser movida, así que hay que tener cuidado a
administrarlas correctamente ya que no se recuperan. Tampoco se
podrá encerrar completamente a los adversarios así que siempre se
debe dejar un camino o salida posible para que pueda alcanzar su
lado deseado.
Objetivo
El objetivo de cada jugador es llegar con su peón al lado opuesto
antes de que lo hagan sus contrincantes.
Estrategias
Final
Gana el primer jugador llegue con su peón al lado opuesto del tablero.
Programa final:
En el programa Eclipse realizamos el siguiente código:
import java.util.*;
public class juego {
/* Cristián Eduardo Sánchez Simanca, Laura Daniela Bueno
* Cod :1820650380, 1910650181
* Obje tivo: Crear el tablero de quoridor , pocisionar los jugadores y generar el
movimiento de cada uno de los jugadores
*/
// En las siguientes lineas de código creamos los jugadores y les asignamos a cada
uno un caracter
char jug1= '*' ;
char jug2= '+';
char jug3= '#' ;
char jug4= '$';
// En las siguientes lineas de código creamos el tablero y le asignamos un caracter a
las pocisiones.
char[][] tablero = new char [9][9] ;
for (int i = 0; i < tablero.length; i++) {
for (int j = 0; j < tablero.length; j++) {
tablero[i][j]= '.' ;
}
}
// En las Siguientes lineas de código hacemos la validacion de que solo pueden jugar
2 0 4 jugadores.
Scanner sn=new Scanner(System.in);
System.out.println(" Seleccione si 2 o 4 jugadores");
byte cantjugadores= sn.nextByte();
while((cantjugadores != 2)&& (cantjugadores!=4)){
System.out.println(" Cantidad no valida");
cantjugadores= sn.nextByte();
}
System.out.println();
// En las siguientes lineas de código ponemos los dos jugadores en sus respectivas
pocisiones.
if(cantjugadores ==2) {
if (accion==9) {
if(mov== 1) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1+1][posYjug1]=jug1;
posXjug1=posXjug1+1;
}
if(mov== 2) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1-1][posYjug1]=jug1;
posXjug1=posXjug1-1;
}
if(mov== 3) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1][posYjug1-1]=jug1;
posYjug1--;
}
if(mov== 4) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1][posYjug1+1]=jug1;
posYjug1++;
}
}
else if(accion ==8) {
System.out.println("ingresa las coordenadas X e Y para colocar el muro");
int coordmuroX=sn.nextInt();
}
System.out.println();
}
System.out.println();
}}
// En estas lineas de código el primer jugador decide que direccion movera la ficha.
while (true) {
System.out.println("juega el player 1 ingrese la direccion en la que movera, 1
para arriba, 2 para abajo, 3 para la izquierda y 4 par ala derecha");
int mov = sn.nextInt();
System.out.println(mov);
if (posXjug1==tablero.length || posXjug1==0 || posYjug1==tablero.length ||
posYjug1==0) {
System.out.println("Movimiento no valido");
mov=sn.nextInt();
System.out.println("juega el player 1 ingrese la direccion en la que movera, 1
para arriba, 2 para abajo, 3 para la izquierda y 4 par ala derecha");
}
if(mov== 1) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1+1][posYjug1]=jug1;
posXjug1=posXjug1+1;
}
if(mov== 2) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1-1][posYjug1]=jug1;
posXjug1=posXjug1-1;
}
if(mov== 3) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1][posYjug1-1]=jug1;
posYjug1--;
}
if(mov== 4) {
tablero[posXjug1][posYjug1]='.';
tablero[posXjug1][posYjug1+1]=jug1;
posYjug1++;
}
for (int i = 0; i < tablero.length; i++) {
for (int j = 0; j < tablero.length; j++) {
System.out.print(" "+tablero[i][j]+" ");
}
System.out.println();
}
if(mov2== 1) {
tablero[posXjug2][posYjug2]='.';
tablero[posXjug2-1][posYjug2]=jug2;
posXjug2--; }
if(mov2== 2) {
tablero[posXjug2][posYjug2]='.';
tablero[posXjug2+1][posYjug2]=jug2;
posXjug2++;
}
if(mov2== 3) {
tablero[posXjug2][posYjug2]='.';
tablero[posXjug2][posYjug2-1]=jug2;
posYjug2--;
}
if(mov2== 4) {
tablero[posXjug2][posYjug2]='.';
tablero[posXjug2][posYjug2+1]=jug2;
posYjug2++;
}
for (int i = 0; i < tablero.length; i++) {
for (int j = 0; j < tablero.length; j++) {
System.out.println();
}
// En estas lineas de código el tercer jugador decide que direccion movera la
ficha.
System.out.println("juega el player 3 ingrese la direccion en la que movera, 1
para arriba, 2 para abajo, 3 para la izquierda y 4 par ala derecha");
int mov3 = sn.nextInt();
System.out.println(mov3);
if (posXjug3==tablero.length || posXjug3==0 || posYjug3==tablero.length ||
posYjug3==0) {
System.out.println("Movimiento no valido");
mov3=sn.nextInt();
System.out.println("juega el player 3 ingrese la direccion en la que movera, 1
para arriba, 2 para abajo, 3 para la izquierda y 4 par ala derecha");
}
if(mov3== 1) {
tablero[posXjug3][posYjug3]='.';
tablero[posXjug3-1][posYjug3]=jug3;
posXjug3--; }
if(mov3== 2) {
tablero[posXjug3][posYjug3]='.';
tablero[posXjug3+1][posYjug3]=jug3;
posXjug3++;
}
if(mov3== 3) {
tablero[posXjug3][posYjug3]='.';
tablero[posXjug3][posYjug3-1]=jug3;
posYjug3--;
}
if(mov3== 4) {
tablero[posXjug3][posYjug3]='.';
tablero[posXjug3][posYjug3+1]=jug3;
posYjug3++;
}
for (int i = 0; i < tablero.length; i++) {
for (int j = 0; j < tablero.length; j++) {
System.out.println();
}
// En estas lineas de código el cuarto jugador decide que direccion movera la
ficha.
if(mov4== 1) {
tablero[posXjug4][posYjug4]='.';
tablero[posXjug4-1][posYjug4]=jug4;
posXjug4--; }
if(mov4== 2) {
tablero[posXjug4][posYjug4]='.';
tablero[posXjug4+1][posYjug4]=jug4;
posXjug4++;
}
if(mov4== 3) {
tablero[posXjug4][posYjug4]='.';
tablero[posXjug4][posYjug4-1]=jug4;
posYjug4--;
}
if(mov4== 4) {
tablero[posXjug4][posYjug4]='.';
tablero[posXjug4][posYjug4+1]=jug4;
posYjug4++;
}
for (int i = 0; i < tablero.length; i++) {
for (int j = 0; j < tablero.length; j++) {
System.out.println();
}
}
}
}
}