who wants to be a millionaire help
Author |
Message |
edkedned
|
Posted: Mon Jun 13, 2011 11:27 pm Post subject: who wants to be a millionaire help |
|
|
Hello ,I need help with my who wants to be a millionaire game...I am trying to figure out how to change screens from after a question is answered correctly and the program keeps messing up..and if anyone could also suggest an idea on the easiest way to implement phone a friend in the game
// The "Millionaire" class.
import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Millionaire extends Applet implements ActionListener
{
// Place instance variables here
AudioClip background;
Image menuPic, gameInt, game_overPic, correct;
ImageIcon start_button, rules_button, fifty_fifty, phoneFriend, switchQ;
byte screen = 0, question = 0;
JButton start_game, instructions, cont_game;
JButton clicked = null;
JButton chA, chB, chC, chD;
JButton fiftyF, sQ, paF;
//counters
byte question_count = 0;
int amount_earning = 0;
boolean right_answer = false;
boolean wrong = false;
public void init ()
{
//menuscreen picture
menuPic = getImage (getCodeBase (), "images\\menu_screen.jpg");
gameInt = getImage (getCodeBase (), "images\\game_interfaced.jpg");
game_overPic = getImage (getCodeBase (), "images\\game_over.jpg");
correct = getImage (getCodeBase (), "correct.gif");
Color lightblue = new Color (160, 32, 240);
start_button = new ImageIcon ("images\\start_button.jpg");
rules_button = new ImageIcon ("images\\rules_button.jpg");
background = getAudioClip (getCodeBase (), "audios\\question.wav");
background.loop ();
//fires layout manager
setLayout (null);
start_game = new JButton (start_button);
instructions = new JButton (rules_button);
start_game.addActionListener (this);
instructions.addActionListener (this);
start_game.setBounds (15, 721, 300, 80);
instructions.setBounds (390, 730, 295, 68);
add (start_game);
add (instructions);
} // init method
public void life_line ()
{
fifty_fifty = new ImageIcon ("images\\50_button.jpg");
phoneFriend = new ImageIcon ("images\\PhoneAFriend_button.jpg");
switchQ = new ImageIcon ("images\\sQ_button.jpg");
fiftyF = new JButton (fifty_fifty);
sQ = new JButton (switchQ);
paF = new JButton (phoneFriend);
fiftyF.addActionListener (this);
sQ.addActionListener (this);
paF.addActionListener (this);
fiftyF.setBounds (175, 15, 90, 50);
sQ.setBounds (308, 15, 90, 50);
paF.setBounds (35, 15, 90, 50);
add (fiftyF);
add (sQ);
add (paF);
}
public void correct ()
{
screen = 5;
cont_game = new JButton ("CONTINUE");
cont_game.setBounds (480, 730, 340, 48);
cont_game.setForeground (Color.white);
cont_game.setBackground (Color.magenta);
cont_game.addActionListener (this);
add (cont_game);
validate ();
repaint ();
removeAll ();
}
public void question_one ()
{
question = 1;
question_count = 1;
chA = new JButton ("Basketball");
chB = new JButton ("Hockey");
chC = new JButton ("Soccer");
chD = new JButton ("Wrestling");
chA.setBounds (20, 658, 340, 48);
chB.setBounds (420, 658, 340, 48);
chC.setBounds (20, 730, 340, 48);
chD.setBounds (420, 730, 340, 48);
chA.setForeground (Color.white);
chA.setBackground (Color.black);
chB.setForeground (Color.white);
chB.setBackground (Color.black);
chC.setForeground (Color.white);
chC.setBackground (Color.black);
chD.setForeground (Color.white);
chD.setBackground (Color.black);
chA.addActionListener (this);
chB.addActionListener (this);
chC.addActionListener (this);
chD.addActionListener (this);
add (chA);
add (chB);
add (chC);
add (chD);
validate ();
repaint ();
}
public void question_two ()
{
screen = 1;
question = 2;
question_count = 2;
chA = new JButton ("Ludge");
chB = new JButton ("Triathlon");
chC = new JButton ("RC Skiing");
chD = new JButton ("Biathlon");
chA.setBounds (20, 658, 340, 48);
chB.setBounds (420, 658, 340, 48);
chC.setBounds (20, 720, 340, 48);
chD.setBounds (420, 720, 340, 48);
chA.setForeground (Color.white);
chA.setBackground (Color.black);
chB.setForeground (Color.white);
chB.setBackground (Color.black);
chC.setForeground (Color.white);
chC.setBackground (Color.black);
chD.setForeground (Color.white);
chD.setBackground (Color.black);
chA.addActionListener (this);
chB.addActionListener (this);
chC.addActionListener (this);
chD.addActionListener (this);
add (chA);
add (chB);
add (chC);
add (chD);
validate ();
repaint ();
}
public void phone_friend ()
{
}
public void fifty_fifty (JButton test)
{
if (question == 1)
{
screen = 1;
question = 1;
question_count = 1;
chB = new JButton ("Hockey");
chC = new JButton ("Soccer");
question_one ();
chA.setEnabled (false);
chB.setEnabled (false);
repaint ();
}
}
public void check_answer (JButton test)
{
if (question == 1)
{
if (test == chB)
{
right_answer = true;
amount_earning = 100;
try
{
Thread.sleep (500);
}
catch (InterruptedException e)
{
}
repaint ();
}
else
{
wrong = true;
removeAll ();
repaint ();
}
}
if (question == 2)
{
if (test == chD)
{
right_answer = true;
amount_earning = 200;
try
{
Thread.sleep (500);
}
catch (InterruptedException e)
{
}
question = 3;
removeAll ();
repaint ();
}
else
{
screen = 3;
removeAll ();
repaint ();
}
}
}
public void actionPerformed (ActionEvent e)
{
JButton clicked = (JButton) e.getSource ();
if (start_game == clicked)
{
background.play ();
screen = 1;
removeAll ();
question_one ();
question = 1;
}
else
{
check_answer (clicked);
correct ();
if (cont_game == clicked)
{
screen = 1;
}
}
}
//check_answer (clicked);
public void paint (Graphics g)
{
Font f = new Font ("Cambria", Font.BOLD, 35);
g.setFont (f);
if (screen == 0)
{
//Intro Page .... Game start ....
g.drawImage (menuPic, 0, 0, this);
background.play ();
}
if (screen == 1)
{
//Game Interface
g.drawImage (gameInt, 0, 0, this);
}
if (question == 1)
{
try
{
Thread.sleep (500);
}
catch (InterruptedException e)
{
}
g.setColor (Color.white);
g.drawString ("Which Sport Begins With A Face Off?", 45, 600);
chA.repaint ();
chB.repaint ();
chC.repaint ();
chD.repaint ();
}
if (question == 2)
{
f = new Font ("Cambria", Font.BOLD, 25);
g.setFont (f);
try
{
Thread.sleep (500);
}
catch (InterruptedException e)
{
}
g.setColor (Color.white);
g.drawString ("Cross country skiing and rifle shooting make up which sport? ", 45, 600);
chA.repaint ();
chB.repaint ();
chC.repaint ();
chD.repaint ();
}
if (question == 3)
{
f = new Font ("Cambria", Font.BOLD, 25);
g.setFont (f);
try
{
Thread.sleep (500);
}
catch (InterruptedException e)
{
}
g.setColor (Color.white);
g.drawString (" What company 's logo is called the 'swoosh'? ", 45, 600);
chA.repaint ();
chB.repaint ();
chC.repaint ();
chD.repaint ();
}
if (amount_earning == 100)
{
g.setColor (Color.red);
g.drawRect (800, 730, 130, 50);
}
if (wrong == true)
{
g.drawImage (game_overPic, 0, 0, this);
}
if (screen == 5)
{
g.drawImage (correct, 0, 0, this);
cont_game.repaint ();
}
}
} // paint method
// Millionaire class
Description: |
|
Download |
Filename: |
Millionaire.html |
Filesize: |
276 Bytes |
Downloaded: |
301 Time(s) |
Description: |
|
Download |
Filename: |
Millionaire.java |
Filesize: |
7.58 KB |
Downloaded: |
386 Time(s) |
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
Tony
|
Posted: Mon Jun 13, 2011 11:36 pm Post subject: RE:who wants to be a millionaire help |
|
|
Before you get too far into this.. notice how your
public void question_one ()
and
public void question_two ()
are _almost_ the same? Abstract the common parts into a single function, and load whatever differences from arguments/arrays/data-file/whatever-you-want. This will also save you from having if (question == 1) else (question == 2) else (...) x20 madness. Basically it's a bit more complicated to set up, but at the end you end up writing 20 times less code.
|
Tony's programming blog. DWITE - a programming contest. |
|
|
|
|
edkedned
|
Posted: Tue Jun 14, 2011 9:39 am Post subject: RE:who wants to be a millionaire help |
|
|
Oh ..ok..could you please explain to me how i would do that?
|
|
|
|
|
|
apython1992
|
Posted: Tue Jun 14, 2011 11:57 am Post subject: Re: RE:who wants to be a millionaire help |
|
|
Tony @ Mon Jun 13, 2011 11:36 pm wrote: Abstract the common parts into a single function
You have two functions that do pretty much the same thing. Can you tell what is common between the two functions?
|
|
|
|
|
|
edkedned
|
Posted: Tue Jun 14, 2011 12:48 pm Post subject: RE:who wants to be a millionaire help |
|
|
The buttons and their locations
|
|
|
|
|
|
apython1992
|
Posted: Tue Jun 14, 2011 1:10 pm Post subject: RE:who wants to be a millionaire help |
|
|
So write this into one function, and determine the colour and location of the buttons based on a parameter that is passed in.
|
|
|
|
|
|
|
|