Apprendre Java avec Progate → Je vais vous expliquer parce que j'ai moi-même créé un jeu de base

Ce que j'ai appris dans le cours Java de Progate

J'ai utilisé la version payante de Progate pour effacer tous les cours Java. Les cours Java sont divisés en deux types. (Au 06/03/2018) Le cours d'apprentissage est un cours permettant de comprendre les bases tout en ayant les diapositives expliquant le fonctionnement de Java. Le cours de dojo utilise ce que vous avez appris dans le cours d'apprentissage tout en regardant l'explication minimale. C'est un cours pour faire fonctionner un. Ce sont les trois fonctionnalités que j'ai trouvées étonnantes à propos de Java.

--Méthode ... Un mécanisme pour créer vos propres actions et émettre des commandes vers le programme ――Object-orienté ... Un mécanisme pour créer des personnages (classes) avec des actions dans le monde des programmes --Héritage ... Lors de la création de nombreux personnages (classes), un mécanisme pour combiner les informations et les actions qui leur sont communes en un seul

En Java, un caractère est appelé une classe. J'ai décidé de créer moi-même un jeu en utilisant ces trois fonctions.

Jeu de théorie du capital

La théorie du capital a été pensée par un oncle nommé Marx, «Dans ce monde, les domestiques et les salariés sont pauvres, et ceux qui possèdent leurs propres entreprises et produits deviennent riches». L'idée est.

Pour confirmer cela, j'ai créé une classe appelée Capitalist (People with products / Cap. Below) et Worker (Wor. Below), et j'ai fait un jeu pour voir le mouvement de leur deuxième argent. ..

Informations de base de deux personnes

Ces deux sont constitués de quatre statuts (nom, HP, argent, produit).

Capitalist person1 = new Capitalist("Capitaliste", 10, 500000, 0);
Worker person2 = new Worker("Ouvrier", 10, 500000, 0);

Les deux ont le même statut initial.

Personne de super classe

Dans ce jeu, nous avons créé une classe appelée Person that Cap. And Wor. Inherit.

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("Nom:" + this.name);
	     System.out.println("Force physique:" + this.health);
	     System.out.println("des économies:" + this.money);
       System.out.println("Produit" + this.product);
	 }
	 }

Le statut des deux est encapsulé afin qu'ils ne puissent être récupérés qu'à partir d'une classe qui hérite de cette classe. La méthode commune aux deux est la méthode PrintOut () qui génère l'état.

Ouvrier de classe

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

Travaille 5 jours et se repose 2 jours à plusieurs reprises. Quand j'ai HP, je travaille et quand je n'ai pas HP, je me repose jusqu'à ce que je sois complètement rétabli. Dans ce jeu «Travailler» signifie que HP est réduit de 2 et que l'argent est augmenté de 10 000. «Se reposer» signifie augmenter vos HP de 5 et réduire votre argent de 20000.

En d'autres termes, Wor. Gagne environ 200 000 yens en un mois et dépense environ 160 000 yens. Vous pouvez collecter environ 40 000 yens chaque mois.

Capitaliste de classe

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. Investit 5 jours et se repose 2 jours à plusieurs reprises. Investissez lorsque vous avez HP et reposez-vous jusqu'à ce que vous soyez complètement rétabli lorsque vous n'avez pas HP. Dans ce jeu «Fonctionnement» signifie que votre HP est réduit de 2, votre argent est réduit de 10 000 et l'état de votre produit est augmenté de 0,02. «Se reposer» signifie augmenter vos HP de 5 et réduire votre argent de 20000. En d'autres termes, Cap. Économise environ 360 000 yens en un mois.

Un autre cap. A une action appelée récolte. Lorsque Cap. Fabrique un produit (produit> = 1), vous recevrez le numéro du produit * 1000 yens chaque jour. Un produit est enfin terminé en 50 jours.

résultat

Répéter les actions de Cap. Et Wor., Wor. Fait plus d'argent dans les premières années, mais des décennies plus tard Cap. Est devenu plus riche.

image.png

image.png

Bien sûr, ce jeu n'est pas précis. Pire. Peut avoir des augmentations de salaire, des primes, des événements de changement d'emploi, Cap. Peut avoir des échecs d'investissement et des événements d'efficacité des investissements.

Cependant, j'ai trouvé à partir de ce graphique que ce qui est dit dans la théorie du capital est à peu près correct. Je viserai à être capitaliste!

Recommended Posts

Apprendre Java avec Progate → Je vais vous expliquer parce que j'ai moi-même créé un jeu de base
J'ai créé un jeu Janken en Java (CLI)
J'ai fait un jeu de problèmes de calcul simple en Java
J'ai créé une application shopify @java
J'ai créé une interface graphique avec Swing
J'ai fait une mort risquée avec Ruby
J'ai créé une application Janken avec kotlin
J'ai créé un nouvel outil de déploiement Java
J'ai créé une application Janken avec Android
[LINE BOT] J'ai créé un Ramen BOT avec Java (Maven) + Heroku + Spring Boot (1)
J'ai créé un outil Diff pour les fichiers Java
J'ai créé un programme de jugement des nombres premiers en Java
J'ai essayé de faire une authentification de base avec Java
04. J'ai fait un frontal avec SpringBoot + Thymeleaf
J'ai fait de l'art de la mosaïque avec des images Pokemon
J'ai créé un robot LINE avec Rails + heroku
J'ai essayé de casser le bloc avec java (1)
J'ai fait un portfolio avec Ruby On Rails
[Ruby] J'ai fait un robot avec de l'anémone et du nokogiri.
J'ai essayé OCR de traiter un fichier PDF avec Java
J'ai créé un Wrapper qui appelle KNP depuis Java
J'ai essayé de créer un programme en Java qui résout le problème du voyageur de commerce avec un algorithme génétique
J'ai essayé de créer un environnement de développement java8 avec Chocolatey
Fait le côté serveur du jeu de cartes en ligne ⑤
J'ai créé le côté serveur du jeu de cartes en ligne ③
J'ai créé un environnement de développement avec rails6 + docker + postgreSQL + Materialise.
J'ai essayé de moderniser une application Java EE avec OpenShift.
Parquet-tools donne java.lang.ExceptionInInitializerError, donc je l'ai fait fonctionner avec java8
[Débutant] Essayez de créer un jeu RPG simple avec Java ①
J'ai créé un plug-in qui exécute jextract avec des tâches Gradle
[Débutant] J'ai créé un programme pour vendre des gâteaux en Java
Je veux faire une liste avec kotlin et java!
Je veux créer une fonction avec kotlin et java!
J'ai créé un MOD qui appelle instantanément un véhicule avec Minecraft
J'ai créé le côté serveur du jeu de cartes en ligne ④
Même en Java, je veux afficher true avec un == 1 && a == 2 && a == 3
J'ai créé le côté serveur du jeu de cartes en ligne ②
J'ai essayé OCR de traiter un fichier PDF avec Java part2
J'ai créé un Dockerfile pour démarrer Glassfish 5 en utilisant Oracle Java