Dice Game

import java.awt.event.MouseListener; import java.awt.event.MouseEvent; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Toolkit; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.Timer; import java.util.ArrayList; import java.util.Iterator; import java.util.Random; import javax.swing.ImageIcon; import javax.swing.JPanel; import javax.imageio.*; import java.awt.image.*; import java.io.*; public class Craps extends JPanel implements Runnable, MouseListener { boolean ingame = false; private Dimension d; int BOARD_WIDTH=500; int BOARD_HEIGHT=480; int die1; int die2; int cashValue = 100; int point = 0; boolean openRoll = true; int x; BufferedImage img; String message = "Click Board to Start"; String status = "Open roll"; String cash = "Cash: 100"; private Thread animator; public Craps() { x = 0; addKeyListener(new TAdapter()); addMouseListener(this); setFocusable(true); d = new Dimension(BOARD_WIDTH, BOARD_HEIGHT); setBackground(Color.black); try { img = ImageIO.read(this.getClass().getResource("dice.png")); } catch (IOException e) { System.out.println("Image could not be read"); // System.exit(1); } if (animator == null || !ingame) { animator = new Thread(this); animator.start(); } setDoubleBuffered(true); } public void paint(Graphics g) { super.paint(g); g.setColor(Color.white); g.fillRect(0, 0, d.width, d.height); g.setColor(Color.red); g.fillRect(0, 0, 50, 50); g.fillOval(x,20,70,70); Font small = new Font("Helvetica", Font.BOLD, 14); FontMetrics metr = this.getFontMetrics(small); g.setColor(Color.black); g.setFont(small); g.drawString(message, 10, d.height-60); g.drawString(status, 10, d.height-40); g.drawString(cash, 10, d.height-20); if (ingame) { x = x + 5; /* g.drawImage(img,0,0,200,200 ,null); g.drawImage(img,100,200, 164,264,0,0,64,64,null); //g.drawImage(img,200,200, 264,264,0,0,64,64,null); //drawImage(img,int dstx1, int dsty1, int dstx2, int dsty2, int srcx1, int srcy1, int srcx2, int srcy2,ImageObserver observer); */ /*get each die from dice image * set where dice should be (4 coordinates) * set which part of image based on var die1&die2 (4 coordinates) */ g.drawImage(img,168,200,232,264,(die1-1)%3*64,(die1-1)/3*64,(die1-1)%3*64+64,(die1-1)/3*64+64,null); g.drawImage(img,268,200,332,264,(die2-1)%3*64,(die2-1)/3*64,(die2-1)%3*64+64,(die2-1)/3*64+64,null); } Toolkit.getDefaultToolkit().sync(); g.dispose(); } private class TAdapter extends KeyAdapter { public void keyReleased(KeyEvent e) { int key = e.getKeyCode(); } public void keyPressed(KeyEvent e) { //System.out.println( e.getKeyCode()); // message = "Key Pressed: " + e.getKeyCode(); int key = e.getKeyCode(); if(key==39){ } } } public void mousePressed(MouseEvent e) { int x = e.getX(); int y = e.getY(); ingame=true; openRoll(); message = "die1: " + die1 + " die2: " + die2; cash = "Cash: " + cashValue; if(openRoll==true){ openRollLogic(); }else{ pointRollLogic();//call new point method } /* * inGameLogic(); * cashValue(); */ } public void openRollLogic(){ cash = "Cash: " + cashValue; status = "Open roll. 7 or 11 wins, 2 3 or 12 loses."; int dice = die1 + die2; if(dice == 7 || dice == 11){ cashValue += 10; cash = "Cash: " + cashValue; // openRollLogic(); } else if(dice == 2 || dice == 3 || dice == 12){ cashValue -= 10; cash = "Cash: " + cashValue; // openRollLogic(); }else{ openRoll= false; point = dice; cash = "Cash: " + cashValue; } } public void pointRollLogic(){ openRoll(); status = "Point roll. Point wins, 7 loses. Point is " + point; int dice = die1 + die2; message = "die1: " + die1 + " die2: " + die2; if(dice == 7){ cashValue -= 10; cash = "Cash: " + cashValue; openRoll = true; }else if(dice == point){ cashValue += 10; cash = "Cash: " + cashValue; openRoll = true; }else{ // pointRollLogic(); } } public void openRoll(){ die1 = makeRandomNumbers(1,6); die2 = makeRandomNumbers(1,6); } public int makeRandomNumbers(int min,int max){ int rand = (int) (Math.random( ) * (max)) + min; return rand; } public void mouseReleased(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } public void run() { long beforeTime, timeDiff, sleep; beforeTime = System.currentTimeMillis(); int animationDelay = 20; long time = System.currentTimeMillis(); while (true) {//infinite loop // spriteManager.update(); repaint(); try { time += animationDelay; Thread.sleep(Math.max(0,time - System.currentTimeMillis())); }catch (InterruptedException e) { System.out.println(e); }//end catch }//end while loop }//end of run }//end of class
Craps game

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.