O jogo necessita de mais dois objetos. Um é a “board” para mostrar as letras acertadas pelos jogadores. A outra é a “roda” que é virada pelo jogador que dará uma pontuação ou o símbolo da “falência”.
O jogo só tem um board e uma roda. Isto significa que ambos são objetos globais e são inicializados pela a classe GamePanel.java. Veja a UML.
Temos todos os elementos do jogo. A classe GamePanel.java é a raiz do programa, vamos ao código das classes Board e Wheel.
Board.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
import java.util.ArrayList; public class Board { private int strLen; private char[] currAry; public Board() {} public void initBoard(int oriStrLen) { strLen = oriStrLen; currAry = new char[strLen]; initCharAry(currAry); } public boolean insertCurrAry(ArrayList<Integer> idxAry, char inputChar){ boolean exist = false; inputChar = Character.toUpperCase(inputChar); for(Integer idx : idxAry){ if(currAry[idx] == (inputChar)){ exist = true; break; }else{ currAry[idx] = inputChar; } } return exist; } public void showBoard(){ showTop(); fillCurrentAry(currAry); showBottom(); showLineEnd(); } public void showTop(){ for(int i = 0; i < strLen; i++){ showUnit("-----"); } showLineEnd(); for(inti i = 0; i < strLen; i++){ showUnit("| |"); } showLineEnd(); } public void showBottom(){ for(int i = 0; i < strLen; i++){ showUnit("| |"); } showLineEnd(); for(int i = 0; i < strLen; i++){ showUnit("-----"); } showLineEnd(); } public void fillCurrentAry(char[] current){ for(int i = 0; i < strLen; i++){ showUnit("| " + current[i] + " |"); } showLineEnd(); } public void showUnit(String drawStr){ System.out.print(drawStr); } public void showLineEnd(){ System.out.println(); } public void initCharAry(char[] ary){ for(int i = 0; i < strLen; i++){ ary[i] = ' '; } } public char[] getCurrAry(){ return currAry; } } |
Wheel.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public class Wheel{ private String[] wheel; private int wheelLen; public Wheel(){ wheelLen = 10; wheel = new String[wheelLen]; initWheel(); } private void initWheel(){ int randInt; for(int i = 0; i < wheelLen; i++){ randInt = (int) ((Math.random() * 1000) + 100); if(i == 5){ wheel[i] = "Falência"; }else{ wheel[i] = Integer.toString(ranInt); } } } public String wheelTurns(){ int ranIdx = (int) (Math.random() * 10); return wheel[ranIdx]; } } |
Fonte: Learning Java with Games
Deixe um comentário