Как кодировать Ti c Ta c Проверка победителя с помощью Java GUI - PullRequest
1 голос
/ 14 марта 2020
package tictactoe1;

     import org.eclipse.swt.widgets.Display;
     import org.eclipse.swt.widgets.Shell;
     import org.eclipse.swt.widgets.Button;
     import org.eclipse.swt.SWT;
     import org.eclipse.swt.events.SelectionAdapter;
     import org.eclipse.swt.events.SelectionEvent;
     public class ui {

protected Shell shell;

/**
 * Launch the application.
 * @param args
 */
public static void main(String[] args) {
    try {
        ui window = new ui();
        window.open();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

/**
 * Open the window.
 */
public void open() {
    Display display = Display.getDefault();
    createContents();
    shell.open();
    shell.layout();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
}

/**
 * Create contents of the window.
 */
int a=0;
int b=0;
int c=0;
int d=0;
int x=0;
int f=0;
int g=0;
int h=0;
int i=0;
int e1=0;
    Boolean turn = true;
        private Button btnNewButton_1;
        protected void createContents() {
    shell = new Shell();
    shell.setSize(450, 300);
    shell.setText("SWT Application");

    Button btnNewButton = new Button(shell, SWT.NONE);
    btnNewButton.setBounds(26, 38, 75, 25);

    btnNewButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
        if(turn == true) {
            if(a==0) {
                btnNewButton.setText("x");
                turn=false; 
                a=a+1;
            }

        } else {
          if(a==0) {
              btnNewButton.setText("o");
            turn=true;
            a=a+1;
          }

        }
        }
    });
    btnNewButton_1 = new Button(shell, SWT.NONE);
    btnNewButton_1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(b==0) {
                    btnNewButton_1.setText("x");
                    turn=false; 
                    b=b+1;
                }

            } else {
              if(b==0) {
                  btnNewButton_1.setText("o");
                turn=true;
                b=b+1;
              }
        }
        }
    });

    btnNewButton_1.setBounds(143, 38, 75, 25);

    Button btnNewButton_2 = new Button(shell, SWT.NONE);
    btnNewButton_2.setBounds(250, 38, 75, 25);
    btnNewButton_2.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(c==0) {
                    btnNewButton_2.setText("x");
                    turn=false; 
                    b=b+1;
                }

            } else {
              if(c==0) {
                  btnNewButton_2.setText("o");
                turn=true;
                c++;
              }
        }
        }
    });
    Button btnNewButton_3 = new Button(shell, SWT.NONE);
    btnNewButton_3.setBounds(26, 81, 75, 25);

    btnNewButton_3.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(d==0) {
                    btnNewButton_3.setText("x");
                    turn=false; 
                    d++;
                }

            } else {
              if(d==0) {
                  btnNewButton_3.setText("o");
                turn=true;
                d++;
              }
        }
            }


    });
    Button btnNewButton_4 = new Button(shell, SWT.NONE);
    btnNewButton_4.setBounds(143, 81, 75, 25);
    btnNewButton_4.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(e1==0) {
                    btnNewButton_4.setText("x");
                    turn=false; 
                    e1++;
                }

            } else {
              if(e1==0) {
                  btnNewButton_4.setText("o");
                turn=true;
                e1++;
              }
            }
        }
    });
    Button btnNewButton_5 = new Button(shell, SWT.NONE);
    btnNewButton_5.setBounds(250, 81, 75, 25);
    btnNewButton_5.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(x==0) {
                    btnNewButton_5.setText("x");
                    turn=false; 
                    x++;
                }

            } else {
              if(x==0) {
                  btnNewButton_5.setText("o");
                turn=true;
                x++;
              }
        }
        }
    });

    Button btnNewButton_6 = new Button(shell, SWT.NONE);
    btnNewButton_6.setBounds(26, 125, 75, 25);
    btnNewButton_6.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(f==0) {
                    btnNewButton_6.setText("x");
                    turn=false; 
                    f++;
                }

            } else {
              if(f==0) {
                  btnNewButton_6.setText("o");
                turn=true;
                f++;
              }
        }
        }
    });
    Button btnNewButton_7 = new Button(shell, SWT.NONE);
    btnNewButton_7.setBounds(143, 125, 75, 25);
    btnNewButton_7.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(h==0) {
                    btnNewButton_7.setText("x");
                    turn=false; 
                    h++;
                }

            } else {
              if(h==0) {
                  btnNewButton_7.setText("o");
                turn=true;
                h++;
              }
        }
        }
    });
    Button btnNewButton_8 = new Button(shell, SWT.NONE);
    btnNewButton_8.setBounds(250, 125, 75, 25);
    btnNewButton_8.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if(turn == true) {
                if(i==0) {
                    btnNewButton_8.setText("x");
                    turn=false; 
                    i++;
                }

            } else {
              if(i==0) {
                  btnNewButton_8.setText("o");
                turn=true;
                i++;
              }
        }
        }
    });
}

public String getBtnNewButton_1Text() {
    return btnNewButton_1.getText();
}
public void setBtnNewButton_1Text(String text) {
    btnNewButton_1.setText(text);
}

}

Я не понимаю, как сделать для этого функцию Check Winner. Я думаю, что вы могли бы жестко кодировать это, однако это кажется неэффективным, так как я неопытен в Gui, я не знаю, как я мог бы создать простую функцию Check win без перегрузки кода. Также я попытался использовать сетку, но я не знаком с этим и не знаю, как это может работать. Я новичок в кодировании, и мой папа сказал мне, чтобы я это кодировал, если кто-то может помочь, я определенно буду признателен за это

...