Lerne Java mit Progate → Ich werde es erklären, weil ich selbst ein einfaches Spiel gemacht habe

Was ich im Java-Kurs von Progate gelernt habe

Ich habe die kostenpflichtige Version von Progate verwendet, um alle Java-Kurse zu löschen. Java-Kurse werden in zwei Typen unterteilt. (Stand 06/03/2018) Der Lernkurs ist ein Kurs, in dem Sie die Grundlagen verstehen können, während die Folien erklären, wie Java funktioniert. Der Dojo-Kurs verwendet das, was Sie im Lernkurs gelernt haben, während Sie sich die minimale Erklärung ansehen. Dies ist ein Kurs, um eine Arbeit zu machen. Dies sind die drei Funktionen, die ich an Java erstaunlich fand.

--Methode ... Ein Mechanismus zum Erstellen eigener Aktionen und zum Ausgeben von Befehlen an das Programm ――Objektorientiert ... Ein Mechanismus zum Erstellen von Zeichen (Klassen) mit Aktionen in der Programmwelt

In Java wird ein Zeichen als Klasse bezeichnet. Ich habe beschlossen, ein Spiel mit diesen drei Funktionen selbst zu machen.

Kapitaltheoretisches Spiel

Die Theorie des Kapitals wurde von einem Onkel namens Marx gedacht, "In dieser Welt sind Bedienstete und Angestellte arm, und diejenigen, die ihre eigenen Unternehmen und Produkte besitzen, werden reich." Die Idee ist.

Um dies zu bestätigen, habe ich eine Klasse namens Kapitalist (Menschen mit Produkten / Cap. Unten) und Arbeiter (Wor. Unten) erstellt und ein Spiel gemacht, um die Bewegung ihres zweiten Geldes zu sehen. ..

Grundlegende Informationen von zwei Personen

Diese beiden bestehen aus vier Status (Name, HP, Geld, Produkt).

Capitalist person1 = new Capitalist("Kapitalist", 10, 500000, 0);
Worker person2 = new Worker("Arbeiter", 10, 500000, 0);

Beide haben den gleichen Ausgangsstatus.

Super Klasse Person

In diesem Spiel haben wir eine Klasse namens Person that Cap. And Wor. Inherit erstellt.

class Person {
	protected String name;
	 protected int health;
	 protected int money;
	 protected double product;
	 
	 Person(String name, int health, int money, double product){
	     this.name = name;
	     this.health = health;
	     this.money = money;
	     this.product = product;
	 }
	 
	 public String getName() {
	    return this.name;
	  }
	  public int getHealth() {
	    return this.health;
	  }
	  public int getMoney() {
	    return this.money;
	  }
	  public double getProduct() {
	    return this.product;
	  }
	 
	 public void printData(){
	     System.out.println("Name:" + this.name);
	     System.out.println("Körperliche Stärke:" + this.health);
	     System.out.println("Ersparnisse:" + this.money);
       System.out.println("Produkt" + this.product);
	 }
	 }

Der Status der beiden ist gekapselt, sodass sie nur von einer Klasse abgerufen werden können, die von dieser Klasse erbt. Die beiden gemeinsame Methode ist die PrintOut () -Methode, die den Status ausgibt.

Klassenarbeiter

class Worker extends Person{
	 public Worker(String name, int health, int money, double product){
	        super(name, health, money, product);
	    }
	    public void work(){
	     if(this.health == 5){
	         this.health += 5;
	         this.money -= 20000;
	     }else if(this.health > 0){
	        this.health-= 2;
	        this.money+= 10000;
	     }else{
	         this.health += 5;
	         this.money -= 20000;
	     }
	 }
}

Wor. Arbeitet in 5 Tagen und ruht 2 Tage. Wenn ich HP habe, arbeite ich und wenn ich keine HP habe, ruhe ich mich aus, bis ich vollständig genesen bin. In diesem Spiel "Arbeiten" bedeutet, dass HP um 2 reduziert und das Geld um 10.000 erhöht wird. "Ausruhen" bedeutet, dass Sie Ihre HP um 5 erhöhen und Ihr Geld um 20000 reduzieren.

Mit anderen Worten, Wor. Verdient ungefähr 200.000 Yen pro Monat und gibt ungefähr 160.000 Yen aus. Sie können jeden Monat etwa 40.000 Yen sammeln.

Klassenkapitalist

class Capitalist extends Person{
	public Capitalist(String name, int health, int money, double product){
        super(name, health, money, product);
    }
 
    
    public void manage(){
     invest();
     harvest();
 }
 
 public void invest(){
      if(this.health == 5){
         this.health += 5;
         this.money -= 20000;
     }else if(this.health > 0){
        this.health -= 2;
        this.money -= 10000;
        this.product += 0.02;
     }else{
         this.health += 5;
         this.money -= 20000;
     }
 }
 public void harvest(){
     if(this.product >= 1){
         this.money += (int)product*1000;
     }
 }
}

Cap. Investiert 5 Tage und ruht 2 Tage wiederholt. Investieren Sie, wenn Sie HP haben, und ruhen Sie sich aus, bis Sie sich vollständig erholt haben, wenn Sie keine HP haben. In diesem Spiel "Arbeiten" bedeutet, dass Ihre HP um 2 reduziert werden, Ihr Geld um 10.000 reduziert wird und Ihr Produktstatus um 0,02 erhöht wird. "Ausruhen" bedeutet, dass Sie Ihre HP um 5 erhöhen und Ihr Geld um 20000 reduzieren. Mit anderen Worten, Cap. Spart in einem Monat etwa 360.000 Yen.

Ein anderes Cap. Hat eine Aktion namens Ernte. Wenn Cap. Ein Produkt herstellt (Produkt> = 1), erhalten Sie täglich die Nummer des Produkts * 1000 Yen. Ein Produkt ist in 50 Tagen fertig.

Ergebnis

Wiederholung der Aktionen von Cap. Und Wor., Wor. Verdiente in den ersten Jahren mehr Geld, aber Jahrzehnte später wurde Cap. Reicher.

image.png

image.png

Natürlich ist dieses Spiel nicht genau. Wor. Kann Gehaltserhöhungen, Boni, Jobwechselereignisse haben, Cap. Kann Investitionsausfälle und Ereignisse der Investitionseffizienz aufweisen.

Aus dieser Grafik habe ich jedoch herausgefunden, dass das, was in der Kapitaltheorie gesagt wird, ungefähr richtig ist. Ich werde versuchen, ein Kapitalist zu sein!

Recommended Posts

Lerne Java mit Progate → Ich werde es erklären, weil ich selbst ein einfaches Spiel gemacht habe
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
Ich habe eine shopify App @java erstellt
Ich habe mit Swing eine GUI erstellt
Ich habe mit Ruby einen riskanten Würfel gemacht
Ich habe eine Janken App mit Kotlin gemacht
Ich habe ein neues Java-Bereitstellungstool erstellt
Ich habe eine Janken App mit Android gemacht
[LINE BOT] Ich habe einen Ramen BOT mit Java (Maven) + Heroku + Spring Boot (1) gemacht.
Ich habe ein Diff-Tool für Java-Dateien erstellt
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Ich habe versucht, eine Standardauthentifizierung mit Java durchzuführen
04. Ich habe mit SpringBoot + Thymeleaf ein Frontend gemacht
Ich habe Mosaikkunst mit Pokemon-Bildern gemacht
Ich habe einen LINE Bot mit Rails + Heroku gemacht
Ich habe versucht, den Block mit Java zu brechen (1)
Ich habe mit Ruby On Rails ein Portfolio erstellt
[Ruby] Ich habe einen Crawler mit Anemone und Nokogiri gemacht.
Ich habe versucht, mit OCR eine PDF-Datei mit Java zu verarbeiten
Ich habe einen Wrapper erstellt, der KNP von Java aus aufruft
Ich habe versucht, ein Programm in Java zu erstellen, das das Problem des Handlungsreisenden mit einem genetischen Algorithmus löst
Ich habe versucht, mit Chocolatey eine Java8-Entwicklungsumgebung zu erstellen
Hat die Serverseite des Online-Kartenspiels gemacht ⑤
Ich habe die Serverseite des Online-Kartenspiels gemacht made
Ich habe eine Entwicklungsumgebung mit Rails6 + Docker + PostgreSQL + Materialise erstellt.
Ich habe versucht, eine Java EE-Anwendung mit OpenShift zu modernisieren.
Parkett-Tools gibt java.lang.ExceptionInInitializerError, also habe ich es mit java8 funktionieren lassen
[Anfänger] Versuchen Sie, mit Java ein einfaches RPG-Spiel zu erstellen ①
Ich habe ein Plug-In erstellt, das Jextract mit Gradle-Aufgaben ausführt
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
Ich möchte eine Liste mit Kotlin und Java erstellen!
Ich möchte eine Funktion mit Kotlin und Java erstellen!
Ich habe einen MOD erstellt, der sofort ein Fahrzeug mit Minecraft anruft
Ich habe die Serverseite des Online-Kartenspiels gemacht made
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich habe die Serverseite des Online-Kartenspiels gemacht made
Ich habe versucht, eine PDF-Datei mit Java part2 zu verarbeiten
Ich habe eine Docker-Datei erstellt, um Glassfish 5 mit Oracle Java zu starten