Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;
- import javax.swing.*;
- import java.util.Random;
- public class Puggies {
- /**
- * Program: Puggies.java
- * Purpose: Simulate a slot machine
- * Creator: Chris Clarke
- * Created: 07.02.2013
- */
- public static void main(String[] args) {
- PuggiesJFrame frame = new PuggiesJFrame();
- frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE);
- // Set to a reasonable size.
- frame.setSize(740, 500);
- frame.setVisible(true);
- } // end main
- } // end class
- class PuggiesJFrame extends JFrame implements ActionListener {
- public PuggiesJFrame() {
- setTitle("Puggies by Chris Clarke");
- setLayout(new BorderLayout());
- userControlPanel = new JPanel();
- userControlPanel.setLayout( new FlowLayout());
- btnNudge1 = new Button( "Nudge");
- btnNudge1.addActionListener( this);
- btnNudge1.setEnabled(false);
- userControlPanel.add( btnNudge1);
- btnNudge2 = new Button( "Nudge");
- btnNudge2.addActionListener( this);
- btnNudge2.setEnabled(false);
- userControlPanel.add( btnNudge2);
- btnNudge3 = new Button( "Nudge");
- btnNudge3.addActionListener( this);
- btnNudge3.setEnabled(false);
- userControlPanel.add( btnNudge3);
- btnSpin = new Button( "Spin!");
- btnSpin.addActionListener( this);
- userControlPanel.add( btnSpin);
- add("South", userControlPanel);
- }
- public void paint (Graphics g) {
- g.setColor(Color.WHITE);
- g.fillRect(0,0, 740, 500);
- g.setFont(new Font("Courier", Font.PLAIN, 90));
- g.setColor(Color.BLACK);
- g.drawString("| | | |", 180, 200);
- if (!show) return;
- g.setColor(Color.LIGHT_GRAY);
- g.drawString("|" +nudge1 + "|" + nudge2 + "|" + nudge3+ "|", 180, 120);
- g.setColor(Color.BLACK);
- g.drawString("|" +numberOne+"|"+numberTwo+ "|" + numberThree+"|", 180, 200);
- if (numberOne == numberTwo && numberTwo == numberThree) {
- //All of your numbers match
- int prize = 1;
- if (numberOne==5 || numberOne==6) {
- prize = 2;
- }
- if (numberOne>6) {
- prize = 3;
- }
- g.drawString("WIN £"+prize+"!!", 180, 300);
- n=0; // no nudges
- doingNudges = true;
- } else if (numberOne == numberTwo || numberTwo == numberThree) {
- //Two of your numbers match
- g.drawString("WIN £0.20!", 120, 300);
- }
- if (n==0 && !doingNudges) {
- n = getNudges();
- }
- g.drawString("Nudges: "+n, 220, 400);
- if (n>0) {
- doingNudges = true;
- btnNudge1.setEnabled(true);
- btnNudge2.setEnabled(true);
- btnNudge3.setEnabled(true);
- } else {
- btnNudge1.setEnabled(false);
- btnNudge2.setEnabled(false);
- btnNudge3.setEnabled(false);
- }
- }
- public int getNudges() {
- Random number = new Random();
- int[] nudges = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3 };
- int num = number.nextInt(nudges.length);
- if (nudges[num]>0) doingNudges = true;
- return nudges[num];
- }
- public void spin() {
- Random number = new Random();
- int numSymbols = symbols1.length;
- r1 = number.nextInt(numSymbols);
- r2 = number.nextInt(numSymbols);
- r3 = number.nextInt(numSymbols);
- doingNudges = false;
- n = 0;
- }
- public void calcSymbols() {
- numberOne = symbols1[r1];
- numberTwo = symbols2[r2];
- numberThree = symbols3[r3];
- nudge1 = r1 == symbols1.length-1? symbols1[0]: symbols1[r1+1];
- nudge2 = r2 == symbols2.length-1? symbols2[0]: symbols2[r2+1];
- nudge3 = r3 == symbols3.length-1? symbols3[0]: symbols3[r3+1];
- }
- public void nudge1() {
- numberOne = nudge1;
- r1++;
- if (r1>=symbols1.length) r1 = 0;
- }
- public void nudge2() {
- numberTwo = nudge2;
- r2++;
- if (r2>=symbols2.length) r2 = 0;
- }
- public void nudge3() {
- numberThree = nudge3;
- r3++;
- if (r3>=symbols3.length) r3 = 0;
- }
- public void actionPerformed(ActionEvent evt) {
- if (evt.getSource() == btnSpin) { // spin button clicked
- show = true;
- spin();
- } else if (evt.getSource() == btnNudge1) {
- if (n>0) {
- nudge1();
- n--;
- }
- } else if (evt.getSource() == btnNudge2) {
- if (n>0) {
- nudge2();
- n--;
- }
- } else if (evt.getSource() == btnNudge3) {
- if (n>0) {
- nudge3();
- n--;
- }
- }
- calcSymbols();
- repaint();
- }
- public static final int[] symbols1 = { 2, 7, 4, 1, 8, 9, 5, 3, 6, 0, 2, 3 };
- public static final int[] symbols2 = { 3, 0, 8, 1, 5, 6, 4, 2, 9, 7, 1, 4 };
- public static final int[] symbols3 = { 8, 9, 4, 2, 7, 3, 0, 1, 6, 5, 0, 2 };
- private static int numberOne, numberTwo, numberThree;
- private static int nudge1, nudge2, nudge3;
- private static int n=0; // the number of available nudges
- private static boolean doingNudges = false;
- private static int r1, r2, r3;
- private static boolean show = false;
- public static JPanel userControlPanel;
- public static Button btnSpin;
- public static Button btnNudge1, btnNudge2, btnNudge3;
- }
Advertisement
Add Comment
Please, Sign In to add comment