・ Goo: 1, Choki: 2, Par: 3. ・ Die Anzahl der Gegner beträgt 1 zu 1. ・ Die Anzahl der Schlachten beträgt eins.
Main.java Hauptklasse
package janken;
public class Main {
public static void main(String[] args) {
GameController gc = new GameController();
gc.start(); //Spiel starten
gc.end(); //Spiel ist aus
}
}
GameController.java Janken Game Controller Klasse
package janken;
/**
* GameController Class
*Kontrolliere das Spiel
* @author user
*
*/
public class GameController {
private Hand myHand;;
private Hand opponentHand;
private Rule rule;
/**
*Konstrukteur
*/
public GameController() {
this.rule = new Rule();
this.myHand = new Hand();
this.opponentHand = new Hand();
}
/**
* start method
*Starte das Spiel
*/
public void start() {
System.out.println("Ich werde anfangen Janken zu spielen.");
do {
myHand.setHand();
opponentHand.setRandomHand();
rule.showHands(myHand, opponentHand);
}while(rule.isDraw(myHand, opponentHand));
rule.showResult(myHand, opponentHand);
}
/**
* end method
*Beende das Spiel
*/
public void end() {
System.out.println("Ich werde die Stein-Papier-Schere fertigstellen.");
}
}
Hand.java Janken's Handobjektklasse
package janken;
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
/**
* Hand Class
*Janken's Handobjektklasse
* @author user
*
*/
public class Hand {
private int hand;
/**
* setHand method
*Stellen Sie die Hände mit Standardeingabe ein
*/
public void setHand() {
System.out.println("Bitte geben Sie Ihre Hand ein.");
System.out.println("Goo: 1, Choki: 2, Par: 3");
while(true) {
try {
Scanner scan = new Scanner(System.in);
this.hand = scan.nextInt();
break;
}catch(InputMismatchException e){
System.out.println("Bitte geben Sie einen Zahlenwert ein.");
}
}
}
/**
* setRandomHand method
*Stellen Sie zufällig die Hände ein
*/
public void setRandomHand() {
Random random = new Random();
this.hand = random.nextInt(3)+1;
}
/**
* handName method
*Gibt den Namen der Hand zurück
* @return
*/
public String handName() {
String handName = null;
if(this.hand == 1) handName = "Schmiere";
if(this.hand == 2) handName = "Choki";
if(this.hand == 3) handName = "Par";
return handName;
}
/**
* hand method
*Gibt den Wert der Hand zurück
* @return
*/
public int hand() {
return this.hand;
}
}
Rule.java Klasse, die die Regeln von Janken definiert
package janken;
/**
* Rule Class
*Klasse, die die Regel definiert
* @author user
*
*/
public class Rule {
/**
* showHands method
*Zeigen Sie Ihre eigene Hand und die Hand des anderen an.
* @param myHand
* @param opponetHand
*/
public void showHands(Hand myHand, Hand opponetHand) {
System.out.print("Meine Hand ist"+ myHand.handName() +"。");
System.out.print("Die Hand der anderen Partei"+ opponetHand.handName() +"。");
System.out.println("");
}
/**
* isDraw method
*Richter Aiko
* @param myHand
* @param opponetHand
* @return
*/
public boolean isDraw(Hand myHand, Hand opponetHand) {
if(myHand.hand() == opponetHand.hand()) {
System.out.println("Aiko!");
return true;
}
return false;
}
/**
* showResult method
*Zeigen Sie das Ergebnis eines Sieges oder einer Niederlage an
* @param myHand
* @param opponetHand
*/
public void showResult(Hand myHand, Hand opponetHand) {
String result;
// 1:Goo, 2: Choki, 3:Par
if((myHand.hand() == 1 && opponetHand.hand() == 2) ||
(myHand.hand() == 2 && opponetHand.hand() == 3) ||
(myHand.hand() == 3 && opponetHand.hand() == 1)) {
result = "Sieg";
}else {
result = "Verlieren";
}
System.out.println("Ihre" + result + "ist.");
}
}
Github https://github.com/TakumiKondo/janken
Recommended Posts