・ Goo: 1, Choki: 2, Par: 3. ・ Le nombre d'adversaires sera de 1 à 1. ・ Le nombre de batailles sera de un.
Main.java Classe principale
package janken;
public class Main {
public static void main(String[] args) {
GameController gc = new GameController();
gc.start(); //début du jeu
gc.end(); //Jeu terminé
}
}
GameController.java Classe de contrôleur de jeu Janken
package janken;
/**
* GameController Class
*Contrôlez le jeu
* @author user
*
*/
public class GameController {
private Hand myHand;;
private Hand opponentHand;
private Rule rule;
/**
*constructeur
*/
public GameController() {
this.rule = new Rule();
this.myHand = new Hand();
this.opponentHand = new Hand();
}
/**
* start method
*Commencer le jeu
*/
public void start() {
System.out.println("Je vais commencer à jouer à Janken.");
do {
myHand.setHand();
opponentHand.setRandomHand();
rule.showHands(myHand, opponentHand);
}while(rule.isDraw(myHand, opponentHand));
rule.showResult(myHand, opponentHand);
}
/**
* end method
*Terminez le jeu
*/
public void end() {
System.out.println("Je vais finir les ciseaux à papier-pierre.");
}
}
Hand.java Classe d'objets de la main de Janken
package janken;
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
/**
* Hand Class
*Classe d'objets de la main de Janken
* @author user
*
*/
public class Hand {
private int hand;
/**
* setHand method
*Mettre les mains avec une entrée standard
*/
public void setHand() {
System.out.println("Veuillez entrer votre main.");
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("Veuillez saisir une valeur numérique.");
}
}
}
/**
* setRandomHand method
*Mains fixées au hasard
*/
public void setRandomHand() {
Random random = new Random();
this.hand = random.nextInt(3)+1;
}
/**
* handName method
*Renvoie le nom de la main
* @return
*/
public String handName() {
String handName = null;
if(this.hand == 1) handName = "Goo";
if(this.hand == 2) handName = "Choki";
if(this.hand == 3) handName = "Par";
return handName;
}
/**
* hand method
*Renvoie la valeur de la main
* @return
*/
public int hand() {
return this.hand;
}
}
Rule.java Classe qui définit les règles de Janken
package janken;
/**
* Rule Class
*Classe qui définit la règle
* @author user
*
*/
public class Rule {
/**
* showHands method
*Montrez votre propre main et celle de l'autre.
* @param myHand
* @param opponetHand
*/
public void showHands(Hand myHand, Hand opponetHand) {
System.out.print("Ma main est"+ myHand.handName() +"。");
System.out.print("La main de l'autre partie"+ opponetHand.handName() +"。");
System.out.println("");
}
/**
* isDraw method
*Juge 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
*Afficher le résultat de la victoire ou de la défaite
* @param myHand
* @param opponetHand
*/
public void showResult(Hand myHand, Hand opponetHand) {
String result;
// 1:Goo, 2: Choki, 3 ans:Par
if((myHand.hand() == 1 && opponetHand.hand() == 2) ||
(myHand.hand() == 2 && opponetHand.hand() == 3) ||
(myHand.hand() == 3 && opponetHand.hand() == 1)) {
result = "gagner";
}else {
result = "Perdre";
}
System.out.println("votre" + result + "est.");
}
}
Github https://github.com/TakumiKondo/janken
Recommended Posts