/* * 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. */ // 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(); }// // 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; } }