import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import java.util.Random; /** * Write a description of class RockPaperScissorsGame here. * * @author (your name) * @version (a version number or a date) */ public class RockPaperScissorsGame implements ActionListener { // instance variables - replace the example below with your own JFrame frame; Random randomGenerator; JButton paperButton; JButton rockButton; JButton scissorsButton; JButton resetButton; Font f; Border edge; Container contentPane; JTextArea outputArea; JTextArea scoreArea; JPanel buttonPanel; int userChoice; int computerChoice; int userWins; int computerWins; public static final int ROCK = 0; public static final int PAPER = 1; public static final int SCISSORS = 2; // private int JTextAreas1; // private int JTextAreas2; // private int JPanel; /** * Constructor for objects of class RockPaperScissorsGame */ public RockPaperScissorsGame() { userChoice = 0; computerChoice = 0; userWins = 0; computerWins = 0; frame = new JFrame ( "Rock Paper Scissors" ); Toolkit kit = frame.getToolkit(); Dimension size = kit.getScreenSize(); frame.setBounds ( size.width/4, size.height/4, size.width/2, size.height/2 ); frame.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE ); randomGenerator = new Random (); f = new Font( "Comic Sans MS", Font.BOLD, 14 ); frame.setVisible ( true ); edge = BorderFactory.createRaisedBevelBorder(); contentPane = frame.getContentPane(); //somewhere here should be the center font assignment I think. outputArea = new JTextArea ( 20, 40 ); outputArea.setEditable( false ); outputArea.setFont( f ); scoreArea = new JTextArea( 1, 40 ); scoreArea.setEditable( false ); scoreArea.setFont( f ); paperButton = new JButton ( "Paper" ); paperButton. setBorder ( edge ); paperButton.addActionListener( this ); rockButton = new JButton ( "Rock" ); rockButton. setBorder ( edge ); rockButton.addActionListener( this ); scissorsButton = new JButton ( "Scissors" ); scissorsButton. setBorder ( edge ); scissorsButton.addActionListener( this ); resetButton = new JButton ( "Reset" ); resetButton. setBorder ( edge ); resetButton.addActionListener( this ); buttonPanel = new JPanel(); buttonPanel.add ( paperButton ); buttonPanel.add ( rockButton ); buttonPanel.add ( scissorsButton ); buttonPanel.add ( resetButton ); contentPane.add( buttonPanel, BorderLayout.NORTH ); contentPane.add( outputArea, BorderLayout.CENTER ); contentPane.add( scoreArea, BorderLayout.SOUTH ); // outputArea.setText("This is the output area!!!!"); // scoreArea.setText("score area"); } public void actionPerformed( ActionEvent e ) { if( e.getSource() == rockButton ){ userChoice = ROCK; playGame(); } if(e.getSource() == scissorsButton ) { userChoice = SCISSORS; playGame(); } if( e.getSource() == paperButton ) { userChoice = PAPER; playGame(); } if( e.getSource() == resetButton ) { reset(); } } public void reset() { userWins = 0; computerWins = 0; outputArea.setText(""); scoreArea.setText(""); } public void playGame() { computerChoice = randomGenerator.nextInt( 3 ); switch( userChoice) { case ROCK: if( computerChoice == PAPER ) { outputArea.setText("Computer Chose Paper and You Chose Rock\n\n"); outputArea.append( "Computer Wins!" ); computerWins = computerWins + 1; } if( computerChoice == SCISSORS ) { outputArea.setText("Computer Scissors Paper and You Chose Rock\n\n"); outputArea.append( "User Wins!" ); userWins = userWins + 1; } else{ outputArea.setText( "The Computer Chose Rock and So Did You\n\n" ); outputArea.append( "It is a Tie!" ); } break; case PAPER: if( computerChoice == ROCK ){ outputArea.setText("Computer Chose Rock and You Chose Paper\n\n"); outputArea.append( "User Wins!" ); userWins = userWins + 1; } if( computerChoice == SCISSORS ) { outputArea.setText("Computer Chose Scissors and You Chose Paper\n\n"); outputArea.append( "Computer Wins!" ); computerWins = computerWins + 1; } else{ outputArea.setText( "The Computer Chose Paper and So Did You\n\n" ); outputArea.append( "It is a Tie!" ); } break; case SCISSORS: if( computerChoice == ROCK ){ outputArea.setText("Computer Rock and You Chose Scissors\n\n"); outputArea.append( "Computer Wins!" ); computerWins = computerWins + 1; } if( computerChoice == PAPER ) { outputArea.setText("Computer Chose Paper and You Chose Scissors\n\n"); outputArea.append( "User Wins!" ); userWins = userWins + 1; } else{ outputArea.setText( "The Computer Chose Scissors and So Did You\n\n" ); outputArea.append( "It is a Tie!" ); } break; } scoreArea.setText( "The score is: you " + userWins + " Computer " + computerWins ); } public static void main(String [] args) { RockPaperScissorsGame game = new RockPaperScissorsGame(); } }