I used java to create a virtual magic 8 ball. The user types in a question and then clicks the "ask the magic 8 ball" button and a response is generated. I used the random library to generate random responses. The buttons and textbox on the graphics interface were done using the java swing library.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.ImageObserver;
import java.util.Random;
public class ball8 implements ActionListener {
private JLabel label;
private JFrame frame;
private JButton button;
private final JTextField textbox;
private JLabel question;
public ball8(){
frame = new JFrame();
frame.setSize(400, 400);
question = new JLabel("Ask a yes/no question: ");
textbox = new JTextField(16);
button = new JButton("Ask the magic 8 ball");
button.addActionListener(this);
label = new JLabel("Your fate has been determined: ");
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createEmptyBorder(30, 30,10, 30));
panel.setLayout(new GridLayout(0, 1));
panel.add(question);
panel.add(textbox);
panel.add(button);
panel.add(label);
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Magic 8 ball");
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new ball8();
}
@Override
public void actionPerformed(ActionEvent e) {
String[] message = {"Reply hazy, try again", "Yes", "No", "maybe", "outlook not so good"};
Random r = new Random();
int randomNumber = r.nextInt(message.length);
label.setText("Your fate has been determined: " + message[randomNumber]);
textbox.setText(" ");
}
}