• Save
Resta um java
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Resta um java

on

  • 843 views

Projeto de um jogo resta um em Java , console.

Projeto de um jogo resta um em Java , console.

Statistics

Views

Total Views
843
Views on SlideShare
843
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Olá, Thalita. Estou tentando fazer um projeto parecido. voce poderia me mandar o seu por email para me ajudar?
    Desde ja Agradeço.

    robson.euclides@outlook.com
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Resta um java Document Transcript

  • 1. Tabuleiro package restaum; public class Tabuleiro { private int aux; private char[][] tabuleiro = { {' ',' ','x','x','x',' ',' '}, {' ',' ','x','x','x',' ',' '}, {'x','x','x','x','x','x','x'}, {'x','x','x','o','x','x','x'}, {'x','x','x','x','x','x','x'}, {' ',' ','x','x','x',' ',' '}, {' ',' ','x','x','x',' ',' '} }; public Tabuleiro(){ aux=32; } private void mostraTabuleiro(){ System.out.println(""); System.out.print(" "); for(int i=0;i<7;i++){ System.out.print(" "+i); } System.out.println("");
  • 2. for(int i = 0;i<7;i++){ System.out.print(i+" "); for(int j = 0;j<7;j++){ System.out.print(tabuleiro[i][j]+" "); } System.out.println(""); } System.out.println("PEÇAS: "+ aux ); } private Boolean verificaMov(Movimentar c){ if(c.getE() >6 | c.getE()<0 | c.getT() >6 | c.getT()<0){ return false; } if((c.getE()>4 | c.getE()<2)& (c.getT()<2 | c.getT()>4)){ return false; } return true; } private void jogada(){ System.out.print("PONTO PARA ONDE A PEÇA SERÁ MOVIMENTADA: n"); Movimentar rInicio = new Movimentar(Console.leInt("LINHA: "),Console.leInt("COLUNA: ")); System.out.print("PONTO PARA ONDE A PEÇA SERÁ MOVIMENTADA: n");
  • 3. Movimentar rFim = new Movimentar(Console.leInt("LINHA: "),Console.leInt("COLUNA: ")); if(!verificaMov(rInicio) | !verificaMov(rFim)){ System.out.println("MOVIMENTO INVALIDO PARA UMA DAS PEÇAS.n"); } else{ if(!verificaJogo(rInicio,rFim)){ System.out.print("JOGADA INVÁLIDA.n"); } else{ Movimentar rMeio = new Movimentar(0,0); if(rInicio.getE()!=rFim.getE()){ rMeio.setE((rInicio.getE()+rFim.getE())/2); rMeio.setT(rInicio.getT()); } else{ rMeio.setT((rInicio.getT()+rFim.getT())/2); rMeio.setE(rInicio.getE()); } tabuleiro[rFim.getE()][rFim.getT()]='x'; tabuleiro[rInicio.getE()][rInicio.getT()]='o'; tabuleiro[rMeio.getE()][rMeio.getT()]='o'; aux--; } }
  • 4. } public Boolean partida(){ do{ mostraTabuleiro(); jogada(); }while(temJogadas()); mostraTabuleiro(); if(aux>1){ return false; } else{ return true; } } private Boolean verificaJogo(Movimentar r1,Movimentar r2){ if(tabuleiro[r1.getE()][r1.getT()]!='x' | tabuleiro[r2.getE()][r2.getT()]!='o'){ return false; } if(r1.getE()==r2.getE() & r1.getT()==r2.getT()){ return false; }
  • 5. if(r1.getE()!=r2.getE() & r1.getT()!=r2.getT()){ return false; } if(r1.getE()==r2.getE()){ if(Math.abs(r1.getT()-r2.getT())!=2){ return false; } if(tabuleiro[r1.getE()][(r1.getT()+r2.getT())/2]!='x'){ return false; } } else{ if(Math.abs(r1.getE()-r2.getE())!=2){ return false; } if(tabuleiro[(r1.getE()+r2.getE())/2][r1.getT()]!='x'){ return false; } } return true; } private Boolean temJogadas(){ if(aux == 1){ return false; } for(int i=0;i<7;i++){ for(int j=0;j<5;j++){ if(tabuleiro[i][j] == 'x' & tabuleiro[i][j+1]=='x' & tabuleiro[i][j+2] =='o'){
  • 6. return true; } } for(int j=6;j>1;j--){ if(tabuleiro[i][j] == 'x' & tabuleiro[i][j-1]=='x' & tabuleiro[i][j-2] =='o'){ return true; } } } for(int j=0;j<7;j++){ for(int i=0;i<5;i++){ if(tabuleiro[i][j] == 'x' & tabuleiro[i+1][j]=='x' & tabuleiro[i+2][j]=='o'){ return true; } } for(int i=6;i>1;i--){ if(tabuleiro[i][j] == 'x' & tabuleiro[i-1][j]=='x' & tabuleiro[i- 2][j]=='o'){ return true; } } } return false; } }
  • 7. Movimentar package restaum; public class Movimentar { private int e; private int t; public Movimentar(int e,int t){ setE(e); setT(t); } public void setE(int e){ this.e=e; } public int getE(){ return e; } public void setT(int t){ this.t = t; } public int getT(){ return t; } }
  • 8. Principal package restaum; public class Principal { public static void main(String[] args) { System.out.println("nn JOGO RESTA 1(UM) DESENVOLVIDO POR THALITA DE LIMA CHAVES E EDSON DA SILVA PRACZYK ,n" +" ALUNOS DO CURSO ANÁLISE E DESENVOLVIMENTO DE SISTEMAS,n" +" ORIENTADOS PELA PROFESSORA FERNANDA - CURITIBA MARÇO DE 2013.nn"); int op=0; String[] opcoes = {"JOGAR","ENCERRAR PARTIDA"}; do{ op = Console.menu("JOGO RESTA UM", opcoes); switch(op){ case 1: Tabuleiro tabuleiro = new Tabuleiro(); if(tabuleiro.partida()){ System.out.println("PARABÉNS VOCÊ VENCEU."); } else{ System.out.println("INFELIZMENTE NÃO FOI DESTA VEZ, TENTE DENOVO ."); } break; case 2: System.out.println("FIM"); break; } }while(op!=2); } }
  • 9. Console package restaum; import java.util.Scanner; public class Console{ private static Scanner teclado = new Scanner(System.in); // método que lê uma String do teclado public static String leString(){ return teclado.nextLine(); } // método que mostra uma mensagem na tela e lê uma String do teclado. // caso a String seja nula ou em branco, repete a amostragem e a leitura. public static String leString (String txt){ String str=""; while (true){ System.out.print(txt); str=teclado.nextLine(); if (str!=null && !str.trim().equals("")) return str.trim(); } } // método que mostra uma mensagem na tela e lê um int do teclado. // caso o valor digitado não seja um número inteiro, repete a amostragem e a leitura public static int leInt(String txt){ while (true){ try{ return Integer.parseInt (leString(txt));
  • 10. }catch (NumberFormatException e){ System.out.println("Numero Invalido"); } } } // método que mostra uma mensagem e lê um double do teclado // caso o valor digitado não seja um número double, repete a amostragem e a leitura public static double leDouble(String txt){ while (true){ try{ return Double.parseDouble(leString(txt)); }catch (NumberFormatException e){ System.out.println("Numero Invalido"); } } } // método que mostra uma mensagem e lê um char do teclado // caso o valor digitado não seja um caracter, repete a amostragem e a leitura // caso seja digitado um texto, retorna apenas o 1o. caracter public static char leChar(String txt){ while (true){ try{ return leString(txt).charAt(0); }catch (NumberFormatException e){ System.out.println("Numero Invalido"); } }
  • 11. } // método que apresenta um menu na tela e retorna o número da opção selecionada public static int menu(String titulo, String[] opcoes){ int op = 0; while(true){ System.out.println(titulo); for(int i = 0; i < opcoes.length; i++){ System.out.println((i + 1) + ". " + opcoes[i]); } op = leInt("Opção: "); if (op > 0 && op <= opcoes.length) return op; else System.out.println("Opção inválida"); } } }