Public feed
#381303
/*
* Mancala
*
*/
package Mancala;
/**
* Swing user interface for the Mancala game
* @author VItaliy Kalandyrets
*/
public class MancalaUI extends javax.swing.JFrame {
// CLASS CONSTANTS
// CLASS VARIABLES
/**
* Game associated with this user interface
*/
// INSTANCE VARIABLES
// int d ;
// int r=0 ;
// int o=0 ;
// int index;
// int j = 0;
int w,f,d,j,r,o,index;
// int f;
String pitnum;
private MancalaUI[] pitButton = new MancalaUI[12] ;
private Game game;
/**
* Board associated with this user interface
*/
private Board board;
/**
* Array of pit buttons in this user interface
*/
private javax.swing.JButton pits[] = new javax.swing.JButton[Game.PITS];
/**
* Array of kalaha labels in this user interface
*/
private javax.swing.JLabel kalahas[] = new javax.swing.JLabel[Game.PLAYERS];
// CLASS METHODS
/** Creates new form MancalaUI */
public MancalaUI() {
initComponents();
pits[0] = pitButton0;
pits[1] = pitButton1;
pits[2] = pitButton2;
pits[3] = pitButton3;
pits[4] = pitButton4;
pits[5] = pitButton5;
pits[6] = pitButton6;
pits[7] = pitButton7;
pits[8] = pitButton8;
pits[9] = pitButton9;
pits[10] = pitButton10;
pits[11] = pitButton11;
kalahas[0] = kalahaLabel0;
kalahas[1] = kalahaLabel1;
}
/**
* Used to test the UI independently of the game
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new MancalaUI().setVisible(true);
}
});
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
pitButton0 = new javax.swing.JButton();
pitButton1 = new javax.swing.JButton();
pitButton2 = new javax.swing.JButton();
pitButton3 = new javax.swing.JButton();
pitButton4 = new javax.swing.JButton();
pitButton5 = new javax.swing.JButton();
pitButton6 = new javax.swing.JButton();
pitButton7 = new javax.swing.JButton();
pitButton8 = new javax.swing.JButton();
pitButton9 = new javax.swing.JButton();
pitButton10 = new javax.swing.JButton();
pitButton11 = new javax.swing.JButton();
playerLabel0 = new javax.swing.JLabel();
playerLabel1 = new javax.swing.JLabel();
kalahaPanel1 = new javax.swing.JPanel();
kalahaLabel1 = new javax.swing.JLabel();
kalahaPanel0 = new javax.swing.JPanel();
kalahaLabel0 = new javax.swing.JLabel();
messageLabel = new javax.swing.JLabel();
newGameButton = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("Mancala");
setBackground(new java.awt.Color(255, 255, 255));
pitButton0.setBackground(new java.awt.Color(222, 233, 255));
pitButton0.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton0.setForeground(new java.awt.Color(0, 0, 255));
pitButton0.setText("40");
pitButton0.setActionCommand("0");
pitButton0.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton0.setDefaultCapable(false);
pitButton0.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton0.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton1.setBackground(new java.awt.Color(222, 233, 255));
pitButton1.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton1.setForeground(new java.awt.Color(0, 0, 255));
pitButton1.setText("40");
pitButton1.setActionCommand("1");
pitButton1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton1.setDefaultCapable(false);
pitButton1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton2.setBackground(new java.awt.Color(222, 233, 255));
pitButton2.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton2.setForeground(new java.awt.Color(0, 0, 255));
pitButton2.setText("40");
pitButton2.setActionCommand("2");
pitButton2.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton2.setDefaultCapable(false);
pitButton2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton3.setBackground(new java.awt.Color(222, 233, 255));
pitButton3.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton3.setForeground(new java.awt.Color(0, 0, 255));
pitButton3.setText("40");
pitButton3.setActionCommand("3");
pitButton3.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton3.setDefaultCapable(false);
pitButton3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton4.setBackground(new java.awt.Color(222, 233, 255));
pitButton4.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton4.setForeground(new java.awt.Color(0, 0, 255));
pitButton4.setText("40");
pitButton4.setActionCommand("4");
pitButton4.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton4.setDefaultCapable(false);
pitButton4.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton5.setBackground(new java.awt.Color(222, 233, 255));
pitButton5.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton5.setForeground(new java.awt.Color(0, 0, 255));
pitButton5.setText("40");
pitButton5.setActionCommand("5");
pitButton5.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton5.setDefaultCapable(false);
pitButton5.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton6.setBackground(new java.awt.Color(250, 225, 238));
pitButton6.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton6.setForeground(new java.awt.Color(148, 0, 77));
pitButton6.setText("40");
pitButton6.setActionCommand("6");
pitButton6.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton6.setDefaultCapable(false);
pitButton6.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton7.setBackground(new java.awt.Color(250, 225, 238));
pitButton7.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton7.setForeground(new java.awt.Color(148, 0, 77));
pitButton7.setText("40");
pitButton7.setActionCommand("7");
pitButton7.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton7.setDefaultCapable(false);
pitButton7.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton8.setBackground(new java.awt.Color(250, 225, 238));
pitButton8.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton8.setForeground(new java.awt.Color(148, 0, 77));
pitButton8.setText("40");
pitButton8.setActionCommand("8");
pitButton8.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton8.setDefaultCapable(false);
pitButton8.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton9.setBackground(new java.awt.Color(250, 225, 238));
pitButton9.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton9.setForeground(new java.awt.Color(148, 0, 77));
pitButton9.setText("40");
pitButton9.setActionCommand("9");
pitButton9.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton9.setDefaultCapable(false);
pitButton9.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton10.setBackground(new java.awt.Color(250, 225, 238));
pitButton10.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton10.setForeground(new java.awt.Color(148, 0, 77));
pitButton10.setText("40");
pitButton10.setActionCommand("10");
pitButton10.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton10.setDefaultCapable(false);
pitButton10.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
pitButton11.setBackground(new java.awt.Color(250, 225, 238));
pitButton11.setFont(new java.awt.Font("Verdana", 1, 36));
pitButton11.setForeground(new java.awt.Color(148, 0, 77));
pitButton11.setText("40");
pitButton11.setActionCommand("11");
pitButton11.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
pitButton11.setDefaultCapable(false);
pitButton11.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
pitButton11.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
pitSelected(evt);
}
});
playerLabel0.setFont(new java.awt.Font("Verdana", 1, 18));
playerLabel0.setForeground(new java.awt.Color(0, 0, 255));
playerLabel0.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
playerLabel0.setText("Player 1");
playerLabel1.setFont(new java.awt.Font("Verdana", 1, 18));
playerLabel1.setForeground(new java.awt.Color(148, 0, 77));
playerLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
playerLabel1.setText("Player 2");
kalahaPanel1.setBackground(new java.awt.Color(250, 225, 238));
kalahaPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(new java.awt.Color(148, 0, 77), new java.awt.Color(0, 0, 0)));
kalahaLabel1.setBackground(new java.awt.Color(250, 225, 238));
kalahaLabel1.setFont(new java.awt.Font("Verdana", 1, 36));
kalahaLabel1.setForeground(new java.awt.Color(148, 0, 77));
kalahaLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
kalahaLabel1.setLabelFor(kalahaPanel1);
kalahaLabel1.setText("40");
javax.swing.GroupLayout kalahaPanel1Layout = new javax.swing.GroupLayout(kalahaPanel1);
kalahaPanel1.setLayout(kalahaPanel1Layout);
kalahaPanel1Layout.setHorizontalGroup(
kalahaPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(kalahaLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
);
kalahaPanel1Layout.setVerticalGroup(
kalahaPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalahaPanel1Layout.createSequentialGroup()
.addGap(34, 34, 34)
.addComponent(kalahaLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(41, Short.MAX_VALUE))
);
kalahaPanel0.setBackground(new java.awt.Color(222, 233, 255));
kalahaPanel0.setBorder(javax.swing.BorderFactory.createEtchedBorder(new java.awt.Color(0, 0, 255), new java.awt.Color(0, 0, 0)));
kalahaLabel0.setBackground(new java.awt.Color(222, 233, 255));
kalahaLabel0.setFont(new java.awt.Font("Verdana", 1, 36));
kalahaLabel0.setForeground(new java.awt.Color(0, 0, 255));
kalahaLabel0.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
kalahaLabel0.setLabelFor(kalahaPanel0);
kalahaLabel0.setText("40");
javax.swing.GroupLayout kalahaPanel0Layout = new javax.swing.GroupLayout(kalahaPanel0);
kalahaPanel0.setLayout(kalahaPanel0Layout);
kalahaPanel0Layout.setHorizontalGroup(
kalahaPanel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(kalahaLabel0, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
);
kalahaPanel0Layout.setVerticalGroup(
kalahaPanel0Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(kalahaPanel0Layout.createSequentialGroup()
.addGap(34, 34, 34)
.addComponent(kalahaLabel0, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(41, Short.MAX_VALUE))
);
messageLabel.setFont(new java.awt.Font("Verdana", 1, 24));
messageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
messageLabel.setText("Player 1: Your turn");
newGameButton.setFont(new java.awt.Font("Verdana", 1, 18));
newGameButton.setText("New Game");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(messageLabel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 656, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addComponent(kalahaPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(playerLabel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(playerLabel0, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(pitButton11, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton0, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(16, 16, 16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(pitButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(16, 16, 16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(pitButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton9, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(16, 16, 16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(pitButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(21, 21, 21)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(pitButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(16, 16, 16)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(pitButton6, javax.swing.GroupLayout.DEFAULT_SIZE, 67, Short.MAX_VALUE)
.addComponent(pitButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGap(16, 16, 16)
.addComponent(kalahaPanel0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
.addGroup(layout.createSequentialGroup()
.addGap(259, 259, 259)
.addComponent(newGameButton)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(23, 23, 23)
.addComponent(playerLabel1)
.addGap(30, 30, 30)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(pitButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton9, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton11, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(15, 15, 15)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(pitButton0, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(pitButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 68, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(34, 34, 34)
.addComponent(playerLabel0))
.addGroup(layout.createSequentialGroup()
.addGap(76, 76, 76)
.addComponent(kalahaPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGap(76, 76, 76)
.addComponent(kalahaPanel0, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(34, 34, 34)
.addComponent(messageLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(16, 16, 16)
.addComponent(newGameButton, javax.swing.GroupLayout.PREFERRED_SIZE, 46, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(34, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
// EVENT HANDLERS
/**
* Event handler for all the pitButtons. Determines which button was pressed and act accordingly.
* @param evt Event generated when one of the pit buttons is pressed.
*/
private void pitSelected(java.awt.event.ActionEvent evt) {
String pitnumber = evt.getActionCommand();
index = Integer.parseInt(pitnumber);
pitnum=pitnumber;
ConvSeeds(index);
CaptureOpp();
if(pitnumber=="6"||pitnumber=="7"||pitnumber=="8"||pitnumber=="9"||pitnumber=="10"||pitnumber=="11") {
showMessage("Player 1: Your turn");
j = j + w;
Bdisable1(); }
else {
o = o + w;
Bdisable2();
showMessage("Player 2: Your turn"); }
CheckW();
CheckEnd();
}
public int ConvSeeds(int index) {
String u = pits[index].getText();
w = Integer.parseInt(u);
return w; }
public int ConvKalahas(int num) {
String numb = kalahas[num].getText();
f = Integer.parseInt(numb);
return f;
}
public void CheckW() {
if(ConvKalahas(0)>ConvKalahas(1))
d = 1;
else
d = 2;
}
public void CheckEnd() {
if(ConvSeeds(0)==0&&ConvSeeds(1)==0&&ConvSeeds(2)==0&&ConvSeeds(3)==0&&ConvSeeds(4)==0&&ConvSeeds(5)==0&&ConvSeeds(6)==0&&ConvSeeds(7)==0&&ConvSeeds(8)==0&&ConvSeeds(9)==0&&ConvSeeds(10)==0&&ConvSeeds(11)==0)
{ showMessage("The End, Player "+ d +" won");
for(int j=0;j<12;j++)
pitButton[j].setEnabled(false);}
}
public void Bdisable1() {
// for(int t=6;t<12;t++) {
// pitButton[t].setEnabled(false); }
pitButton6.setEnabled(false);
pitButton7.setEnabled(false);
pitButton8.setEnabled(false);
pitButton9.setEnabled(false);
pitButton10.setEnabled(false);
pitButton11.setEnabled(false);
// for(int i=0;i<6;i++) {
// pitButton[i].setEnabled(true); }
pitButton0.setEnabled(true);
pitButton1.setEnabled(true);
pitButton2.setEnabled(true);
pitButton3.setEnabled(true);
pitButton4.setEnabled(true);
pitButton5.setEnabled(true);
pits[index].setText(String.valueOf(0));
kalahas[1].setText(String.valueOf(j)); }
public void Bdisable2() {
pitButton6.setEnabled(true);
pitButton7.setEnabled(true);
pitButton8.setEnabled(true);
pitButton9.setEnabled(true);
pitButton10.setEnabled(true);
pitButton11.setEnabled(true);
pitButton0.setEnabled(false);
pitButton1.setEnabled(false);
pitButton2.setEnabled(false);
pitButton3.setEnabled(false);
pitButton4.setEnabled(false);
pitButton5.setEnabled(false);
pits[index].setText(String.valueOf(0));
kalahas[0].setText(String.valueOf(o)); }
public void BdisableStart() {
pitButton6.setEnabled(false);
pitButton7.setEnabled(false);
pitButton8.setEnabled(false);
pitButton9.setEnabled(false);
pitButton10.setEnabled(false);
pitButton11.setEnabled(false);
pitButton0.setEnabled(true);
pitButton1.setEnabled(true);
pitButton2.setEnabled(true);
pitButton3.setEnabled(true);
pitButton4.setEnabled(true);
pitButton5.setEnabled(true); }
public void CaptureOpp() {
if(w==0) {
if(pitnum=="0") {
kalahas[0].setText(String.valueOf(ConvSeeds(11)));
pits[11].setText(String.valueOf(0)); }
if(pitnum=="1") {
kalahas[0].setText(String.valueOf(ConvSeeds(10)));
pits[10].setText(String.valueOf(0)); }
if(pitnum=="2") {
kalahas[0].setText(String.valueOf(ConvSeeds(9)));
pits[9].setText(String.valueOf(0)); }
if(pitnum=="3") {
kalahas[0].setText(String.valueOf(ConvSeeds(8)));
pits[8].setText(String.valueOf(0)); }
if(pitnum=="4") {
kalahas[0].setText(String.valueOf(ConvSeeds(7)));
pits[7].setText(String.valueOf(0)); }
if(pitnum=="5") {
kalahas[0].setText(String.valueOf(ConvSeeds(6)));
pits[6].setText(String.valueOf(0)); }
if(pitnum=="6") {
kalahas[1].setText(String.valueOf(ConvSeeds(5)));
pits[5].setText(String.valueOf(0)); }
if(pitnum=="7") {
kalahas[1].setText(String.valueOf(ConvSeeds(4)));
pits[4].setText(String.valueOf(0)); }
if(pitnum=="8") {
kalahas[1].setText(String.valueOf(ConvSeeds(3)));
pits[3].setText(String.valueOf(0)); }
if(pitnum=="9") {
kalahas[1].setText(String.valueOf(ConvSeeds(2)));
pits[2].setText(String.valueOf(0)); }
if(pitnum=="10") {
kalahas[1].setText(String.valueOf(ConvSeeds(1)));
pits[1].setText(String.valueOf(0)); }
if(pitnum=="11") {
kalahas[1].setText(String.valueOf(ConvSeeds(0)));
pits[0].setText(String.valueOf(0)); }
}
}
// Variables declaration - do not modify
private javax.swing.JLabel kalahaLabel0;
private javax.swing.JLabel kalahaLabel1;
private javax.swing.JPanel kalahaPanel0;
private javax.swing.JPanel kalahaPanel1;
private javax.swing.JLabel messageLabel;
private javax.swing.JButton newGameButton;
private javax.swing.JButton pitButton0;
private javax.swing.JButton pitButton1;
private javax.swing.JButton pitButton10;
private javax.swing.JButton pitButton11;
private javax.swing.JButton pitButton2;
private javax.swing.JButton pitButton3;
private javax.swing.JButton pitButton4;
private javax.swing.JButton pitButton5;
private javax.swing.JButton pitButton6;
private javax.swing.JButton pitButton7;
private javax.swing.JButton pitButton8;
private javax.swing.JButton pitButton9;
private javax.swing.JLabel playerLabel0;
private javax.swing.JLabel playerLabel1;
// End of variables declaration
// INSTANCE METHODS
/**
* Displays a message in the message line
* @param newmsg Message to be displayed
*/
public void showMessage(String newmsg) {
messageLabel.setText(newmsg);
}
/**
* Show the number of seeds in one of the pits
* @param index Index of the pit
* @param seeds Number of seeds in that pit
*/
public void showPitSeeds(int index, int seeds) {
pits[index].setText(String.valueOf(seeds));
}
/**
* Show the number of seeds in one of the kalahas
* @param index Index (0-1) of that kalaha
* @param seeds Number of seeds in that kalaha
*/
public void showKalahaSeeds(int index, int seeds) {
kalahas[index].setText(String.valueOf(seeds));
}
/**
* Set the game property: Mancala game associated with this user interface
* @param game New value for game
*/
public void setGame(Game game) {
this.game = game;
}
/**
* Set the board property: board associated with this user interface
* @param board New value for board
*/
public void setBoard(Board board) {
this.board = board;
}
}