import java.util.Random; import java.awt.*; import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Random; import java.text.DecimalFormat; /** * fen * * */ public class pig extends JApplet { int WIDTH = 700, HEIGHT = 1000; int die1, die2, total, roundTotal, yourScore, compScore, compDecide, counting; JLabel d1, d2, totalr, urscore, cscore, directions, result, intheway, in2; JButton Roll, Pass, CompRoll; PairoDice rolled = new PairoDice(); Random generator = new Random(); //add the initial items to the gui public void addItems(Container cp) { Color me = new Color(107, 142, 35); cp.setBackground(me); cp.setLayout(new FlowLayout()); cp.add(directions); cp.setLayout(new GridLayout(0,2)); cp.add(intheway); cp.add(Roll); cp.add(Pass); cp.add(d1); cp.add(d2); cp.add(result); cp.add(totalr); cp.add(urscore); cp.add(cscore); } //setup computer gui public void switchToComputer(Container cp) { cp.remove(directions); cp.remove(intheway); cp.remove(Roll); cp.remove(Pass); cp.remove(d1); cp.remove(d2); cp.remove(result); cp.remove(totalr); cp.remove(urscore); cp.remove(cscore); cp.add(directions); cp.add(intheway); cp.add(in2); cp.add(CompRoll); cp.add(d1); cp.add(d2); cp.add(result); cp.add(totalr); cp.add(urscore); cp.add(cscore); repaint(); } //setup player gui public void switchToPlayer(Container cp) { cp.remove(directions); cp.remove(intheway); cp.remove(in2); cp.remove(CompRoll); cp.remove(d1); cp.remove(d2); cp.remove(result); cp.remove(totalr); cp.remove(urscore); cp.remove(cscore); cp.add(directions); cp.add(intheway); cp.add(Roll); cp.add(Pass); cp.add(d1); cp.add(d2); cp.add(result); cp.add(totalr); cp.add(urscore); cp.add(cscore); repaint(); } //initialize the gui public void init() { //Setup the window messages to be displayed directions = new JLabel ("a game called pig"); intheway = new JLabel(" "); in2 = new JLabel(" "); d1 = new JLabel ("----"); d2 = new JLabel ("----"); totalr = new JLabel ("----"); urscore = new JLabel ("----"); cscore = new JLabel("----"); result = new JLabel("--------"); Roll = new JButton("Roll"); Pass = new JButton("Pass"); CompRoll = new JButton("Computer rolls"); //link the classes with the listeners Roll.addActionListener(new RollListener()); Pass.addActionListener(new PassListener()); CompRoll.addActionListener(new CompRollListener()); //initialize colors and variables roundTotal=0; yourScore=0; compScore=0; //add the display objects to the current frame addItems(getContentPane()); setSize(WIDTH, HEIGHT); } //**************************************************/ //**************************************************/ //class that monitors for a mouse press on the roll button private class RollListener implements ActionListener { //the action that was performed in the button public void actionPerformed(ActionEvent event) { die1=0; die2=0; PairoDice rolled = new PairoDice(); die1 = rolled.getDie1(); die2 = rolled.getDie2(); total= die1 + die2; roundTotal = total + roundTotal; d1.setText("die1 " + die1); d2.setText("die2 " + die2); totalr.setText("your round total " + roundTotal); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); repaint(); if(die1 == 1 && die2 != 1 || die2 == 1 && die1 != 1) { roundTotal=0; yourScore= yourScore + roundTotal; totalr.setText("your round total " + roundTotal ); directions.setText("you lose your round score you cannot roll again"); cscore.setText("computer's score " + compScore); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); switchToComputer(getContentPane()); } if(die1==1 && die2==1) { yourScore=0; roundTotal=0; totalr.setText("your round total " + roundTotal); directions.setText("you lose your round score you cannot roll again"); cscore.setText("computer's score " + compScore); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); switchToComputer(getContentPane()); } } } //**************************************************/ //**************************************************/ //class that monitors for a mouse press on the pass button class PassListener implements ActionListener { //the action that was performed in the button public void actionPerformed (ActionEvent event) { yourScore=yourScore+roundTotal; roundTotal=0; totalr.setText("your round total "+Integer.toString (roundTotal)); directions.setText("you lose your round score you cannot roll again"); cscore.setText("computer's score " + compScore); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); switchToComputer(getContentPane()); } } //**************************************************/ //**************************************************/ //class that monitors for a mouse press on the Computer roll button class CompRollListener implements ActionListener { //the action that was performed in the button public void actionPerformed (ActionEvent event) { roundTotal = 0; compDecide = 1; counting = 12; while (roundTotal<23 && compDecide!=0) { PairoDice rolled=new PairoDice(); die1=rolled.getDie1(); die2=rolled.getDie2(); total=die1+die2; roundTotal=total+roundTotal; Random generator = new Random(); compDecide=generator.nextInt(counting); counting--; d1.setText ("die1 " + die1); d2.setText ("die2 " + die2); totalr.setText("computer's round total " + roundTotal); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); repaint(); if (die1==1 || die2 ==1) { compDecide = 0; roundTotal = 0; if (die1==1 && die2 ==1) { compScore=0; } totalr.setText("computer's round total "+ roundTotal); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); urscore.setText("your total score now " + yourScore); cscore.setText("computer's score " + compScore); repaint(); } } compScore=roundTotal+compScore; roundTotal=0; compScore=roundTotal+compScore; switchToPlayer(getContentPane()); } } }