Quantcast
Channel: Rocks, Paper Scissors game - Code Review Stack Exchange
Viewing all articles
Browse latest Browse all 4

Rocks, Paper Scissors game

$
0
0

I wrote a Rock Paper Scissors game and was hoping to get some feedback on issues like:

  • Am I utilizing object oriented techniques correctly? What can I do better?
  • Am I using main() correctly? My understanding is that it should be a main controller for the rest of the program. Should I be utilizing a counter in a different method, instead of in main?
  • Am I using my instance variables correctly?
  • I realize that the computer choice is skewed. How should I do it differently?
  • The way I check for wins seems a little convoluted. Should I be using a different system to check?
  • What did I do well, so that I can remember to use those techniques? What did I do poorly?

Main

import java.util.*;public class driver {public static void main(String[] args) {    int userWins = 0, computerWins = 0;    System.out.println("Welcome to Rocks, Paper, Scissors. How many games would you like to play?");    Scanner in = new Scanner(System.in);    int numberOfGames = in.nextInt();    int userCounter = 0;    int computerCounter = 0;    for (int i = 0; i < numberOfGames; i++) {        RPS Game = new RPS();        String user = Game.startGame();        String computer = Game.computerChoice();        boolean wins = Game.evaluateGame(user, computer);        if (wins == true){            userWins++;        }        else {            computerWins++;        }        System.out.println("Number of wins:");        System.out.println("Computer: "+ computerWins);        System.out.println("User: "+ userWins);        System.out.println();    }  }}

RPS

import java.util.Scanner;public class RPS {    String comparableChoice;    String userComparableChoice;        public String startGame() {        Scanner in = new Scanner(System.in);        System.out.println("Choose, (1)Rock, (2)Paper or (3)Scissors");        System.out.println("enter number: 1,2 or 3");        int userChoice = in.nextInt();        if (userChoice == 1){            System.out.println("Your choice: Rock");            userComparableChoice = "Rock";        }        else if (userChoice == 2){            System.out.println("Your choice: Paper");            userComparableChoice = "Paper";        }        else{            System.out.println("Your choice: Scissors");            userComparableChoice = "Scissors";        }        return userComparableChoice;    }    public String computerChoice(){        int computerChoiceNumber = (int)(Math.random() * 10);        if (computerChoiceNumber <= 3){            System.out.println("Computer choice: Rock");            comparableChoice = "Rock";        }        else if (computerChoiceNumber <= 6){            System.out.println("Computer choice: Paper");            comparableChoice = "Paper";        }        else{            System.out.println("Computer choice: Scissors");            comparableChoice = "Scissors";        }        return comparableChoice;    }    public boolean evaluateGame(String userFormal, String computerFormal){        if (userFormal.equals(computerFormal)){            System.out.println("It's a tie");        }        if (userFormal.equalsIgnoreCase("Rock") && computerFormal.equalsIgnoreCase("Scissors")){            System.out.println("You won!");            return true;        }        if (userFormal.equalsIgnoreCase("Paper") && computerFormal.equalsIgnoreCase("Rock")){            System.out.println("You won");            return true;        }        if (userFormal.equalsIgnoreCase("Scissors") && computerFormal.equalsIgnoreCase("Paper")){            System.out.println("You won");            return true;        }        else {            System.out.println("Computer won");            return false;        }    }}

Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images