Janken App in Java

Dies ist der erste Beitrag. Ich habe eine Janken-App erstellt, die auf verschiedene Arten geschrieben ist.

Erstellungszeitraum: 2 Tage Sprache: Java Umgebung: MacOS, Terminal Texteditor: Atom

Es ist ein Spiel, das von Befehlen bedient wird. Die Regeln sind wie folgt.

――Drei Spiele

Der eigentliche Bildschirm sieht so aus.

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

Janken Klasse

Es ist eine Kampfklasse.

Janken.java


package jankenapp;

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

  static void startMessage() {
    System.out.println("--------------------");
    System.out.println("Lass uns Janken spielen! Es sind drei Spiele!");
  }

  static void endMessage() {
    System.out.println("Vielen Dank! Lass uns nochmal spielen!");
    System.out.println("--------------------");
  }

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

    //Eröffnungsgruß
    startMessage();

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

     //CPU erstellt zufällig Hände
     cpu.setHand();
     //Spieler gibt Hände ein
     player.setHand();
     // Player,CPU-Hand anzeigen
     System.out.println("· Deine Hand:" + handList[player.getHand()]);
     System.out.println("· Meine Hand:" + handList[cpu.getHand()]);
     //Beurteilung
     judge.judgement(cpu.getHand(), player.getHand());
    } //Ende der Wiederholung
    //Ergebnisse anzeigen
    judge.result();
    //Schlußbemerkungen
    endMessage();
  }
}

Spielerklasse

Ich benutze Scanner, um die Hand als Zeichenfolge zu erhalten und sie mit einer switch-Anweisung zu digitalisieren.

Player.java


package jankenapp;
import java.util.*;

public class Player {
  int hand;

  public void setHand() {
    System.out.print("Bitte geben Sie eines von "Goo", "Choki" und "Par" ein. >");
    Scanner sc = new Scanner(System.in);
    String inputHand = sc.nextLine();

    switch(inputHand) {
      case "Schmiere":
        hand = 0;
        break;
      case "Choki":
        hand = 1;
        break;
      case "Par":
        hand = 2;
        break;
      default:
        System.out.println("Ich habe einen Fehler gemacht, also bin ich fertig ...");
    }
  }

  public int getHand() {
    return hand;
  }
}

CPU-Klasse

Die Zufallsmethode wird verwendet, um die Hand zufällig zu entscheiden.

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;
    }
}

Richterklasse

Es ist eine Klasse des Urteils über Sieg oder Niederlage und das Ergebnis des Spiels. Die Beurteilungsmethode besteht darin, jede Hand zu quantifizieren und mit (Hand des CPU-Handspielers +3)% 3 zu berechnen. Die Anzahl der Gewinne, Verluste und Unentschieden des Spielers wird gezählt und das Ergebnis in der if-Anweisung angezeigt.

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("Das ist Aiko!");
        even++;
        break;
      case 1:
        System.out.println("Du gewinnst!");
        win++;
        break;
      case 2:
        System.out.println("Du verlierst!");
        lose++;
        break;
      default:
    }
    System.out.println("--------------------");
  }

  public void result() {
    System.out.println("[Ergebnis von Sieg oder Niederlage]");
    System.out.println("Sieg:" + win + "Mal");
    System.out.println("Verlieren:" + lose + "Mal");
    System.out.println("Aiko:" + even + "Mal");
    System.out.println("");
    if (win > lose) {
      System.out.println("Dieses Spiel gehört dir! Glückwunsch!");
    } else if (win < lose) {
      System.out.println("Dieses Spiel ist dein Verlust! Habe nichts dagegen!");
    } else {
      System.out.println("Dieses Spiel ist ein Unentschieden!");
    }
  }
}

Ich lerne selbst, es tut mir leid, wenn es unansehnliche Teile gibt. Ich wäre Ihnen dankbar, wenn Sie mir einen Rat geben könnten.

Vielen Dank für das Durchsuchen bis zum Ende.

【Referenz】 Eine kleine Anwendung des Janken-Algorithmus (Ich bezog mich auf die Urteilsformel.)

Nachtrag (8/23) Ich habe festgestellt, dass selbst wenn ich einen Fehler in der Eingabe mache, der Standardwert eine Gänsehaut ergibt. Ich werde Maßnahmen ergreifen.

Recommended Posts

Janken App in Java
Janken in Java
Java Janken
Anfänger spielen Janken-Spiele in Java
Partisierung in Java
Änderungen in Java 11
Umfangsrate in Java
FizzBuzz in Java
Erstellen Sie eine TODO-App in Java 7 Create Header
Lassen Sie uns eine Taschenrechner-App mit Java erstellen
Lesen Sie JSON in Java
Machen Sie einen Blackjack mit Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
NVL-artiger Typ in Java
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Azure funktioniert in Java
Janken Spiel Java-Praxis
Formatieren Sie XML in Java
Leistungsoptimierung für Java-Apps
Einfache HTML-Spezialchars in Java
Boyer-Moore-Implementierung in Java
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Ändern Sie die Größe des Java-Heapspeichers in Tomcat von Azure App Service
Versuchen Sie es mit RocksDB mit Java
Lesen Sie Binärdateien in Java 1
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Holen Sie sich EXIF-Informationen in Java
[Neta] Sleep Sort in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Segfo Java in 6 Zeilen
Versuchen Sie, JavaScript in Java aufzurufen
Lassen Sie uns Spresense mit Java entwickeln (1)
Probieren Sie den Funktionstyp in Java aus! ①
Ich habe ein Roulette in Java gemacht.