Damas(java)

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1951 palavras )
  • Download(s) : 0
  • Publicado : 19 de fevereiro de 2013
Ler documento completo
Amostra do texto
import java.util.Random;
import aguiaj.grid.*;
import aguiaj.colors.Color;
import aguiaj.icons.CharacterIcon;

public class Damas {
private Grid grid;
private int side;
private int figuras;
private int jogador = 1;
private CharacterIcon bart = CharacterIcon.BART;
private CharacterIcon maggie = CharacterIcon.MAGGIE;

public Damas(int n, int m){
side = n;
figuras = m;// excepções do inicio
if (figuras == 0 || figuras < 0 || side < 0
|| (figuras > (side * side) / 4))
throw new IllegalArgumentException(
"Os dados que está a introduzir são incoerentes.");
grid = new Grid(side, side);
for (int i = 0; i < side; i++) {
for (int j = 0; j < side; j++) {
Position p = grid.getPosition(i, j);
if ((i + j) % 2 != 0)p.setBackground(Color.BLACK);
}
}
Position[] v = grid.allPositions();
for (int i = 0; i < 2 * figuras; i++) {
Position p = v[i];
if (p.getBackground() == Color.BLACK)
p.setIcon(CharacterIcon.MAGGIE);
}
for (int i = v.length - 1; i > v.length - 1 - 2 * figuras; i--) {
Position p = v[i];
if (p.getBackground() == Color.BLACK)
p.setIcon(CharacterIcon.BART);
}
}public Damas() {
side = 8;
figuras = 12;
grid = new Grid(8, 8);
Position[] v = grid.allPositions();
for (int i = 0; i < 8; i++) {
for (int j = 0; j < 8; j++) {
Position p = grid.getPosition(i, j);
if ((i + j) % 2 != 0)
p.setBackground(Color.BLACK);
}
}
for (int i = 0; i < 24; i++) {
Position p = v[i];
if (p.getBackground() == Color.BLACK)p.setIcon(CharacterIcon.MAGGIE);
}
for (int i = v.length - 1; i > v.length - 1 - 24; i--) {
Position p = v[i];
if (p.getBackground() == Color.BLACK)
p.setIcon(CharacterIcon.BART);
}
}

public Grid getBoard() {
return grid;
}

// /JOGO AUTOMATICO///
public void Automatico() {
if (isOver() == true)
throw new IllegalArgumentException("O jogo já terminou");Random random = new Random();
Position chegada = null;
Position meio = null;
Position[] comer = jogadascomer();
// BART
if (jogador == 1) {
// Jogadas a comer
if (comer.length != 0) {
int n = random.nextInt(comer.length);
Position partida = comer[n];
if (esqoudircomer(partida) == 0) {
chegada = grid.getPosition(partida.getRow() - 2,partida.getColumn() - 2);
meio = grid.getPosition(partida.getRow() - 1,
partida.getColumn() - 1);
}
if (esqoudircomer(partida) == 1) {
chegada = grid.getPosition(partida.getRow() - 2,
partida.getColumn() + 2);
meio = grid.getPosition(partida.getRow() - 1,
partida.getColumn() + 1);
}
if (esqoudircomer(partida) == 2) {
int m =random.nextInt(2);
if (m == 1) {
chegada = grid.getPosition(partida.getRow() - 2,
partida.getColumn() - 2);
meio = grid.getPosition(partida.getRow() - 1,
partida.getColumn() - 1);
} else {
chegada = grid.getPosition(partida.getRow() - 2,
partida.getColumn() + 2);
meio = grid.getPosition(partida.getRow() - 1,
partida.getColumn() + 1);}
}
partida.setIcon(null);
meio.setIcon(null);
chegada.setIcon(bart);
}
// jogadas sem comer
else {
Position[] possiveis = jogadaspossiveis();
int n = random.nextInt(possiveis.length);
Position partida = possiveis[n];
if (esqoudirandar(partida) == 0)
chegada = grid.getPosition(partida.getRow() - 1,
partida.getColumn() - 1);if (esqoudirandar(partida) == 1)
chegada = grid.getPosition(partida.getRow() - 1,
partida.getColumn() + 1);
if (esqoudirandar(partida) == 2) {
int m = random.nextInt(2);
if (m == 1)
chegada = grid.getPosition(partida.getRow() - 1,
partida.getColumn() - 1);
else
chegada = grid.getPosition(partida.getRow() - 1,
partida.getColumn()...
tracking img