Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Random;
- public class Game implements ActionListener{
- static JFrame f_play, f_highscores, f_htp;
- private JButton b_red, b_blue, b_green, b_yellow, b_purple, b_orange, b_back, b_next;
- private JPanel p_game, p_play;
- private JLabel l_correct, l_game_over, l_level, l_final_level, l_final_score, l_current_score;
- ArrayList<Color> color = new ArrayList<Color>();
- ArrayList<Color> buttonsClicked = new ArrayList<Color>();
- Color red = Color.RED, orange = new Color(255, 128, 0), yellow = Color.YELLOW, green = new Color(0, 199, 13),
- blue = new Color(0, 77, 255), purple = new Color(170, 34, 228);
- int rounds = 4, time = 1000;
- static int highscore = 0;
- String name = "";
- Timer timer;
- public static int num = 0;
- int color_count = 0, buttonCount = 0;
- Color[] colors = {red, blue, green, yellow, purple, orange};
- public Game() {
- num++;
- f_play = new JFrame("Play!");
- initializeFrame(f_play);
- p_play = new JPanel();
- p_play.setSize(900,700);
- p_play.setVisible(true);
- p_play.setLayout(null);
- f_play.add(p_play);
- b_red = new JButton("Red");
- p_play.add(b_red);
- b_red.setBounds(150,550,100,75);
- b_red.setBackground(red);
- b_red.setVisible(false);
- b_red.addActionListener(this);
- b_orange = new JButton("Orange");
- p_play.add(b_orange);
- b_orange.setBounds(250,550,100,75);
- b_orange.setBackground(orange);
- b_orange.setVisible(false);
- b_orange.addActionListener(this);
- b_yellow = new JButton("Yellow");
- p_play.add(b_yellow);
- b_yellow.setBounds(350,550,100,75);
- b_yellow.setBackground(yellow);
- b_yellow.setVisible(false);
- b_yellow.addActionListener(this);
- b_green = new JButton("Green");
- p_play.add(b_green);
- b_green.setBounds(450,550,100,75);
- b_green.setBackground(green);
- b_green.setVisible(false);
- b_green.addActionListener(this);
- b_blue = new JButton("Blue");
- p_play.add(b_blue);
- b_blue.setBounds(550,550,100,75);
- b_blue.setBackground(blue);
- b_blue.setVisible(false);
- b_blue.addActionListener(this);
- b_purple = new JButton("Purple");
- p_play.add(b_purple);
- b_purple.setBounds(650,550,100,75);
- b_purple.setBackground(purple);
- b_purple.setVisible(false);
- b_purple.addActionListener(this);
- p_game = new JPanel();
- p_play.add(p_game);
- p_game.setVisible(false);
- p_game.setBounds(250,80,400,400);
- /* if(num >= 3){
- time = 500;
- }*/
- timer = new Timer(time, this);
- timer.start();
- f_play.setVisible(true);
- l_level = new JLabel("Level " + num);
- p_play.add(l_level);
- l_level.setBounds(385,200,130,80);
- l_level.setFont(new Font("Serif", Font.PLAIN, 44));
- l_correct = new JLabel("Correct!");
- p_play.add(l_correct);
- l_correct.setVisible(false);
- l_correct.setBounds(378,100,144,100);
- l_correct.setFont(new Font("Serif", Font.PLAIN, 44));
- l_game_over = new JLabel("Game Over!");
- p_play.add(l_game_over);
- l_game_over.setVisible(false);
- l_game_over.setBounds(343,100,215,100);
- l_game_over.setFont(new Font("Serif", Font.PLAIN, 44));
- b_back = new JButton("Back to Main Menu");
- p_play.add(b_back);
- b_back.setBounds(350,550,200,75);
- b_back.setVisible(false);
- b_back.addActionListener(this);
- b_next = new JButton("Next Level");
- p_play.add(b_next);
- b_next.setBounds(350,550,200,75);
- b_next.setVisible(false);
- b_next.addActionListener(this);
- l_final_level = new JLabel("Final Level: " + num);
- f_play.add(l_final_level);
- l_final_level.setVisible(false);
- l_final_level.setBounds(104,350,242,100);
- l_final_level.setFont(new Font("Serif", Font.PLAIN, 44));
- l_current_score = new JLabel("Score: " + highscore );
- p_play.add(l_current_score);
- l_current_score.setVisible(true);
- l_current_score.setBounds(0,0,245,100);
- l_current_score.setFont(new Font("Serif", Font.PLAIN, 44));
- }
- public static void howToPlay() {
- f_htp = new JFrame("How to Play");
- initializeFrame(f_htp);
- }
- public static void highscores() {
- f_highscores = new JFrame("Highscores");
- Game.initializeFrame(f_highscores);
- }
- public static void initializeFrame(JFrame frame) {
- frame.setSize(900,700);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- frame.setVisible(true);
- frame.setLayout(null);
- frame.setLocationRelativeTo(null);
- }
- public void actionPerformed(ActionEvent e) {
- boolean is_colour_button = false;
- if(color_count < num){
- p_game.setVisible(true);
- Color randomColor = colors[new Random().nextInt(colors.length)];
- p_game.setBackground(randomColor);
- color.add(randomColor);
- color_count++;
- }
- else if(color_count == num){
- p_game.setVisible(false);
- b_red.setVisible(true);
- b_yellow.setVisible(true);
- b_orange.setVisible(true);
- b_green.setVisible(true);
- b_blue.setVisible(true);
- b_purple.setVisible(true);
- }
- if(e.getSource() == b_red){
- buttonsClicked.add(red);
- is_colour_button = true;
- }
- else if(e.getSource() == b_blue){
- buttonsClicked.add(blue);
- is_colour_button = true;
- }
- else if(e.getSource() == b_green){
- buttonsClicked.add(green);
- is_colour_button = true;
- }
- else if(e.getSource() == b_orange){
- buttonsClicked.add(orange);
- is_colour_button = true;
- }
- else if(e.getSource() == b_yellow){
- buttonsClicked.add(yellow);
- is_colour_button = true;
- }
- else if(e.getSource() == b_purple){
- buttonsClicked.add(purple);
- is_colour_button = true;
- }
- if(buttonsClicked.size() > 0 && is_colour_button){
- try{
- for(int x = 0; x < color.size(); x++){
- if(buttonsClicked.get(x) != color.get(x)){
- f_play.dispose();
- l_final_score = new JLabel("Final Score: " + highscore );
- l_final_score.setBounds(554,350,245,100);
- l_final_score.setFont(new Font("Serif", Font.PLAIN, 44));
- JFrame f_test = new JFrame("test");
- initializeFrame(f_test);
- f_test.add(l_game_over);
- f_test.add(l_final_level);
- f_test.add(l_final_score);
- f_test.add(b_back);
- l_game_over.setVisible(true);
- l_final_level.setVisible(true);
- l_final_score.setVisible(true);
- l_level.setVisible(false);
- b_back.setVisible(true);
- b_red.setVisible(false);
- b_yellow.setVisible(false);
- b_orange.setVisible(false);
- b_green.setVisible(false);
- b_blue.setVisible(false);
- b_purple.setVisible(false);
- timer.stop();
- break;
- // READ AND WRITE HIGHSCORE
- // RESET LEVEL
- }
- }
- }
- catch(Exception e1){
- }
- for(int y = 0; y < color.size(); y++){
- if(buttonsClicked.get(y) == color.get(y)){
- highscore++;
- l_current_score.setText("Score: " + highscore );
- System.out.print(highscore);
- timer.stop();
- break;
- }
- }
- }
- if(color.equals(buttonsClicked)){
- l_correct.setVisible(true);
- b_next.setVisible(true);
- b_red.setVisible(false);
- b_yellow.setVisible(false);
- b_orange.setVisible(false);
- b_green.setVisible(false);
- b_blue.setVisible(false);
- b_purple.setVisible(false);
- timer.stop();
- // f_play.setVisible(false);
- // new Game();
- }
- if(e.getSource() == b_back) {
- String username = JOptionPane.showInputDialog(f_play, "Enter Name", "Add Highscore", JOptionPane.PLAIN_MESSAGE);
- f_play.dispose();
- new ColorFlash();
- }
- if(e.getSource() == b_next) {
- f_play.dispose();
- new Game();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement