Les débutants jouent à des jeux Janken en Java

Cela fait environ un mois que j'ai commencé à étudier, alors j'ai écrit un jeu Janken en le révisant. J'ai pu écrire un programme avec uniquement la méthode principale relativement rapidement, J'ai eu du mal à essayer de faire quelque chose qui semblait être orienté objet. Je suis autodidacte, donc je pense qu'il y a beaucoup de choses à faire.

code

Corps

Main.java


package janken;

public class Main {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        final String errorException = "Veuillez saisir le bon numéro.";
        final String errorMessage = "Veuillez saisir un nombre compris entre 0 et 2 ou 99.";
        final String exitMessage = "terminer";
		final String menuMessage = "0:Goo 1:Choki 2:Par 99:Fin";
		Player you = new Player();
		Player enemy = new Player();
		
		for(;;) {
		    System.out.println(menuMessage);
		    try {
		    	you.jankenNum = new java.util.Scanner(System.in).nextInt();	
			    enemy.jankenNum = new java.util.Random().nextInt(3);
			    if(you.jankenNum == 99) {
			    	//Fin
			    	System.out.println("");
			    	System.out.println(exitMessage);
			    	System.out.println("");
			    	break;
			    } else if(you.jankenNum < 0 | you.jankenNum > 2) {
			    	//Si un numéro incorrect est entré ...
			    	System.out.println("");
			    	System.out.println(errorMessage);
			    	System.out.println("");
			    } else {
			    	//Appel de méthode de combat.
			    	Battle result = new Battle();
			    	result.battle(you, enemy);
			    }
			    
		    } catch(java.util.InputMismatchException error) {
		    	//Si une valeur non numérique est saisie ...
		    	System.out.println("");
		    	System.out.println(errorException);
		    	System.out.println("");
		    }
	    }
    }
}

joueur

Player.java


package janken;

public class Player {
	//Contient le nombre de victoires et de pertes du joueur. Définit les mains de Janken, la victoire et la défaite, etc.
    int jankenNum;
    final String goo = "Goo";
    final String choki = "Choki";
    final String par = "Par";
    int win; int lose; int draw;
    
    String Hand() {
    	//Convertissez les numéros de joueurs dans les mains de Janken.
		switch(this.jankenNum) {
		case 0:
		    return this.goo;
		case 1:
		    return this.choki;
		case 2:
		    return this.par;
		default:
			return null;
		}
	}
    
    void board(int win, int lose, int draw) {
    	//Affichez le nombre de victoires et de pertes.
    	System.out.println("Win:" + this.win + " Lose:" + this.lose + " Draw:" + this.draw);
    }
}

bataille

Battle.java


package janken;

public class Battle {
	//Décidez de la victoire ou de la défaite.
	final String aiko = "Aiko";
	final String kachi = "gagner";
	final String make = "Perdre";
	
	void battle(Player pc1, Player pc2) {
		//Décidez si vous voulez gagner ou perdre entre les joueurs.
		int result = (pc1.jankenNum - pc2.jankenNum +3) % 3;
	    switch(result) {
	    //Gagner ou perdre est décidé des mains de chacun et stocké sous forme de score. Voir les résultats.
	    case 0:
	    	System.out.println("");
	    	System.out.println(pc1.Hand() + " VS " + pc2.Hand());
	    	System.out.println(aiko);
	    	pc1.draw += 1; pc2.draw += 1;
	    	pc1.board(pc1.win, pc1.lose, pc1.draw);
	    	System.out.println("");
	    	break;
	    case 1:
	    	System.out.println("");
	    	System.out.println(pc1.Hand() + " VS " + pc2.Hand());
	    	System.out.println(make);
	    	pc1.lose += 1; pc2.win += 1;
	    	pc1.board(pc1.win, pc1.lose, pc1.draw);
	    	System.out.println("");
	    	break;
	    case 2:
	    	System.out.println("");
	    	System.out.println(pc1.Hand() + " VS " + pc2.Hand());
	    	System.out.println(kachi);
	    	pc1.win += 1; pc2.lose += 1;
	    	pc1.board(pc1.win, pc1.lose, pc1.draw);
	    	System.out.println("");
	    	break;
	    }
    }
}

Je suis satisfait car cela fonctionnait comme ça pour le moment. Il est assez difficile de réfléchir à la façon de le diviser.

Recommended Posts

Les débutants jouent à des jeux Janken en Java
[Pour les débutants] Exécutez Selenium sur Java
Janken à Java
Janken jeu java pratique
J'ai créé un jeu Janken en Java (CLI)
Exécution de débogage Java [pour les débutants Java]
[Java] Instruction de base pour les débutants
Java pour les débutants, masquage des données
Application Java pour les débutants: stream
[Pour les débutants] Exemple minimum pour afficher RecyclerView en Java
[Pour les débutants] Explication des classes, des instances et des statiques en Java
Java pour les débutants, les expressions et les opérateurs 1
Java pour les débutants, les expressions et les opérateurs 2
Jeu de Janken
Jeu de devinettes d'âge réalisé avec Java
Paramètres de débogage SSL dans Java
[Pour les débutants en Java] À propos de la gestion des exceptions
java Janken
Classes et instances Java pour les débutants
Un jeu Janken à deux joueurs avec Java où les threads se jouent les uns contre les autres
[Pour les débutants] Exemple minimum pour mettre à jour RecyclerView avec DiffUtils en Java
Premiers pas pour l'apprentissage profond en Java
Points clés pour l'introduction de gRPC en Java
Apprenez de «Et alors», les bases de Java [pour les débutants]
[Pour les débutants] Différence entre Java et Kotlin
[Pour les débutants] Comment déboguer avec Eclipse
Pour l'apprentissage JAVA (2018-03-16-01)
Partition en Java
Changements dans Java 11
IDE 2017 pour Java
J'ai écrit EX25 du guide de programmation AtCoder pour les débutants (APG4b) en java.
Taux circonférentiel à Java
[Java] [Pour les débutants] Comment insérer des éléments directement dans un tableau à deux dimensions
Java pour instruction
FizzBuzz en Java
[Pour les débutants] J'ai essayé d'utiliser DBUnit avec Eclipse
ChatWork4j pour l'utilisation de l'API ChatWork en Java
Techniques de lecture du code source Java dans Eclipse
[Pour les débutants] J'ai essayé d'utiliser JUnit 5 avec Eclipse
La solution pour NetBeans 8.2 ne fonctionne pas dans l'environnement Java 9
Une collection de questions simples pour les débutants Java
Définissez un affichage contextuel pour le langage Java avec vim.
[Introduction à Java] Bases de l'arithmétique Java (pour les débutants)
Utilisons Java New FileIO! (Introduction, pour les débutants)
[Angoisse du débutant Java] Code difficile à tester implémenté dans Junit
Comparez la sortie PDF en Java pour les tests d'instantanés
Activer / désactiver SNI en Java pour chaque communication
Points à connaître avec Java Equals
[Java] pour instruction, while instruction
Lire JSON en Java
Faites un blackjack avec Java
Programmation par contraintes en Java
Mettez java8 dans centos7
NVL-ish guy en Java
Joindre des tableaux en Java
"Hello World" en Java
Interface appelable en Java
[Pour les débutants] DI ~ Les bases de DI et DI au printemps ~