我试图编写一个Tictatcoe游戏,但出了点问题。除了wincheck外,其他一切都正常工作。我不知道为什么它不起作用。
提克塔克级:
package TicTacToe;
import javax.swing.JButton;
public class TicTacToe {
public static int anz = 0;
public static boolean stop = false;
public static boolean isStop() {
return stop;
}
public static int getAnz() {
return anz;
}
public static void setAnz(int anz2) {
anz = anz2;
}
private static tec n = new tec();
public boolean winner;
public void setText(){
//Just to secure that every text is on ""
if(anz == 0){
n.getjButton1().setText("");
n.getjButton2().setText("");
n.getjButton3().setText("");
n.getjButton4().setText("");
n.getjButton5().setText("");
n.getjButton6().setText("");
n.getjButton7().setText("");
n.getjButton8().setText("");
n.getjButton10().setText("");
}
}
public boolean checkWinner()
{
if(!n.getjButton2().getText().equals("") && n.getjButton2().getText().equals(n.getjButton1().getText()) && n.getjButton2().getText().equals(n.getjButton3().getText())) {
winner = true;
winText(n.getjButton2());
stop = true;
}
else if(!n.getjButton6().getText().equals("") && n.getjButton6().getText().equals(n.getjButton5().getText()) && n.getjButton6().getText().equals(n.getjButton4().getText())) {
winner = true;
winText(n.getjButton6());
stop = true;
}
else if(!n.getjButton7().getText().equals("") && n.getjButton7().getText().equals(n.getjButton10().getText()) && n.getjButton7().getText().equals(n.getjButton8().getText())) {
winner = true;
winText(n.getjButton7());
stop = true;
}
else if(!n.getjButton2().getText().equals("") && n.getjButton2().getText().equals(n.getjButton6().getText()) && n.getjButton2().getText().equals(n.getjButton7().getText())) {
winner = true;
winText(n.getjButton2());
stop = true;
}
else if(!n.getjButton1().getText().equals("") && n.getjButton1().getText().equals(n.getjButton5().getText()) && n.getjButton1().getText().equals(n.getjButton10().getText())) {
winner = true;
winText(n.getjButton1());
stop = true;
}
else if(!n.getjButton3().getText().equals("") && n.getjButton3().getText().equals(n.getjButton4().getText()) && n.getjButton3().getText().equals(n.getjButton8().getText())){
winner = true;
winText(n.getjButton3());
stop = true;
}
else if(!n.getjButton2().getText().equals("") && n.getjButton2().getText().equals(n.getjButton5().getText()) && n.getjButton2().getText().equals(n.getjButton8().getText())) {
winner = true;
winText(n.getjButton2());
stop = true;
}
else if(!n.getjButton3().getText().equals("") && n.getjButton3().getText().equals(n.getjButton5().getText()) && n.getjButton3().getText().equals(n.getjButton7().getText())) {
winner = true;
winText(n.getjButton3());
stop = true;
}
else if(anz == 9 && winner == false)
{
stop = true;
tec2 t2 = new tec2();
t2.getLabel().setText("Draw");
t2.setVisible(true);
}
return winner;
}
public char XorO(){
char word = ' ';
if(anz % 2 == 0){
word = 'X';
}
else if(anz % 2 == 1){
word = 'O';
}
return word;
}
public void winText(JButton b1){
tec2 t2 = new tec2();
String msg;
if(checkWinner() == true){
msg = b1.getText() + " Is The Winner";
t2.getLabel().setText(msg);
t2.setVisible(true);
}
}
public boolean checkOverlapping(JButton b)
{
return !b.getText().equals("");
}
以及jframe类:
package TicTacToe;
import javax.swing.JButton;
public class tec extends javax.swing.JFrame {
public tec() {
initComponents();
}
private static TicTacToe t = new TicTacToe();
/**
* 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.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
TicTacToe = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
jButton2 = new javax.swing.JButton();
jButton3 = new javax.swing.JButton();
jButton4 = new javax.swing.JButton();
jButton5 = new javax.swing.JButton();
jButton7 = new javax.swing.JButton();
jButton8 = new javax.swing.JButton();
jButton6 = new javax.swing.JButton();
jButton10 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("ThiccTacToe");
TicTacToe.setFont(new java.awt.Font("Curlz MT", 2, 48)); // NOI18N
TicTacToe.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
TicTacToe.setLabelFor(TicTacToe);
TicTacToe.setText("TicTacToe");
TicTacToe.setToolTipText("");
jButton1.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton2.setToolTipText("");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jButton7.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton7ActionPerformed(evt);
}
});
jButton8.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton8ActionPerformed(evt);
}
});
jButton6.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jButton10.setFont(new java.awt.Font("Franklin Gothic Heavy", 0, 55)); // NOI18N
jButton10.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton10ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(TicTacToe, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(204, 204, 204)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(211, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(TicTacToe, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton6, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jButton7, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton8, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButton10, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(0, 59, Short.MAX_VALUE))
);
pack();
setLocationRelativeTo(null);
}// </editor-fold>
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton2) == false){
jButton2.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton1) == false){
jButton1.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton3) == false){
jButton3.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton6ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton6) == false){
jButton6.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton5) == false){
jButton5.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton4) == false){
jButton4.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton7) == false){
jButton7.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton10ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton10) == false){
jButton10.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {
t.setText();
if(t.isStop() == false){
if(t.checkOverlapping(jButton8) == false){
jButton8.setText(""+t.XorO());
t.setAnz(t.getAnz()+1);
t.checkWinner();
}
}
}
public void run() {
new tec().setVisible(true);
}
// Variables declaration - do not modify
private javax.swing.JLabel TicTacToe;
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton10;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JButton jButton4;
private javax.swing.JButton jButton5;
private javax.swing.JButton jButton6;
private javax.swing.JButton jButton7;
private javax.swing.JButton jButton8;
// End of variables declaration
public JButton getjButton1() {
return jButton1;
}
public JButton getjButton10() {
return jButton10;
}
public JButton getjButton2() {
return jButton2;
}
public JButton getjButton3() {
return jButton3;
}
public JButton getjButton4() {
return jButton4;
}
public JButton getjButton5() {
return jButton5;
}
public JButton getjButton6() {
return jButton6;
}
public JButton getjButton7() {
return jButton7;
}
public JButton getjButton8() {
return jButton8;
}
}
我希望有人能帮助我
暂无答案!
目前还没有任何答案,快来回答吧!