Open House Password
Open House Password
This applet is the starter code designed for Open House at St Francis. A guest types their name and a password based upon their name for a prize. The guest can inspect the code as a hint.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class OpenHouse extends Applet implements ActionListener{
TextArea t;
Button clearButton, level1Button,level2Button,level3Button,level4Button;
String nm,pw;
JTextField n=new JTextField("");
JTextField p=new JTextField("");
public void init(){
t=new TextArea();
t.setFont(new Font("Courier", Font.BOLD,20));
t.setForeground(new Color(251,182,0));
t.setBackground(new Color(44,23,0));
t.setEditable(true);
level1Button=new Button("Level 1");
level1Button.addActionListener(this);
level2Button=new Button("Level 2");
level2Button.addActionListener(this);
level3Button=new Button("Level 3");
level3Button.addActionListener(this);
level4Button=new Button("Level 4");
level4Button.addActionListener(this);
clearButton=new Button("Clear");
clearButton.addActionListener(this);
this.setLayout(new BorderLayout());
this.add(t, BorderLayout.CENTER);
Panel buttonPanel=new Panel(new FlowLayout());
buttonPanel.add(level1Button);
buttonPanel.add(level2Button);
buttonPanel.add(level3Button);
buttonPanel.add(level4Button);
buttonPanel.add(clearButton);
nm="";
pw="";
this.add(buttonPanel, BorderLayout.NORTH);
}
@Override
public void actionPerformed(ActionEvent e) {
Object buttonPressed=e.getSource();
if (buttonPressed==clearButton){
t.setText("");
} else if (buttonPressed==level1Button) {
t.append("Level 1:\n");
doDialog("Level 1");
if (level1(nm).equals(pw) ){
t.append("\nCorrect! Level 1 Unlocked!\n");
} else {
t.append("\nSorry, try again.\n");
}
} else if (buttonPressed==level2Button) {
doDialog("Level 2");
if (level2(nm).equals(pw) ){
t.append("\nCorrect! Level 2 Unlocked!\n");
} else {
t.append("\nSorry, try again.\n");
}
}else if (buttonPressed==level3Button) {
doDialog("Level Patrick");
if (levelPatrick(nm).equals(pw) ){
t.append("\nCorrect! Level Patrick Unlocked!\n");
} else {
t.append("\nSorry, try again.\n");
}
}else if (buttonPressed==level4Button) {
doDialog("Level James");
if (level4(nm).equals(pw) ){
t.append("\nCorrect! Level James Unlocked!\n");
} else {
t.append("\nSorry, try again.\n");
}
}
}
public void doDialog(String prompt){
final JComponent[] order = new JComponent[] {
new JLabel("name: "),
n,
new JLabel("password: "),
p,
};
JOptionPane.showMessageDialog(this, order, prompt, JOptionPane.PLAIN_MESSAGE);
try{
nm= n.getText().toUpperCase();
pw = p.getText().toUpperCase();
t.append("\nName: "+nm+"\nPassword: "+pw);
}catch( Exception exception){
t.append("\nHuh? try again");
}
}
public String level1(String name)
{
return 2*name.length()+"";
}
public String level2(String name)
{
String alpha="ABCDEFGHIJKLMNOPQURSTUVWXYZA";
String result="";
for (int i=0;i<name.length(); i++)
{
int x= alpha.indexOf(name.substring(i,i+1));
result+=alpha.substring(x+1,x+2);
}
return result;
}
public String levelPatrick(String name)
{
//what do you thint % means in java code?
int answer= name.length() % 4;
return answer + "";
//hint 1: it does not mean percent
//hint 2: Patrick=3 and Chris=1
}
public String level4(String name)
{
return "GO_KNIGHTS";
}
}
