Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.75 KB | None | 0 0
  1. import java.awt.*;
  2. import java.awt.event.ActionEvent;
  3. import java.awt.event.ActionListener;
  4. import javax.swing.*;
  5. import java.io.*;
  6. import java.util.ArrayList;
  7. import java.util.Random;
  8.  
  9. public class Game implements ActionListener{
  10. static JFrame f_play, f_highscores, f_htp;
  11. private JButton b_red, b_blue, b_green, b_yellow, b_purple, b_orange, b_back, b_next;
  12. private JPanel p_game, p_play;
  13. private JLabel l_correct, l_game_over, l_level, l_final_level, l_final_score, l_current_score;
  14. ArrayList<Color> color = new ArrayList<Color>();
  15. ArrayList<Color> buttonsClicked = new ArrayList<Color>();
  16. Color red = Color.RED, orange = new Color(255, 128, 0), yellow = Color.YELLOW, green = new Color(0, 199, 13),
  17. blue = new Color(0, 77, 255), purple = new Color(170, 34, 228);
  18. int rounds = 4, time = 1000;
  19. static int highscore = 0;
  20. String name = "";
  21. Timer timer;
  22. public static int num = 0;
  23. int color_count = 0, buttonCount = 0;
  24. Color[] colors = {red, blue, green, yellow, purple, orange};
  25.  
  26. public Game() {
  27.  
  28. num++;
  29.  
  30. f_play = new JFrame("Play!");
  31. initializeFrame(f_play);
  32.  
  33. p_play = new JPanel();
  34. p_play.setSize(900,700);
  35. p_play.setVisible(true);
  36. p_play.setLayout(null);
  37. f_play.add(p_play);
  38.  
  39. b_red = new JButton("Red");
  40. p_play.add(b_red);
  41. b_red.setBounds(150,550,100,75);
  42. b_red.setBackground(red);
  43. b_red.setVisible(false);
  44. b_red.addActionListener(this);
  45.  
  46. b_orange = new JButton("Orange");
  47. p_play.add(b_orange);
  48. b_orange.setBounds(250,550,100,75);
  49. b_orange.setBackground(orange);
  50. b_orange.setVisible(false);
  51. b_orange.addActionListener(this);
  52.  
  53. b_yellow = new JButton("Yellow");
  54. p_play.add(b_yellow);
  55. b_yellow.setBounds(350,550,100,75);
  56. b_yellow.setBackground(yellow);
  57. b_yellow.setVisible(false);
  58. b_yellow.addActionListener(this);
  59.  
  60. b_green = new JButton("Green");
  61. p_play.add(b_green);
  62. b_green.setBounds(450,550,100,75);
  63. b_green.setBackground(green);
  64. b_green.setVisible(false);
  65. b_green.addActionListener(this);
  66.  
  67. b_blue = new JButton("Blue");
  68. p_play.add(b_blue);
  69. b_blue.setBounds(550,550,100,75);
  70. b_blue.setBackground(blue);
  71. b_blue.setVisible(false);
  72. b_blue.addActionListener(this);
  73.  
  74. b_purple = new JButton("Purple");
  75. p_play.add(b_purple);
  76. b_purple.setBounds(650,550,100,75);
  77. b_purple.setBackground(purple);
  78. b_purple.setVisible(false);
  79. b_purple.addActionListener(this);
  80.  
  81. p_game = new JPanel();
  82. p_play.add(p_game);
  83. p_game.setVisible(false);
  84. p_game.setBounds(250,80,400,400);
  85.  
  86. /* if(num >= 3){
  87. time = 500;
  88. }*/
  89.  
  90. timer = new Timer(time, this);
  91.  
  92. timer.start();
  93.  
  94. f_play.setVisible(true);
  95.  
  96. l_level = new JLabel("Level " + num);
  97. p_play.add(l_level);
  98. l_level.setBounds(385,200,130,80);
  99. l_level.setFont(new Font("Serif", Font.PLAIN, 44));
  100.  
  101. l_correct = new JLabel("Correct!");
  102. p_play.add(l_correct);
  103. l_correct.setVisible(false);
  104. l_correct.setBounds(378,100,144,100);
  105. l_correct.setFont(new Font("Serif", Font.PLAIN, 44));
  106.  
  107. l_game_over = new JLabel("Game Over!");
  108. p_play.add(l_game_over);
  109. l_game_over.setVisible(false);
  110. l_game_over.setBounds(343,100,215,100);
  111. l_game_over.setFont(new Font("Serif", Font.PLAIN, 44));
  112.  
  113. b_back = new JButton("Back to Main Menu");
  114. p_play.add(b_back);
  115. b_back.setBounds(350,550,200,75);
  116. b_back.setVisible(false);
  117. b_back.addActionListener(this);
  118.  
  119. b_next = new JButton("Next Level");
  120. p_play.add(b_next);
  121. b_next.setBounds(350,550,200,75);
  122. b_next.setVisible(false);
  123. b_next.addActionListener(this);
  124.  
  125. l_final_level = new JLabel("Final Level: " + num);
  126. f_play.add(l_final_level);
  127. l_final_level.setVisible(false);
  128. l_final_level.setBounds(104,350,242,100);
  129. l_final_level.setFont(new Font("Serif", Font.PLAIN, 44));
  130.  
  131.  
  132. l_current_score = new JLabel("Score: " + highscore );
  133. p_play.add(l_current_score);
  134. l_current_score.setVisible(true);
  135. l_current_score.setBounds(0,0,245,100);
  136. l_current_score.setFont(new Font("Serif", Font.PLAIN, 44));
  137.  
  138. }
  139.  
  140. public static void howToPlay() {
  141. f_htp = new JFrame("How to Play");
  142. initializeFrame(f_htp);
  143. }
  144.  
  145. public static void highscores() {
  146. f_highscores = new JFrame("Highscores");
  147. Game.initializeFrame(f_highscores);
  148. }
  149.  
  150. public static void initializeFrame(JFrame frame) {
  151. frame.setSize(900,700);
  152. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  153. frame.setVisible(true);
  154. frame.setLayout(null);
  155. frame.setLocationRelativeTo(null);
  156. }
  157.  
  158. public void actionPerformed(ActionEvent e) {
  159. boolean is_colour_button = false;
  160.  
  161. if(color_count < num){
  162. p_game.setVisible(true);
  163. Color randomColor = colors[new Random().nextInt(colors.length)];
  164.  
  165. p_game.setBackground(randomColor);
  166. color.add(randomColor);
  167. color_count++;
  168.  
  169. }
  170.  
  171. else if(color_count == num){
  172. p_game.setVisible(false);
  173. b_red.setVisible(true);
  174. b_yellow.setVisible(true);
  175. b_orange.setVisible(true);
  176. b_green.setVisible(true);
  177. b_blue.setVisible(true);
  178. b_purple.setVisible(true);
  179. }
  180. if(e.getSource() == b_red){
  181. buttonsClicked.add(red);
  182. is_colour_button = true;
  183. }
  184. else if(e.getSource() == b_blue){
  185. buttonsClicked.add(blue);
  186. is_colour_button = true;
  187. }
  188. else if(e.getSource() == b_green){
  189. buttonsClicked.add(green);
  190. is_colour_button = true;
  191. }
  192. else if(e.getSource() == b_orange){
  193. buttonsClicked.add(orange);
  194. is_colour_button = true;
  195. }
  196. else if(e.getSource() == b_yellow){
  197. buttonsClicked.add(yellow);
  198. is_colour_button = true;
  199. }
  200. else if(e.getSource() == b_purple){
  201. buttonsClicked.add(purple);
  202. is_colour_button = true;
  203. }
  204.  
  205. if(buttonsClicked.size() > 0 && is_colour_button){
  206.  
  207. try{
  208. for(int x = 0; x < color.size(); x++){
  209. if(buttonsClicked.get(x) != color.get(x)){
  210. f_play.dispose();
  211.  
  212. l_final_score = new JLabel("Final Score: " + highscore );
  213.  
  214. l_final_score.setBounds(554,350,245,100);
  215. l_final_score.setFont(new Font("Serif", Font.PLAIN, 44));
  216.  
  217. JFrame f_test = new JFrame("test");
  218. initializeFrame(f_test);
  219. f_test.add(l_game_over);
  220. f_test.add(l_final_level);
  221. f_test.add(l_final_score);
  222. f_test.add(b_back);
  223.  
  224.  
  225.  
  226. l_game_over.setVisible(true);
  227. l_final_level.setVisible(true);
  228. l_final_score.setVisible(true);
  229. l_level.setVisible(false);
  230. b_back.setVisible(true);
  231. b_red.setVisible(false);
  232. b_yellow.setVisible(false);
  233. b_orange.setVisible(false);
  234. b_green.setVisible(false);
  235. b_blue.setVisible(false);
  236. b_purple.setVisible(false);
  237. timer.stop();
  238. break;
  239. // READ AND WRITE HIGHSCORE
  240. // RESET LEVEL
  241. }
  242.  
  243. }
  244. }
  245.  
  246. catch(Exception e1){
  247.  
  248. }
  249. for(int y = 0; y < color.size(); y++){
  250. if(buttonsClicked.get(y) == color.get(y)){
  251.  
  252. highscore++;
  253. l_current_score.setText("Score: " + highscore );
  254. System.out.print(highscore);
  255. timer.stop();
  256. break;
  257. }
  258. }
  259. }
  260.  
  261. if(color.equals(buttonsClicked)){
  262. l_correct.setVisible(true);
  263. b_next.setVisible(true);
  264. b_red.setVisible(false);
  265. b_yellow.setVisible(false);
  266. b_orange.setVisible(false);
  267. b_green.setVisible(false);
  268. b_blue.setVisible(false);
  269. b_purple.setVisible(false);
  270. timer.stop();
  271. // f_play.setVisible(false);
  272. // new Game();
  273. }
  274.  
  275. if(e.getSource() == b_back) {
  276. String username = JOptionPane.showInputDialog(f_play, "Enter Name", "Add Highscore", JOptionPane.PLAIN_MESSAGE);
  277. f_play.dispose();
  278. new ColorFlash();
  279. }
  280. if(e.getSource() == b_next) {
  281. f_play.dispose();
  282. new Game();
  283.  
  284. }
  285. }
  286. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement