Im Jahr 2018 berührte ich verschiedene Sprachen auf halbem Weg und fühlte die Leere, dass ich verstehen konnte, was ich tun wollte, aber ich konnte nichts machen, das von mir selbst funktioniert, also konzentrierte ich mich darauf, nur Java / Kotlin zu lernen. ..
Ich habe mein Bestes versucht, um die Objektorientierung zu verstehen, aber sie ist subtil. ..
Übrigens ist es ein Spaghetti-Code.
Wie bei gewöhnlichen Janken gewinnt derjenige mit den meisten Punkten in fünf Spielen.
Der Nachteil ist, dass es unpraktisch ist, weil Sie nicht wissen, was der PC ausgegeben hat. ..
**Ich fühle mich so. ** ** **
console.
Gib deinem Spieler einen Namen
Anfänger
Kämpfe als Anfänger
[Janken starten]
[1. Runde]
===============
stone : 0
scissors : 1
paper : 2
===============
Bitte hier eingeben
1
----------------
Choki (Anfänger) gegen Goo
----------------
Anfänger verloren
:
:
:
:
[5. Runde]
===============
stone : 0
scissors : 1
paper : 2
===============
Bitte hier eingeben
2
----------------
Par(Anfänger) vs Par
----------------
Es ist eine Zeichnung
[Ende von Janken]
==================================
Ergebnis: [Unentschieden]
==================================
Main.java
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
import org.ietf.jgss.Oid;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Main implements jankeninterface{
public static void main(String[] args) throws IOException {
//Player-Einstellungen
Player p = new Player();
//Janken-Verarbeitung
Player.jankenbuttle();
//Ergebnisanzeige
result();
}
public static void result() {
System.out.println("");
System.out.println("[Ende von Janken]");
System.out.println("==================================");
if(Player.pcWinCount > Player.playerWinCount) {
System.out.println("Ergebnis: [PC gewonnen]");
}else if(Player.pcWinCount < Player.playerWinCount) {
System.out.println("Ergebnis:【"+Player.playername+"Gewonnen]");
}else {
System.out.println("Ergebnis: [Unentschieden]");
}
System.out.println("==================================");
}
}
Player.java
import java.io.IOException;
import java.util.Random;
import java.util.Scanner;
public class Player {
public static int playerWinCount = 0;
public static String playername;
public static int pcWinCount = 0;
public Player() {
// TODO Auto-generated constructor stub
createName();
}
public static void createName() {
System.out.println("Gib deinem Spieler einen Namen");
Scanner name = new Scanner(System.in);
playername = name.nextLine();
System.out.println(playername+"Kämpfe als");
}
public static void jankenbuttle() throws IOException {
System.out.println("[Janken starten]");
//Starten Sie Janken
for(int i = 1;i <= 5; i++) {
System.out.println("");
System.out.println("【"+i+"Runden]");
System.out.println("===============");
System.out.println("stone : 0");
System.out.println("scissors : 1");
System.out.println("paper : 2");
System.out.println("===============");
//PC Janken Hand
Random r = new Random();
int pcNum = r.nextInt(3);
System.out.println("Bitte hier eingeben");
//Spielerhand
Scanner s = new Scanner(System.in);
int playerNum = s.nextInt();
//Wenn der Spieler gewinnt
if(pcNum == 0 && playerNum == 2 ||
pcNum == 1 && playerNum == 0 ||
pcNum == 2 && playerNum == 1 ) {
playerWinCount++;
if(pcNum == 0) {
System.out.println("");
System.out.println("Par("+playername+"Herr.)vs goo");
}else if(pcNum == 1) {
System.out.println("");
System.out.println("Schmiere("+playername+"Herr.)vs choki");
}else {
System.out.println("");
System.out.println("Choki("+playername+"Herr.)vs Park");
}
System.out.println(playername+"Gewonnen");
//Wenn der Spieler verliert
}else if(pcNum == 0 && playerNum == 1||
pcNum == 1 && playerNum == 2||
pcNum == 2 && playerNum == 0) {
if(pcNum == 0) {
System.out.println("----------------");
System.out.println("Choki ("+playername+"San) gegen Goo");
System.out.println("----------------");
}else if(pcNum == 1) {
System.out.println("----------------");
System.out.println("Par("+playername+"Herr.)vs choki");
System.out.println("----------------");
}else {
System.out.println("----------------");
System.out.println("Schmiere("+playername+"Herr.)vs Park");
System.out.println("----------------");
}
pcWinCount++;
System.out.println(playername+"Hat verloren");
}else {
if(pcNum == 0) {
System.out.println("----------------");
System.out.println("Schmiere("+playername+"Herr.) vs Schmiere");
System.out.println("----------------");
}else if(pcNum == 1) {
System.out.println("----------------");
System.out.println("Choki("+playername+"Herr.) vs Choki");
System.out.println("----------------");
}else {
System.out.println("----------------");
System.out.println("Par("+playername+"Herr.) vs Par");
System.out.println("----------------");
}
System.out.println("Es ist eine Zeichnung");
}
}
}
}
javainterface.java
public interface jankeninterface {
public static final int stone = 0;
public static final int scissors = 1;
public static final int paper = 2;
}
Der Punkt, an dem Sie den Spielernamen bei jedem Start von Janken festlegen können
Das ist der Teil.
console.
Gib deinem Spieler einen Namen
->Anfänger
Kämpfe als Anfänger
Ich habe versucht, einen Namen in das Argument des Konstrukts zu schreiben, aber ich konnte ihm einen Namen geben, aber es würde sich nicht ändern, wenn ich ihn nicht im Quellcode geschrieben hätte, also habe ich mein Bestes versucht.
Ich muss härter arbeiten.
https://www.youtube.com/watch?v=FsRHdL_r0pE Warum Sie keine objektorientierte Entwicklung durchführen können
Recommended Posts