hi, I recently started programing about a month ago. my teacher ask me to make a game. A connect 4 game. I try to make, but failed. I need help.
here is my code:
[CODE=Java]import java.awt.*;
import java.awt.event. *;
import javax.swing.*;
public class Connect implements ActionListener {
private JFrame window = new JFrame();
private JPanel myPanel = new JPanel();
private JPanel myPanelB = new JPanel();
private JButton[][] myButtons = new JButton[6][7];
private JButton[] buttons = new JButton[7];
private int count = 5;
private int count2 = 5;
private int count3 = 5;
private int count4 = 5;
private int count5 = 5;
private int count6 = 5;
private int count7 = 5;
private int countA = 0;
private String letter = "";
public Connect(){
window.setSize( 400,400);
window.setDefau ltCloseOperatio n(JFrame.EXIT_O N_CLOSE);
myPanel.setLayo ut(new GridLayout(1,7) );
myPanelB.setLay out(new GridLayout(6,7) );
for (int i = 0; i < buttons.length; i ++){
buttons[i] = new JButton();
myPanel.add(but tons[i]);
buttons[i].addActionListe ner(this);
}
for (int i = 0; i < 6; i ++){
for (int j = 0; j < 7; j ++){
myButtons[i][j] = new JButton();
myPanelB.add(my Buttons[i][j]);
}
}
window.add(myPa nel, BorderLayout.NO RTH);
window.add(myPa nelB, BorderLayout.CE NTER);
window.setVisib le(true);
}
public void actionPerformed (ActionEvent e){
countA++;
if (countA % 2 == 0)
letter = "X";
else
letter = "O";
if (e.getSource() == buttons[0]){
myButtons[count][0].setText(letter );
count --;
}
if (e.getSource() == buttons[1]){
myButtons[count2][1].setText(letter );
count2 --;
}
if (e.getSource() == buttons[2]){
myButtons[count3][2].setText(letter );
count3--;
}
if (e.getSource() == buttons[3]){
myButtons[count4][3].setText(letter );
count4--;
}
if (e.getSource() == buttons[4]){
myButtons[count5][4].setText(letter );
count5--;
}
if (e.getSource() == buttons[5]){
myButtons[count6][5].setText(letter );
count6--;
}
if (e.getSource() == buttons[6]){
myButtons[count7][6].setText(letter );
count7--;
}
if (myButtons[0][0].getText().equa ls("O") || myButtons[0][0].getText().equa ls("X")){
buttons[0].setEnabled(fal se);
}
if (myButtons[0][1].getText().equa ls("O") || myButtons[0][1].getText().equa ls("X")){
buttons[1].setEnabled(fal se);
}
if (myButtons[0][2].getText().equa ls("O") || myButtons[0][2].getText().equa ls("X")){
buttons[2].setEnabled(fal se);
}
if (myButtons[0][3].getText().equa ls("O") || myButtons[0][3].getText().equa ls("X")){
buttons[3].setEnabled(fal se);
}
if (myButtons[0][4].getText().equa ls("O") || myButtons[0][4].getText().equa ls("X")){
buttons[4].setEnabled(fal se);
}
if (myButtons[0][5].getText().equa ls("O") || myButtons[0][5].getText().equa ls("X")){
buttons[5].setEnabled(fal se);
}
if (myButtons[0][6].getText().equa ls("O") || myButtons[0][6].getText().equa ls("X")){
buttons[6].setEnabled(fal se);
}
}
public static void main(String[] args){
new Connect();
}
}[/CODE]
the problem I ahve is that, how can I make it so that it checks if i've won or not? obviously when 4 buttons are connected i wud display a window saying you won.
i try to do something like this.
[CODE=Java]if (e.getSource() == buttons[0]){
myButtons[count][0].setText(letter );
if (myButtons[count][1].setText(letter ).equals(letter ) &&
myButtons[count][2].setText(letter ).equals(letter ) && ... [/CODE]
...and so forth, but i put it in, and i tried but it dun't work, im still at the begining stages, plz help!
THANK YOU IN ADVANCE !! XD
count --;
here is my code:
[CODE=Java]import java.awt.*;
import java.awt.event. *;
import javax.swing.*;
public class Connect implements ActionListener {
private JFrame window = new JFrame();
private JPanel myPanel = new JPanel();
private JPanel myPanelB = new JPanel();
private JButton[][] myButtons = new JButton[6][7];
private JButton[] buttons = new JButton[7];
private int count = 5;
private int count2 = 5;
private int count3 = 5;
private int count4 = 5;
private int count5 = 5;
private int count6 = 5;
private int count7 = 5;
private int countA = 0;
private String letter = "";
public Connect(){
window.setSize( 400,400);
window.setDefau ltCloseOperatio n(JFrame.EXIT_O N_CLOSE);
myPanel.setLayo ut(new GridLayout(1,7) );
myPanelB.setLay out(new GridLayout(6,7) );
for (int i = 0; i < buttons.length; i ++){
buttons[i] = new JButton();
myPanel.add(but tons[i]);
buttons[i].addActionListe ner(this);
}
for (int i = 0; i < 6; i ++){
for (int j = 0; j < 7; j ++){
myButtons[i][j] = new JButton();
myPanelB.add(my Buttons[i][j]);
}
}
window.add(myPa nel, BorderLayout.NO RTH);
window.add(myPa nelB, BorderLayout.CE NTER);
window.setVisib le(true);
}
public void actionPerformed (ActionEvent e){
countA++;
if (countA % 2 == 0)
letter = "X";
else
letter = "O";
if (e.getSource() == buttons[0]){
myButtons[count][0].setText(letter );
count --;
}
if (e.getSource() == buttons[1]){
myButtons[count2][1].setText(letter );
count2 --;
}
if (e.getSource() == buttons[2]){
myButtons[count3][2].setText(letter );
count3--;
}
if (e.getSource() == buttons[3]){
myButtons[count4][3].setText(letter );
count4--;
}
if (e.getSource() == buttons[4]){
myButtons[count5][4].setText(letter );
count5--;
}
if (e.getSource() == buttons[5]){
myButtons[count6][5].setText(letter );
count6--;
}
if (e.getSource() == buttons[6]){
myButtons[count7][6].setText(letter );
count7--;
}
if (myButtons[0][0].getText().equa ls("O") || myButtons[0][0].getText().equa ls("X")){
buttons[0].setEnabled(fal se);
}
if (myButtons[0][1].getText().equa ls("O") || myButtons[0][1].getText().equa ls("X")){
buttons[1].setEnabled(fal se);
}
if (myButtons[0][2].getText().equa ls("O") || myButtons[0][2].getText().equa ls("X")){
buttons[2].setEnabled(fal se);
}
if (myButtons[0][3].getText().equa ls("O") || myButtons[0][3].getText().equa ls("X")){
buttons[3].setEnabled(fal se);
}
if (myButtons[0][4].getText().equa ls("O") || myButtons[0][4].getText().equa ls("X")){
buttons[4].setEnabled(fal se);
}
if (myButtons[0][5].getText().equa ls("O") || myButtons[0][5].getText().equa ls("X")){
buttons[5].setEnabled(fal se);
}
if (myButtons[0][6].getText().equa ls("O") || myButtons[0][6].getText().equa ls("X")){
buttons[6].setEnabled(fal se);
}
}
public static void main(String[] args){
new Connect();
}
}[/CODE]
the problem I ahve is that, how can I make it so that it checks if i've won or not? obviously when 4 buttons are connected i wud display a window saying you won.
i try to do something like this.
[CODE=Java]if (e.getSource() == buttons[0]){
myButtons[count][0].setText(letter );
if (myButtons[count][1].setText(letter ).equals(letter ) &&
myButtons[count][2].setText(letter ).equals(letter ) && ... [/CODE]
...and so forth, but i put it in, and i tried but it dun't work, im still at the begining stages, plz help!
THANK YOU IN ADVANCE !! XD
count --;
Comment