Advertisement
Guest User

Untitled

a guest
May 16th, 2018
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.83 KB | None | 0 0
  1. import java.awt.Color;
  2. import java.awt.Graphics;
  3. import java.awt.event.KeyEvent;
  4. import java.awt.event.KeyListener;
  5.  
  6. import javax.swing.JFrame;
  7. import javax.swing.JPanel;
  8.  
  9. public class connect4graphics extends JPanel implements KeyListener {
  10.  
  11. // declare variables
  12.  
  13. int highlighted = 3;
  14. static int board[][] = new int[7][8];
  15. static JFrame f;
  16. static int turn = 1;
  17. static Color cb[] = { Color.WHITE, Color.RED, Color.BLUE };
  18. static boolean connect4 = false;
  19. static boolean p2win = false;
  20. static boolean p1win = false;
  21.  
  22. public void paintComponent(Graphics g) {
  23. // graphics
  24. for (int k = 0; k < 6; k++) {
  25. for (int j = 0; j < 7; j++) {
  26. g.setColor(cb[board[k + 1][j]]);
  27. g.fillOval(100 * j + 30, 90 * (k + 1), 70, 70);
  28. }
  29. g.setColor(cb[turn]);
  30. g.fillOval(100 * highlighted + 50, 20, 30, 30);
  31. }
  32. if (p1win == true) {
  33. g.setColor(Color.blue);
  34. g.drawString("BLUE wins", 720, 300);
  35. }
  36. if (p2win == true) {
  37. g.setColor(Color.red);
  38. g.drawString("RED wins", 720, 300);
  39. }
  40.  
  41. }
  42.  
  43. public static void main(String[] args) {
  44. // makes jframe and key listener
  45. f = new JFrame("Connect 4");
  46. connect4graphics p = new connect4graphics();
  47. f.setSize(800, 800);
  48. f.setVisible(true);
  49. f.setBackground(Color.ORANGE);
  50. f.add(p);
  51. f.addKeyListener(p);
  52.  
  53. }
  54.  
  55. public void keyPressed(KeyEvent move) {
  56. // movement
  57.  
  58. if (move.getKeyCode() == KeyEvent.VK_RIGHT) {
  59. ++highlighted;
  60. if (highlighted > 6) {
  61. highlighted = 6;
  62.  
  63. }
  64.  
  65. } else if (move.getKeyCode() == KeyEvent.VK_LEFT) {
  66. --highlighted;
  67. if (highlighted <= 0) {
  68. highlighted = 0;
  69. }
  70.  
  71. } else if (move.getKeyCode() == KeyEvent.VK_SPACE) {
  72. dropball(highlighted);
  73.  
  74. }
  75. f.repaint();
  76. }
  77.  
  78. public void dropball(int highlighted) {
  79. // drops the ball
  80. while (p1win == false && p2win == false) {
  81. for (int j = 6; j >= 0; j--) {
  82. if (board[j][highlighted] == 0) {
  83. board[j][highlighted] = turn;
  84. if (turn == 1) {
  85. turn++;
  86. break;
  87. } else if (turn == 2) {
  88. turn--;
  89. j = 0;
  90. break;
  91.  
  92. }
  93. }
  94.  
  95. f.repaint();
  96. }
  97.  
  98. //win check
  99.  
  100. for (int o = 0; o < 4; o++) {
  101. for (int p = 0; p < 5; p++) {
  102. if (board[o][p] != 0 && board[o][p] == board[o + 1][p + 1]
  103. && board[o + 1][p + 1] == board[o + 2][p + 2]
  104. && board[o + 2][p + 2] == board[o + 3][p + 3]) {
  105. if (turn == 1) {
  106. p1win = true;
  107. } else if (turn == 2) {
  108. p2win = true;
  109. break;
  110. }
  111. }
  112. }
  113. }
  114. for (int o = 0; o < 4; o++) {
  115. for (int p = 0; p < 5; p++) {
  116. if (board[o][p] != 0 && board[o][p] == board[o - 1][p - 1]
  117. && board[o - 1][p - 1] == board[o - 2][p - 2]
  118. && board[o - 2][p - 2] == board[o - 3][p - 3]) {
  119. if (turn == 1) {
  120. p1win = true;
  121. } else if (turn == 2) {
  122. p2win = true;
  123. break;
  124.  
  125. }
  126. }
  127. }
  128. }
  129. for (int o = 0; o < 4; o++) {
  130. for (int p = 0; p < 5; p++) {
  131. if (board[o][p] != 0 && board[o][p] == board[o + 1][p]
  132. && board[o + 1][p] == board[o + 2][p]
  133. && board[o + 2][p] == board[o + 3][p]) {
  134. if (turn == 1) {
  135. p1win = true;
  136. } else if (turn == 2) {
  137. p2win = true;
  138. break;
  139. }
  140. }
  141. }
  142. }
  143.  
  144. {
  145.  
  146. for (int o = 0; o < 7; o++) {
  147. for (int p = 0; p < 4; p++) {
  148. if (board[o][p] != 0 && board[o][p] == board[o][p + 1]
  149. && board[o][p + 1] == board[o][p + 2]
  150. && board[o][p + 2] == board[o][p + 3]) {
  151. if (turn == 1) {
  152. p1win = true;
  153. } else if (turn == 2) {
  154. p2win = true;
  155. break;
  156. }
  157. }
  158. }
  159. }
  160. }
  161.  
  162. break;
  163. }
  164. }
  165.  
  166. public void keyReleased(KeyEvent arg0) {
  167. // TODO Auto-generated method stub
  168.  
  169. }
  170.  
  171. public void keyTyped(KeyEvent arg0) {
  172. // TODO Auto-generated method stub
  173.  
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement