Java >> Tutoriel Java >  >> Java

Code Java pour le jeu Rock Paper Scissors

Dans ce didacticiel, vous apprendrez à créer un jeu Rock, Paper and Scissor en langage de programmation Java où un joueur sera l'ordinateur et l'autre joueur sera l'utilisateur. Cet article contient un code source simple de Rock Paper Scissor pour deux joueurs avec une documentation appropriée.

Qu'est-ce que le jeu pierre papier ciseaux ?

Rock Paper and Scissor est un jeu de main généralement joué entre deux personnes où les deux personnes forment l'un des trois objets (Rock, Paper ou Scissors) avec une main tendue. Le gagnant est déterminé en fonction des éléments suivants :

  • La pierre bat les ciseaux (La pierre écrase les ciseaux)
  • Les ciseaux battent le papier (les ciseaux coupent le papier)
  • Le papier bat la pierre (le papier enveloppe la pierre)

Remarque :Je Si les deux joueurs font une formation de main similaire, le jeu sera considéré comme du temps.

Jeu Rock Paper Scissor en Java

Créer un jeu Rock Paper Scissor en Java est facile. Nous pouvons créer un jeu Rock Paper Scissor à deux joueurs en Java en utilisant la condition if else et Java.util.Random.nextInt() fonction.

Code source Java pour le jeu Pierre-papier-ciseaux

Le code suivant utilise la fonction Random.nextInt() pour prendre une entrée aléatoire de l'ordinateur (joueur 1) et inviter l'utilisateur (joueur 2) à choisir une option pierre, papier ou ciseaux et termine le code en ajoutant nested if-else déclarations pour signaler de manière appropriée "L'utilisateur a gagné" , ou "L'ordinateur a gagné" , ou "Aucun gagnant n'a gagné (les deux choisissent la même chose). "

//Java program for popular Rock, Paper, Scissors Game

//Importing the Random class of util package
import java.util.Random;

//Importing the Scanner class of util package
import java.util.Scanner;

//Main Class of the program
public class Main{

    //Function to generate the computer choice
    public static String generateComputerChoice( Random  random){

        int wordNumber;
        //Choosing a random number using the inbuilt function
        wordNumber = random.nextInt( 3 ) + 1;
        String computerChoice = "";

        //Getting computer choice on the random number
        if( wordNumber == 1 ){
            computerChoice = "rock";
        }else if( wordNumber == 2 ){
            computerChoice = "paper";
        }else if( wordNumber == 3 ){
            computerChoice = "scissors";
        }

        System.out.println( "\nThe Computer already made it's choice" );
        return computerChoice;

    }

    //Function to show the list of available options
    public static void showMenu(){

        System.out.println( "Options to choose from :\n1.Rock\n2.Paper\n3.Scissors" );

    }

    //function to get the user choice
    public static String getUserChoice( Scanner scanner ){

        String userWordChoice = "";
        System.out.print( "\nPlease make yours : " );
        userWordChoice = scanner.nextLine();
        //Returning the user choice
        return userWordChoice;

    }

    //Function to get the user
    public static String chooseWinner( String computerChoice, String userChoice ){

        String winner = "No Winner";
        String customMessage = "Both choose same";
        String finalMessage = "";

        String rockCustomMessage = "The rock smashes the scissor";
        String scissorsCustomMessage = "Scissors cuts paper";
        String paperCustomMessage = "Paper wraps rock";

        //Winner Logic for the game start

        if( computerChoice.equals( "rock" ) && userChoice.equalsIgnoreCase( "scissors" ) ){
            winner = "Computer";
            customMessage = rockCustomMessage;
        }else if( userChoice.equalsIgnoreCase( "rock" ) && computerChoice.equals( "scissors" ) ){
            winner = "User";
            customMessage = rockCustomMessage;
        }

        if( computerChoice.equals( "scissors" ) && userChoice.equalsIgnoreCase( "paper" ) ){
            winner = "Computer";
            customMessage = scissorsCustomMessage;
        }else if( userChoice.equalsIgnoreCase( "scissors" ) && computerChoice.equals( "paper" ) ){
            winner = "User";
            customMessage = scissorsCustomMessage;
        }

        if( computerChoice.equals( "paper" ) && userChoice.equalsIgnoreCase( "rock" ) ){
            winner = "Computer";
            customMessage = scissorsCustomMessage;
        }else if( userChoice.equalsIgnoreCase( "paper" ) && computerChoice.equals( "rock" ) ){
            winner = "User";
            customMessage = paperCustomMessage;
        }

        //Winner Logic for the game ends
        finalMessage = winner + " won ( " + customMessage + " )";

        //Returning the final message
        return finalMessage;

    }

    //Main Function of the program
    public static void main( String [] args ){

        Random random = new Random();
        Scanner scanner = new Scanner(System.in);
        String computerChoice;
        String userChoice;
        String winner;

        showMenu();
        computerChoice = generateComputerChoice( random );
        userChoice = getUserChoice( scanner );
        winner = chooseWinner( computerChoice, userChoice );

        System.out.println( "\nYou choose : " + userChoice + "\nComputer choose : " +computerChoice );
        System.out.println( winner );

    }

} 

Sortie 1 (égalité)

The Computer already made it's choice

Please make yours : rock

You choose : rock
Computer choose : rock
No Winner won ( Both choose same )

Résultat 2 (utilisateur gagné)

Options to choose from :
1.Rock
2.Paper
3.Scissors

The Computer already made it's choice

Please make yours : paper

You choose : paper
Computer choose : rock
User won ( Paper wraps rock )

Sortie 3 (ordinateur gagné)

Options to choose from :
1.Rock
2.Paper
3.Scissors

The Computer already made it's choice

Please make yours : paper

You choose : paper
Computer choose : scissors
Computer won ( Scissors cuts paper )


Balise Java