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.
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();
}
}
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;
}
}
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;
}
}
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