Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mathfacts.views;
- import java.awt.Dimension;
- import java.awt.EventQueue;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import javax.swing.UIManager;
- import javax.swing.border.EmptyBorder;
- import com.mathfacts.common.Lives;
- import com.mathfacts.common.LoopArray;
- import javax.swing.JLabel;
- import javax.swing.GroupLayout;
- import javax.swing.GroupLayout.Alignment;
- import javax.swing.SwingConstants;
- import javax.swing.SwingWorker;
- import java.awt.Font;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.LayoutStyle.ComponentPlacement;
- import javax.swing.JButton;
- public class Game extends JFrame {
- private JPanel contentPane;
- JLabel lblProblem;
- JButton btnAnswer1 = new JButton("100");
- JButton btnAnswer2 = new JButton("100");
- JButton btnAnswer3 = new JButton("100");
- JButton btnAnswer4 = new JButton("100");
- JButton btnAnswer5 = new JButton("100");
- JButton btnAnswer6 = new JButton("100");
- private JLabel lblLivesHint = new JLabel("Lives");
- private static JLabel lblLives;
- private static Game game = new Game();
- //String[] values = lblProblem.getText().split(" \\* ");
- //String answerAsString = lblProblem.getText();
- //int answerAsInt = Integer.valueOf(values[0]) * Integer.valueOf(values[1]);
- /**
- * Launch the application.
- */
- public static void main(String[] args) {
- try {
- UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
- } catch (Throwable e) {
- e.printStackTrace();
- }
- EventQueue.invokeLater(new Runnable() {
- public void run() {
- try {
- //Game1 frame = new Game1();
- //frame.setVisible(true);
- game.setVisible(true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- }
- /**
- * Create the frame.
- */
- public Game() {
- LoopArray.addProblems();
- initComponents();
- createEvents();
- new LivesSwingBackgroupWorker().execute();
- new GameOverSwingBackgroupWorker().execute();
- }
- ///////////////////////////////////////////////////////////
- // This method contains all of the code for creating and //
- // initializing components //
- ///////////////////////////////////////////////////////////
- private void initComponents() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- contentPane = new JPanel();
- contentPane.setBounds(100, 100, 585, 700);
- contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
- setContentPane(contentPane);
- contentPane.setPreferredSize(new Dimension(585, 700));
- lblProblem = new JLabel("0");
- lblProblem.setFont(new Font("Tahoma", Font.PLAIN, 30));
- lblProblem.setHorizontalAlignment(SwingConstants.LEFT);
- lblProblem.setText(LoopArray.sendRandomProblem());
- lblLives = new JLabel(Lives.getStringLives());
- lblLivesHint.setFont(new Font("Tahoma", Font.PLAIN, 30));
- JLabel lblProblemHint = new JLabel("Problem:");
- lblProblemHint.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer1.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer1.setText(Integer.toString( (int) Math.floor(Math.random()*145) ) );
- btnAnswer2.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer2.setText(Integer.toString( (int) Math.floor(Math.random()*145) ) );
- btnAnswer3.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer3.setText(Integer.toString( (int) Math.floor(Math.random()*145) ) );
- btnAnswer4.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer4.setText(Integer.toString( (int) Math.floor(Math.random()*145) ) );
- btnAnswer5.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer5.setText(Integer.toString( (int) Math.floor(Math.random()*145) ) );
- btnAnswer6.setFont(new Font("Tahoma", Font.PLAIN, 30));
- btnAnswer6.setText(Integer.toString( (int) Math.floor(Math.random()*144) ) );
- GroupLayout gl_contentPane = new GroupLayout(contentPane);
- gl_contentPane.setHorizontalGroup(
- gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addComponent(lblProblemHint)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(lblProblem, GroupLayout.DEFAULT_SIZE, 312, Short.MAX_VALUE)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(lblLivesHint)
- .addPreferredGap(ComponentPlacement.RELATED)
- .addComponent(lblLives)
- .addGap(13))
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGap(18)
- .addComponent(btnAnswer1)
- .addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(btnAnswer2)
- .addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(btnAnswer3)
- .addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(btnAnswer4)
- .addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(btnAnswer5)
- .addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(btnAnswer6)))
- .addContainerGap())
- );
- gl_contentPane.setVerticalGroup(
- gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
- .addComponent(lblProblem)
- .addComponent(lblProblemHint)
- .addComponent(lblLivesHint))
- .addPreferredGap(ComponentPlacement.RELATED)
- .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
- .addComponent(btnAnswer1)
- .addComponent(btnAnswer2)
- .addComponent(btnAnswer3))
- .addComponent(btnAnswer4)
- .addComponent(btnAnswer5)
- .addComponent(btnAnswer6)))
- .addGroup(gl_contentPane.createSequentialGroup()
- .addContainerGap()
- .addComponent(lblLives)))
- .addContainerGap(602, Short.MAX_VALUE))
- );
- contentPane.setLayout(gl_contentPane);
- this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- pack();
- }
- //////////////////////////////////////////////////////////////
- // This method contains all of the code for creating events //
- //////////////////////////////////////////////////////////////
- private void createEvents() {
- String input = lblProblem.getText();
- String parts[] = input.split("\\*");
- int result = 1;
- for(String part : parts)
- result *= Integer.parseInt(part.trim());
- System.out.println(result);
- int chooserThing = (int) Math.floor(Math.random() * 6);
- if (chooserThing == 0) {
- btnAnswer1.setText(Integer.toString(result));
- } else if (chooserThing == 1) {
- btnAnswer2.setText(Integer.toString(result));
- } else if (chooserThing == 2) {
- btnAnswer3.setText(Integer.toString(result));
- } else if (chooserThing == 3) {
- btnAnswer4.setText(Integer.toString(result));
- } else if (chooserThing == 4) {
- btnAnswer5.setText(Integer.toString(result));
- } else if (chooserThing == 5) {
- btnAnswer6.setText(Integer.toString(result));
- } else {
- System.out.println("OH NOOOOOOOOOOOOOO HELP ME THE WORLD IS GONNA END THE ANSWER IS NOT THERE WHAT DO I DO THIS SHOULD HAVE NEVER HAPPENED OMG OMG OMG IT IS THE END OF THE WORLD HEEEEEEEEEEEEEEEEEEEEEELLLLLLLLLLLLLLLLLLLLLPPPPPPPPPPPPPPP THE WORLD IS GONNA EXPLODE OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG OMG");
- }
- if (chooserThing == 0) {
- btnAnswer1.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- } else if (chooserThing == 1) {
- btnAnswer2.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- } else if (chooserThing == 2) {
- btnAnswer3.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- } else if (chooserThing == 3) {
- btnAnswer4.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- } else if (chooserThing == 4) {
- btnAnswer5.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- } else if (chooserThing == 5) {
- btnAnswer6.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- new Game().setVisible(true);
- dispose();
- }
- });
- }
- if (chooserThing != 0) {
- btnAnswer1.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- if (chooserThing != 1) {
- btnAnswer2.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- if (chooserThing != 2) {
- btnAnswer3.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- if (chooserThing != 3) {
- btnAnswer4.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- if (chooserThing != 4) {
- btnAnswer5.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- if (chooserThing != 5) {
- btnAnswer6.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- Lives.subtractLife();
- }
- });
- }
- }
- public static class LivesSwingBackgroupWorker extends SwingWorker<Object, Object> {
- @Override
- protected Object doInBackground() throws Exception {
- while (true) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- lblLives.setText(Integer.toString(Lives.lives));
- }
- });
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- public static class GameOverSwingBackgroupWorker extends SwingWorker<Object, Object> {
- @Override
- protected Object doInBackground() throws Exception {
- while (true) {
- java.awt.EventQueue.invokeLater(new Runnable() {
- public void run() {
- int value = Integer.parseInt(lblLives.getText());
- if (value <= 0) {
- System.out.println("IT WORKED YAYYYYYYYYYYY");
- game.setEnabled(false);
- game.setVisible(false);
- game.dispose();
- new GameOver().setVisible(true);
- Lives.resetLives();
- }
- }
- });
- try {
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement