Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.event.KeyEvent;
- import java.awt.event.KeyListener;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class connect4graphics extends JPanel implements KeyListener {
- // declare variables
- int highlighted = 3;
- static int board[][] = new int[7][8];
- static JFrame f;
- static int turn = 1;
- static Color cb[] = { Color.WHITE, Color.RED, Color.BLUE };
- static boolean connect4 = false;
- static boolean p2win = false;
- static boolean p1win = false;
- public void paintComponent(Graphics g) {
- // graphics
- for (int k = 0; k < 6; k++) {
- for (int j = 0; j < 7; j++) {
- g.setColor(cb[board[k + 1][j]]);
- g.fillOval(100 * j + 30, 90 * (k + 1), 70, 70);
- }
- g.setColor(cb[turn]);
- g.fillOval(100 * highlighted + 50, 20, 30, 30);
- }
- if (p1win == true) {
- g.setColor(Color.blue);
- g.drawString("BLUE wins", 720, 300);
- }
- if (p2win == true) {
- g.setColor(Color.red);
- g.drawString("RED wins", 720, 300);
- }
- }
- public static void main(String[] args) {
- // makes jframe and key listener
- f = new JFrame("Connect 4");
- connect4graphics p = new connect4graphics();
- f.setSize(800, 800);
- f.setVisible(true);
- f.setBackground(Color.ORANGE);
- f.add(p);
- f.addKeyListener(p);
- }
- public void keyPressed(KeyEvent move) {
- // movement
- if (move.getKeyCode() == KeyEvent.VK_RIGHT) {
- ++highlighted;
- if (highlighted > 6) {
- highlighted = 6;
- }
- } else if (move.getKeyCode() == KeyEvent.VK_LEFT) {
- --highlighted;
- if (highlighted <= 0) {
- highlighted = 0;
- }
- } else if (move.getKeyCode() == KeyEvent.VK_SPACE) {
- dropball(highlighted);
- }
- f.repaint();
- }
- public void dropball(int highlighted) {
- // drops the ball
- while (p1win == false && p2win == false) {
- for (int j = 6; j >= 0; j--) {
- if (board[j][highlighted] == 0) {
- board[j][highlighted] = turn;
- if (turn == 1) {
- turn++;
- break;
- } else if (turn == 2) {
- turn--;
- j = 0;
- break;
- }
- }
- f.repaint();
- }
- //win check
- for (int o = 0; o < 4; o++) {
- for (int p = 0; p < 5; p++) {
- if (board[o][p] != 0 && board[o][p] == board[o + 1][p + 1]
- && board[o + 1][p + 1] == board[o + 2][p + 2]
- && board[o + 2][p + 2] == board[o + 3][p + 3]) {
- if (turn == 1) {
- p1win = true;
- } else if (turn == 2) {
- p2win = true;
- break;
- }
- }
- }
- }
- for (int o = 0; o < 4; o++) {
- for (int p = 0; p < 5; p++) {
- if (board[o][p] != 0 && board[o][p] == board[o - 1][p - 1]
- && board[o - 1][p - 1] == board[o - 2][p - 2]
- && board[o - 2][p - 2] == board[o - 3][p - 3]) {
- if (turn == 1) {
- p1win = true;
- } else if (turn == 2) {
- p2win = true;
- break;
- }
- }
- }
- }
- for (int o = 0; o < 4; o++) {
- for (int p = 0; p < 5; p++) {
- if (board[o][p] != 0 && board[o][p] == board[o + 1][p]
- && board[o + 1][p] == board[o + 2][p]
- && board[o + 2][p] == board[o + 3][p]) {
- if (turn == 1) {
- p1win = true;
- } else if (turn == 2) {
- p2win = true;
- break;
- }
- }
- }
- }
- {
- for (int o = 0; o < 7; o++) {
- for (int p = 0; p < 4; p++) {
- if (board[o][p] != 0 && board[o][p] == board[o][p + 1]
- && board[o][p + 1] == board[o][p + 2]
- && board[o][p + 2] == board[o][p + 3]) {
- if (turn == 1) {
- p1win = true;
- } else if (turn == 2) {
- p2win = true;
- break;
- }
- }
- }
- }
- }
- break;
- }
- }
- public void keyReleased(KeyEvent arg0) {
- // TODO Auto-generated method stub
- }
- public void keyTyped(KeyEvent arg0) {
- // TODO Auto-generated method stub
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement