package work; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; public class Game implements ActionListener { JPanel windowContent; //Опис елементів інтерфейсу JLabel label2; JLabel label3; JLabel label4; JLabel label5; JTextField text1; JTextField text2; JButton button1; JButton button2; JButton button3; JFrame frame; int n = 0; //Ініціалізація змінних int p = 0; int one = 0; Game() //Створення графічного інтерфейсу { windowContent = new JPanel(); GridLayout gl = new GridLayout(3, 3, 10, 10); windowContent.setLayout(gl); label2 = new JLabel("Кількість предметів"); label3 = new JLabel("По скільки брати"); label4 = new JLabel(""); label5 = new JLabel(""); text1 = new JTextField(); text2 = new JTextField(); button1 = new JButton("Зробити хід"); button1.addActionListener(this); button2 = new JButton("Почати гру"); button2.addActionListener(this); button3 = new JButton("Зробити хід"); button3.addActionListener(this); windowContent.add(label2); windowContent.add(label4); windowContent.add(label3); windowContent.add(text1); windowContent.add(label5); windowContent.add(text2); windowContent.add(button1); windowContent.add(button2); windowContent.add(button3); frame = new JFrame("Гра Баше"); frame.setContentPane(windowContent); frame.setSize(500, 150);; frame.setVisible(true); button1.setVisible(false); button3.setVisible(false); } public static void main(String[] args) { JOptionPane.showConfirmDialog(null, "У початковий момент у купці є N предметів. \n Два гравці по черзі забирають з цієї купки\n предмети (від 1 до P включно).\n Переможцем вважають того, хто примусить\n суперника зробити останній хід", "Гра Баше", JOptionPane.PLAIN_MESSAGE); Game myGame = new Game(); //Створення представника класу Game } @Override public void actionPerformed(ActionEvent e) { JButton src = (JButton) e.getSource(); //Визначення того, яку кнопку було натиснуто if (src == button1) //Код для кнопки button1 { one = Integer.valueOf(text1.getText()); text1.setText(""); if (one>p) { JOptionPane.showConfirmDialog(null,"брати не більше " + p, "Помилка",JOptionPane.PLAIN_MESSAGE); } else { n = n-one; label5.setText(String.valueOf(n)); if (n==1) { JOptionPane.showConfirmDialog(null,"Гра закінчилась, вітаємо першого гравця", "", JOptionPane.PLAIN_MESSAGE); label3.setEnabled(true); text2.setEnabled(true); button1.setEnabled(true); label2.setText("Кількість предметів"); label3.setText("По скільки брати"); label4.setText(""); label5.setText(""); button1.setVisible(false); button3.setVisible(false); button2.setVisible(true); } else if (n>1) { text1.setEnabled(false); label2.setEnabled(false); button1.setEnabled(false); label3.setEnabled(true); text2.setEnabled(true); button3.setEnabled(true); } else { JOptionPane.showConfirmDialog(null, "Гра закінчилась, вітаємо другого гравця", "", JOptionPane.PLAIN_MESSAGE); label3.setEnabled(true); text2.setEnabled(true); button1.setEnabled(true); label2.setText("Кількість предметів"); label3.setText("По скільки брати"); label4.setText(""); label5.setText(""); button1.setVisible(false); button3.setVisible(false); button2.setVisible(true); } } } else if (src == button2) //Код для кнопки button2 { n = Integer.valueOf(text1.getText()); //Надання змінним вхідних значеннязначення p = Integer.valueOf(text2.getText()); label2.setText("Перший гравець"); //Підготовка інтерфейсу для початку гри label3.setText("Другий гравець"); //і робимо другого гравця неактивним label4.setText("Кількість предметів"); label5.setText(String.valueOf(n)); text1.setText(""); text2.setText(""); text2.setEnabled(false); button1.setVisible(true); button2.setVisible(false); button3.setVisible(true); button3.setEnabled(false); label3.setEnabled(false); } else if (src == button3) //Код для кнопки button3 { one = Integer.valueOf(text2.getText()); text2.setText(""); if (one>p) { JOptionPane.showConfirmDialog(null,"брати не більше "+p, "Помилка",JOptionPane.PLAIN_MESSAGE); } else { n = n-one; label5.setText(String.valueOf(n)); if (n==1) { JOptionPane.showConfirmDialog(null,"Гра закінчилась, вітаємо другого гравця", "", JOptionPane.PLAIN_MESSAGE); label2.setEnabled(true); text1.setEnabled(true); button3.setEnabled(true); label2.setText("Кількість предметів"); label3.setText("По скільки брати"); label4.setText(""); label5.setText(""); button1.setVisible(false); button3.setVisible(false); button2.setVisible(true); } else if (n>1) { text2.setEnabled(false); label3.setEnabled(false); button3.setEnabled(false); label2.setEnabled(true); text1.setEnabled(true); button1.setEnabled(true); } else { JOptionPane.showConfirmDialog(null, "Гра закінчилась, вітаємо першого гравця", "", JOptionPane.PLAIN_MESSAGE); label2.setEnabled(true); text1.setEnabled(true); button3.setEnabled(true); label2.setText("Кількість предметів"); label3.setText("По скільки брати"); label4.setText(""); label5.setText(""); button1.setVisible(false); button3.setVisible(false); button2.setVisible(true); } } } } }