import java.awt.*;
/* import java.awt.event.*; */

public class Craps extends java.applet.Applet
{
 Die die1 = new Die();
 Die die2 = new Die();
 int wins = 0;
 int losses = 0;
 int point = 0;
 String resultText = "";
 Button rollButton = new Button("Roll Dice");


 public void init()
   {
    setBackground(Color.green);
    add(rollButton);
   }

 private void drawResultText(Graphics screen)
   {
    if (resultText != "")
       {
        Font f = new Font("Helvetica", Font.BOLD, 30);
        screen.setFont(f);
        screen.drawString(resultText, 1,180);
        resultText = "";
       }
   }

 public void paint(Graphics screen)
   {
    die1.drawDie(screen, 5, 50);
    die2.drawDie(screen, 175, 50);
    screen.setColor(Color.black);
    drawResultText(screen);
    Font f = new Font("Helvetica", Font.BOLD, 15);
    screen.setFont(f);
    if (point != 0)
       {
        screen.drawString(point + " wins and 7 loses.", 5, 200);
       }
    else
       {
        screen.drawString("Coming Out: 7,11 win; 2,3,12 lose.", 5, 200);
        screen.drawString("Total wins:   " + wins, 5, 220);
        screen.drawString("Total losses: " + losses, 5, 240);

       }
    }

 public void playCraps()
    {
     die1.rollValue(6);
     die2.rollValue(6);
     checkResult(die1, die2);
     repaint();
    }

 public void checkResult(Die d1, Die d2)
    {
     if (point == 0)
        {
         point = d1.value + d2.value;
         if ((point == 7) || (point == 11))
            {
             resultText = "WINNER coming out";
             wins++;
             point = 0;
            }
         else if ((point < 4) || (point == 12))
            {
             resultText = "LOSER, Craps";
             losses++;
             point = 0;
            }
        }
     else
        {
         int score = d1.value + d2.value;
         if (score == point)
            {
             resultText = "WINNER, point";
             wins++;
             point = 0;
            }
         else if (score == 7)
            {
             resultText = "LOSER, 7 out";
             losses++;
             point = 0;
            }
         else if (score == 2)
            {
             resultText = score + " Snake eyes";
            }
         else if (score == 3)
            {
             resultText = score + " Craps dice";
            }
         else if (score == 12)
            {
             resultText = score + " Box cars";
            }
         else if (d1.value == d2.value)
            {
             resultText = score + " HARD WAY";
            }
         else if (score == 11)
            {
             resultText = score + " YO";
            }
         else if (((score / 2) * 2) == score)
            {
             /* only even scores other than 2,12 have a hard way */
             resultText = score + " Easy Way";
            }
         else
            {
             resultText = score + " ";
            }
        }
    }

 public boolean handleEvent(Event event)
    {
     Object arg = event.arg;
     boolean eventHandled = false;
     if (event.target == rollButton && event.id == Event.ACTION_EVENT)
        {
         playCraps();
         eventHandled = true;
        }
     if (!eventHandled)
        {
         super.handleEvent(event);
        }
     return false;
    }
}