FileDocCategorySizeDatePackage
Lottery.javaAPI DocExample3652Wed Feb 21 12:47:52 GMT 2001None

Lottery.java

import java.awt.*;		
import java.applet.*;	
import java.util.*;		

public class Lottery extends Applet 
{
	private int circleXPosition ; 
	private int circleYPosition ;
	private int textXPosition ;	
	private int textYPosition ;
	private int numbers[];				// array to hold your numbers
	private int lotteryNumbers[];		// array to hold the winning lottery numbers
	private int number_equal;			// accumulates number of matches between your nums and the lottery nums
	String winnings;						// holds details of any lottery winnings
	

	public void init()
	{
		numbers = new int[6];
		lotteryNumbers = new int[7];
	  	circleXPosition = 1 ;	
		circleYPosition = 20 ;
		textXPosition   = 12 ;	
		textYPosition   = 42 ;
	   number_equal = 0;       	
	}
	
	private void initialiseArray(int [] numArray)
	{
			for (int index = 0; index < numArray.length; index++)
		{
			numArray[index] = (int) (Math.random() * 49) + 1;
		}
	}
	
	private void sortArray(int [] numArray)
	{
		int temp;
		
		for (int outer = 0; outer < numArray.length - 1; outer++)
		{
			for (int inner = outer + 1; inner < numArray.length; inner++)
			{
				if (numArray[outer] > numArray[inner])
				{
					temp            = numArray[outer];
					numArray[outer] = numArray[inner];
					numArray[inner] = temp;
				}
			}
		}
	}
	
	private void checkNumbers()
	{
		for (int yourNumber = 0; yourNumber < numbers.length; yourNumber++)
		{
			for (int lottery = 0; lottery < lotteryNumbers.length; lottery++)
			{
				if (numbers[yourNumber] == lotteryNumbers[lottery])
				{
	         number_equal++;
	      	}
		      
			}  // end of lottery loop
		}  // end of yourNumber loop
	
	}
	
	private void displayLotteryNumbers(Graphics g)
	{
		for (int index = 0; index < lotteryNumbers.length; index++)
		{
	  		g.setColor(Color.blue) ;
			g.drawOval(circleXPosition,circleYPosition,33,33) ;
			g.setColor(Color.red);
			g.drawString("" + lotteryNumbers[index], textXPosition,textYPosition);
			circleXPosition = circleXPosition + 40 ;
			textXPosition = textXPosition + 40 ;
		}
	}
	
	private void displayNumbers(Graphics g)
	{
		textXPosition   = 14 ;	
		textYPosition   = 82 ;
			// now add your numbers below the lottery balls
			
		for (int index = 0; index < numbers.length; index++)
		{
				g.drawString("" + numbers[index], textXPosition, textYPosition);
				textXPosition = textXPosition + 40;	
		}
	}
	
	private void determineResults()
	{
		switch(number_equal)
		{
			case 0:
			case 1:
			case 2: winnings = "Sorry - out of luck today";
					  break;
			case 3: winnings = "Hey - small £10 winnings";
					  break;
			case 4: winnings = "Things are looking up - £100";
					  break;
			case 5: winnings = "Smile - you've just won £10,000";
					  break;
			case 6: winnings = "Celebrate - you've just won £100,000";
					  break;
			default:winnings = "Error - number_equals is " + number_equal + " out of range";
					  break;
			}
	}
	
	public void paint(Graphics g)
	{
		
		initialiseArray(lotteryNumbers); // set up lottery numbers
		initialiseArray(numbers);			// set up your numbers
		sortArray(lotteryNumbers);
		sortArray(numbers);
		checkNumbers();						// compare your numbers with the lottery ones
		displayLotteryNumbers(g);			// print out the lottery number values
		displayNumbers(g);						// print out your numbers
		determineResults();					// check to see if you have won anything
		
		textYPosition = 102;
		textXPosition = 12;
		g.drawString(winnings,textXPosition,textYPosition);
		
	}    // end of paint
	
	
}	// end of program