Procurar
Últimos assuntos
Tópicos mais visitados
Os membros mais ativos da semana
Nenhum usuário |
O meu Código.
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS :: Trabalhos :: Trabalho UniFORCE – UNIFOR Command Environment
Página 1 de 1
O meu Código.
Esse é a verção Uniforce1.0. Incompleta!
- Código:
import java.util.Scanner;
/**********************************************************************************************************************/
class Soldado
{
int numero;
String aparencia;
int velocidade;
Soldado (int a , String b,int c)
{
numero = a;
aparencia = b;
velocidade = c;
}
void MostrarSoldado()
{
System.out.println("Numero: "+numero);
System.out.println("Aparencia: "+aparencia);
System.out.println("Velocidade: "+velocidade);
}
}
/**********************************************************************************************************************/
class Exercito
{
Soldado [] grupoSoldado;
Exercito(Soldado... a)
{
grupoSoldado = new Soldado [a.length];
for(int i = 0; i<grupoSoldado.length;i++)
{
grupoSoldado[i] = a[i];
}
}
void MostarAparencia(int a)
{
for(int i = 0; i<grupoSoldado.length;i++)
{
if(a-1==i)
{
System.out.print(grupoSoldado[i].aparencia);
}
}
}
void Fixa()
{
for(int i = 0; i<grupoSoldado.length;i++)
{
grupoSoldado[i].MostrarSoldado();
}
}
boolean Existe(int n)
{
for(int i = 0; i<grupoSoldado.length;i++)
{
if(grupoSoldado[i].numero == n)
{
return true;
}
}
return false;
}
int Velocidade(int n)
{
for(int i = 0; i<grupoSoldado.length;i++)
{
if(grupoSoldado[i].numero == n)
{
return grupoSoldado[i].velocidade;
}
}
return 0;
}
int maiorVelocidade(String n)
{
int m = 0;
if(n == "a")
{
for(int i = 0; i<(grupoSoldado.length/2);i++)
{
if(grupoSoldado[i].velocidade > m)
{
m = grupoSoldado[i].velocidade;
}
}
return m;
}
else
{
for(int i = (grupoSoldado.length/2); i<grupoSoldado.length;i++)
{
if(grupoSoldado[i].velocidade > m)
{
m = grupoSoldado[i].velocidade;
}
}
return m;
}
}
}
/*====================================================================================================================*/
public class Uniforce1
{
static int NUMEROD = 20;
/**
* @throws InterruptedException ********************************************************************************************************************/
public static void main(String[] args) throws InterruptedException
{
Soldado A1 = new Soldado(1,"Ô",1);
Soldado A2 = new Soldado(2,"Ö",2);
Soldado A3 = new Soldado(3,"O",4);
Soldado A4 = new Soldado(4,"Ò",6);
Soldado A5 = new Soldado(5,"Õ",12);
Soldado V1 = new Soldado(6,"Î",2);
Soldado V2 = new Soldado(7,"Ï",4);
Soldado V3 = new Soldado(8,"Í",6);
Soldado V4 = new Soldado(9,"Ì",3);
Soldado V5 = new Soldado(10,"I",8);
Exercito soldado = new Exercito(A1,A2,A3,A4,A5,V1,V2,V3,V4,V5);
soldado.Fixa();
Scanner sc = new Scanner(System.in);
int[][] campoBatalha = PosicaoRand();
DezenharTerreno(campoBatalha, soldado);
Thread.sleep(1000);
System.out.println("");
Rodada(campoBatalha, soldado);
}
/**
* @throws InterruptedException ********************************************************************************************************************/
static void Rodada(int [][] campoBatalha,Exercito soldado) throws InterruptedException
{
String enter = " ";
int [] posicao = new int [2];
int [] qualLado = new int [10];
while(enter != "n")
{
for(int i=0;i<10;i++)
{
qualLado[i] = (int)((Math.random())*2);
}
for(int i=0;i<10;i++)
{
qualLado[i] = qualLado[i] + (int)((Math.random())*2);
}
for(int i=0;i<10;i++)
{
qualLado[i] = qualLado[i] + (int)((Math.random())*2);
}
for(int i=0;i<10;i++)
{
qualLado[i] = qualLado[i] + 1;
}
for(int pas = 0;pas< soldado.maiorVelocidade("a");pas++)
{
for(int eu=1;eu<=5;eu++)
{
if(soldado.Existe(eu))
{
if(soldado.Velocidade(eu)>pas)
{
posicao = OndeTo(campoBatalha,eu);
campoBatalha[posicao[0]][posicao[1]] = 0;
// qualLado = ((int)(Math.random() * 3))+1;
posicao = OndeVo(soldado,campoBatalha,eu,posicao,qualLado);
campoBatalha[posicao[0]][posicao[1]] = eu;
qualLado [eu-1] = posicao [2];
}
}
}
DezenharTerreno(campoBatalha, soldado);
Thread.sleep(250);
System.out.println("");
}
for(int pas = 0;pas< soldado.maiorVelocidade("v");pas++)
{
for(int eu=6;eu<=10;eu++)
{
if(soldado.Existe(eu))
{
if(soldado.Velocidade(eu)>pas)
{
posicao = OndeTo(campoBatalha,eu);
campoBatalha[posicao[0]][posicao[1]] = 0;
// qualLado = ((int)(Math.random() * 3))+1;
posicao = OndeVo(soldado,campoBatalha,eu,posicao,qualLado);
campoBatalha[posicao[0]][posicao[1]] = eu;
qualLado [eu-1] = posicao [2];
}
}
}
DezenharTerreno(campoBatalha, soldado);
Thread.sleep(250);
System.out.println("");
}
}
}
/**********************************************************************************************************************/
static void DezenharTerreno (int [][] mapa, Exercito soldado)
{
for(int j = 0; j<NUMEROD; j++)
{
System.out.print("|");
for (int i = 0; i<NUMEROD; i++)
{
switch (mapa [i][j])
{
case 1:
soldado.MostarAparencia(1);
break;
case 2:
soldado.MostarAparencia(2);
break;
case 3:
soldado.MostarAparencia(3);
break;
case 4:
soldado.MostarAparencia(4);
break;
case 5:
soldado.MostarAparencia(5);
break;
case 6:
soldado.MostarAparencia(6);
break;
case 7:
soldado.MostarAparencia(7);
break;
case 8:
soldado.MostarAparencia(8);
break;
case 9:
soldado.MostarAparencia(9);
break;
case 10:
soldado.MostarAparencia(10);
break;
default:
System.out.print("-");
break;
}
System.out.print("|");
}
System.out.println("");
}
}
/**********************************************************************************************************************/
static int [][] PosicaoRand()
{
int numeroI;
int numeroJ;
int [][] campoBatalha = new int [NUMEROD][NUMEROD];
for(int j = 0; j<NUMEROD; j++)
{
for (int i = 0; i<NUMEROD; i++)
{
campoBatalha[i][j] = 0;
}
}
for(int x = 0; x<10 ; x++)
{
numeroI = (int)(Math.random() * 20);
numeroJ = (int)(Math.random() * 20);
if(campoBatalha [numeroI][numeroJ] == 0)
{
campoBatalha [numeroI][numeroJ] = (x+1);
}
}
return campoBatalha;
}
/**********************************************************************************************************************/
// static int [][] Movimentar(Exercito soldado, int [][] campoBatalha, int eu)
// {
// int [] posicao = new int [2];
// if(soldado.Existe(eu))
// {
// posicao = OndeTo(campoBatalha,eu);
// System.out.println("1-"+posicao[0]+" "+posicao[1]);
// campoBatalha[posicao[0]][posicao[1]] = 0;
// posicao = OndeVo(soldado,campoBatalha,eu,posicao);
// System.out.println("2-"+posicao[0]+" "+posicao[1]);
// campoBatalha[posicao[0]][posicao[1]] = eu;
// return campoBatalha;
// }
// return campoBatalha;
// }
/**********************************************************************************************************************/
static int [] OndeTo (int [][]campoBatalha, int eu)
{
int [] posicao = new int [2];
for(int j = 0; j<NUMEROD; j++)
{
for (int i = 0; i<NUMEROD; i++)
{
if(campoBatalha[i][j] == eu)
{
posicao [0]= i;
posicao [1]= j;
return posicao;
}
}
}
System.out.println("Erro no OndeTo");
return null;
}
/**********************************************************************************************************************/
// static int QualLado()
// {
// return 0;
// }
/**********************************************************************************************************************/
static int [] OndeVo (Exercito soldado, int [][] campoBatalha, int eu, int [] posicao, int [] qualLado)
{
int velocidade;
int [] nposicao = new int [3];
int i = posicao [0];
int j = posicao [1];
velocidade = 1;
// velocidade = soldado.Velocidade(eu);
// random = ((int)(Math.random() * 3))+1;
// System.out.println("Random"+random);
switch(qualLado[eu-1])
{
case 1:
if(TemAlguem(velocidade, 1, posicao, campoBatalha))
{
nposicao [0] = i + velocidade;
nposicao [1] = j;
nposicao [2] = 1;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 2, posicao, campoBatalha))
{
nposicao [0] = i - velocidade;
nposicao [1] = j;
nposicao [2] = 2;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 3, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j - velocidade;
nposicao [2] = 3;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 4, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j + velocidade;
nposicao [2] = 4;
return nposicao;
}
else
{
nposicao [0] = i;
nposicao [1] = j;
nposicao [2] = 1;
return nposicao;
}
}
}
}
case 2:
if(TemAlguem(velocidade, 2, posicao, campoBatalha))
{
nposicao [0] = i - velocidade;
nposicao [1] = j;
nposicao [2] = 2;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 1, posicao, campoBatalha))
{
nposicao [0] = i + velocidade;
nposicao [1] = j;
nposicao [2] = 1;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 3, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j - velocidade;
nposicao [2] = 3;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 4, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j + velocidade;
nposicao [2] = 4;
return nposicao;
}
else
{
nposicao [0] = i;
nposicao [1] = j;
nposicao [2] = 2;
return nposicao;
}
}
}
}
case 3:
if(TemAlguem(velocidade, 3, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j - velocidade;
nposicao [2] = 3;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 4, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j + velocidade;
nposicao [2] = 4;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 1, posicao, campoBatalha))
{
nposicao [0] = i + velocidade;
nposicao [1] = j;
nposicao [2] = 1;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 2, posicao, campoBatalha))
{
nposicao [0] = i - velocidade;
nposicao [1] = j;
nposicao [2] = 2;
return nposicao;
}
else
{
nposicao [0] = i;
nposicao [1] = j;
nposicao [2] = 3;
return nposicao;
}
}
}
}
case 4:
if(TemAlguem(velocidade, 4, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j + velocidade;
nposicao [2] = 4;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 3, posicao, campoBatalha))
{
nposicao [0] = i;
nposicao [1] = j - velocidade;
nposicao [2] = 3;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 2, posicao, campoBatalha))
{
nposicao [0] = i - velocidade;
nposicao [1] = j;
nposicao [2] = 2;
return nposicao;
}
else
{
if(TemAlguem(velocidade, 1, posicao, campoBatalha))
{
nposicao [0] = i + velocidade;
nposicao [1] = j;
nposicao [2] = 1;
return nposicao;
}
else
{
nposicao [0] = i;
nposicao [1] = j;
nposicao [2] = 4;
return nposicao;
}
}
}
}
default:
nposicao [0] = i;
nposicao [1] = j;
nposicao [2] = qualLado[eu-1];
return nposicao;
}
}
/**********************************************************************************************************************/
static boolean TemAlguem (int intervalo, int direcao, int [] posicao, int [][] campoBatalha)
{
int contagem;
int i = posicao [0];
int j = posicao [1];
switch(direcao)
{
case 1:
if((i + intervalo) < NUMEROD)
{
// System.out.println("Ta dentro 1-"+(i + intervalo));
contagem = 0;
for(int nbloco = 0; nbloco<intervalo; nbloco++)
{
if(campoBatalha[i+(intervalo-nbloco)][j] == 0)
{
contagem++;
}
}
if(contagem == intervalo){return true;}
else {return false;}
}
else {return false;}
case 2:
if((i-intervalo) >= 0)
{
// System.out.println("Ta dentro 2-"+(i-intervalo));
contagem = 0;
for(int nbloco = 0; nbloco<intervalo; nbloco++)
{
if(campoBatalha[i-(intervalo-nbloco)][j] == 0)
{
contagem++;
}
}
if(contagem == intervalo){return true;}
else {return false;}
}
else {return false;}
case 3:
if((j-intervalo) >= 0)
{
// System.out.println("Ta dentro 3-"+(j-intervalo));
contagem = 0;
for(int nbloco = 0; nbloco<intervalo; nbloco++)
{
if(campoBatalha[i][j-(intervalo-nbloco)] == 0)
{
contagem++;
}
}
if(contagem == intervalo){return true;}
else {return false;}
}
else {return false;}
case 4:
if((j+intervalo) < NUMEROD)
{
// System.out.println("Ta dentro 4-"+(j+intervalo));
contagem = 0;
for(int nbloco = 0; nbloco<intervalo; nbloco++)
{
if(campoBatalha[i][j+(intervalo-nbloco)] == 0)
{
contagem++;
}
}
if(contagem == intervalo){return true;}
else {return false;}
}
else {return false;}
}
System.out.println("Erro em TemAlguem.");
return false;
}
}
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS :: Trabalhos :: Trabalho UniFORCE – UNIFOR Command Environment
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|
Sáb maio 19, 2012 4:38 pm por backers
» O meu Código.
Qua maio 16, 2012 3:07 pm por Admin
» Livro de matematica..
Qua maio 02, 2012 11:57 am por guiltm
» Brincado com as matrizes em C
Qua Abr 25, 2012 3:26 pm por Narciso CS
» Como encontrar um numero Primo na matriz?
Ter Abr 24, 2012 12:14 pm por Admin
» EXERCÍCIOS – MÓDULO 02
Sáb Abr 14, 2012 11:41 am por Anderson G S
» Soma de Pares, Soma de Impares, Maior, Menor, Soma e Media
Qua Abr 11, 2012 12:45 pm por Convidado
» EXERCÍCIOS – MÓDULO 01
Qua Abr 11, 2012 1:25 am por Anderson G S
» Como perguntar se ele deseja continuar jogando?
Qua Abr 04, 2012 5:39 pm por Anderson G S