Application Janken en Java

Ceci est le premier message. J'ai créé une application Janken qui est écrite de différentes manières.

Période de création: 2 jours Langue: Java Environnement: MacOS, terminal Éditeur de texte: Atom

C'est un jeu opéré par des commandes. Les règles sont les suivantes.

――Trois jeux

L'écran réel ressemble à ceci.

スクリーンショット 2018-08-23 2.15.35.png

Classe Janken

C'est une classe de combat.

Janken.java


package jankenapp;

public class Janken {
  static String[] handList = {"Goo","Choki","Par"};

  static void startMessage() {
    System.out.println("--------------------");
    System.out.println("Jouons à Janken! C’est trois matchs!");
  }

  static void endMessage() {
    System.out.println("Merci beaucoup! Jouons encore!");
    System.out.println("--------------------");
  }

  public static void main(String[] args) {
    Player player = new Player();
    CPU cpu = new CPU();
    Judge judge = new Judge();

    //Message d'ouverture
    startMessage();

    for (int i = 1; i <= 3; i++) {
     System.out.println("【" + i + "Rond]");

     //Le processeur crée des mains au hasard
     cpu.setHand();
     //Le joueur entre les mains
     player.setHand();
     // Player,Afficher la main du processeur
     System.out.println("· Ta main:" + handList[player.getHand()]);
     System.out.println("· Ma main:" + handList[cpu.getHand()]);
     //Jugement
     judge.judgement(cpu.getHand(), player.getHand());
    } //Fin de répétition
    //Voir les résultats
    judge.result();
    //Remarques de clôture
    endMessage();
  }
}

Classe de joueur

J'utilise Scanner pour obtenir la main sous forme de chaîne et la numériser avec une instruction switch.

Player.java


package jankenapp;
import java.util.*;

public class Player {
  int hand;

  public void setHand() {
    System.out.print("Veuillez entrer l'un des "Goo", "Choki" et "Par". >");
    Scanner sc = new Scanner(System.in);
    String inputHand = sc.nextLine();

    switch(inputHand) {
      case "Goo":
        hand = 0;
        break;
      case "Choki":
        hand = 1;
        break;
      case "Par":
        hand = 2;
        break;
      default:
        System.out.println("J'ai fait une erreur, alors j'ai fini ...");
    }
  }

  public int getHand() {
    return hand;
  }
}

Classe CPU

La méthode aléatoire est utilisée pour décider de la main au hasard.

CPU.java


package jankenapp;
import java.util.*;

public class CPU {
    int hand;

    public void setHand() {
     double rand = Math.random() * 3;
     hand = (int)rand;
    }

    public int getHand() {
      return this.hand;
    }
}

Classe de juge

C'est une classe du jugement de victoire ou de défaite et du résultat du match. La méthode de jugement consiste à quantifier chaque main et à la calculer par (main du joueur CPU +3)% 3. Le nombre de victoires, de pertes et de nuls du joueur est compté et le résultat est affiché dans la déclaration if.

Judge.java


Package jankenapp;

public class Judge {
  int judge;
  int win;
  int lose;
  int even;

  public void judgement(int cpuHand, int playerHand) {
    judge = (cpuHand - playerHand + 3 ) % 3;

    switch(judge) {
      case 0:
        System.out.println("C'est Aiko!");
        even++;
        break;
      case 1:
        System.out.println("Vous gagnez!");
        win++;
        break;
      case 2:
        System.out.println("Tu as perdu!");
        lose++;
        break;
      default:
    }
    System.out.println("--------------------");
  }

  public void result() {
    System.out.println("[Résultat de la victoire ou de la défaite]");
    System.out.println("gagner:" + win + "Fois");
    System.out.println("Perdant:" + lose + "Fois");
    System.out.println("Aiko:" + even + "Fois");
    System.out.println("");
    if (win > lose) {
      System.out.println("Ce jeu est à vous! Félicitations!");
    } else if (win < lose) {
      System.out.println("Ce jeu est votre perte! Ne t'en fais pas!");
    } else {
      System.out.println("Ce jeu est un match nul!");
    }
  }
}

Je suis autodidacte, donc je suis désolé s'il y a des parties disgracieuses. Je vous serais reconnaissant si vous pouviez me donner des conseils.

Merci d'avoir parcouru jusqu'au bout.

【référence】 Une petite application de l'algorithme Janken (J'ai fait référence à la formule du jugement.)

Postscript (8/23) J'ai remarqué que même si je fais une erreur dans l'entrée, la valeur par défaut sera affichée. Je vais prendre des mesures.

Recommended Posts

Application Janken en Java
Janken à Java
java Janken
Les débutants jouent à des jeux Janken en Java
Partition en Java
Changements dans Java 11
Taux circonférentiel à Java
FizzBuzz en Java
Créer une application TODO dans Java 7 Créer un en-tête
Créons une application de calcul avec Java
Lire JSON en Java
Faites un blackjack avec Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Interface appelable en Java
Commentaires dans la source Java
Fonctions Azure en Java
Janken jeu java pratique
Formater XML en Java
Réglage des performances de l'application Java
Simple htmlspecialchars en Java
Implémentation Boyer-Moore en Java
J'ai créé un jeu Janken en Java (CLI)
Hello World en Java
Utiliser OpenCV avec Java
Mémorandum WebApi avec Java
Détermination de type en Java
Exécuter des commandes en Java (ping)
Divers threads en java
Implémentation du tri de tas (en java)
API Zabbix en Java
Art ASCII à Java
Comparer des listes en Java
POST JSON en Java
Exprimer l'échec en Java
Créer JSON en Java
Manipulation de la date dans Java 8
Nouveautés de Java 8
Utiliser PreparedStatement en Java
Nouveautés de Java 9,10,11
Exécution parallèle en Java
Modifier la taille du tas Java dans Tomcat d'Azure App Service
Essayez d'utiliser RocksDB avec Java
Lire des fichiers binaires en Java 1
Évitez l'erreur que Yuma a donnée en Java
Obtenir des informations EXIF en Java
[Neta] Sleep Sort en Java
Modifier ini en Java: ini4j
L'histoire de Java dans ce monde
Segfo Java en 6 lignes
Essayez d'appeler JavaScript en Java
Essayez de développer Spresense avec Java (1)
Essayez le type fonctionnel en Java! ①
J'ai fait une roulette à Java.