Игра в «крестики-нолики»

Игра в «крестики-нолики»

Игра в html-формате. Роман Свистунов и Артем Канцельсон написали ее с использованием css и javascript в 6 классе. Исходники можно скачать отсюда: https://drive.google.com/file/d/0B4icNOfw8DwUVW9RaFA2bWZGQ3c/view

Видео, как создать подобную игру на Java:

Заготовка к игре “Крестики-нолики”
(Java, система Swing)

==================================

1. Cоздаем новый проект.
2. Перетаскиваем на форму 10 кнопок Button1,…, Button9. Стираем на них подписи, делаем нужный размер.
9 кнопок располагаем по три в ряд, десятую — отдельно — при нажатиии на нее ход будет передаваться компьютеру.
Таким образом мы формируем поле для игры в крестики-нолики.
Для простоты считаем, что первым ходит человек, в качестве “фишек” выбираем “крестики”. Компьютер будет
всегда делать ответный ход и играть “ноликами”, причем будет перебирать все пустые “клетки поля”
(в нашем случае кнопки 1-9) и ставить “нолики” в первое свободное.
3. В обработчик щелчка кнопок 1-9 (двойной клик на кнопку) вставляем код:
jButton1.setText(«X»);

jButton9.setText(«X»);

4. В обработчик щелчка кнопки 10
вставляем код:
if ((jButton1.getText()!=»X»)&­;&(jButton1.getText()!=»O»­)) jButton1.setText(«O»);
else if ((jButton2.getText()!=»X»)&­;&(jButton2.getText()!=»O»­)) jButton2.setText(«O»);
else if ((jButton3.getText()!=»X»)&­;&(jButton3.getText()!=»O»­)) jButton3.setText(«O»);
else if ((jButton4.getText()!=»X»)&­;&(jButton4.getText()!=»O»­)) jButton4.setText(«O»);
else if ((jButton5.getText()!=»X»)&­;&(jButton5.getText()!=»O»­)) jButton5.setText(«O»);
else if ((jButton6.getText()!=»X»)&­;&(jButton6.getText()!=»O»­)) jButton6.setText(«O»);
else if ((jButton7.getText()!=»X»)&­;&(jButton7.getText()!=»O»­)) jButton7.setText(«O»);
else if ((jButton8.getText()!=»X»)&­;&(jButton8.getText()!=»O»­)) jButton8.setText(«O»);
else if ((jButton9.getText()!=»X»)&­;&(jButton9.getText()!=»O»­)) jButton9.setText(«O»);

Переделываем нашу игру таким образом, чтобы в нее можно было бы играть двоим людям, делая ходы по
очереди.

5 Убираем кнопку 10 (передающую ход компьютеру), при этом автомотически уничтожается код описанный в п.4.
6. Вводим глобальную меременную int cnt, с помощью которой будем считать ходы: на четном ходе ставится «X»,
на нечетном — «О». Для этого сразу после названия главного класса
public class NewJFrame extends javax.swing.JFrame {
пишем:
int cnt=0;
7. В обработчик щелчка кнопок 1-9 (двойной клик на кнопку) вставляем код:
if (cnt%2==0)jButton1.setText(«X»­);
else jButton1.setText(«O»);
cnt=cnt+1;

if (cnt%2==0)jButton9.setText(«X»­);
else jButton9.setText(«O»);
cnt=cnt+1;
8. Тестируем приложение с напарником, думаем, как написать игру человек-компьютер, используя некоторую
стратегию. Пробуем реализовать.

 

Лабораторная III (заготовка к игре “Крестики нолики” на C++) (из последней версии учебника по C/C++ )

1. Запускаем Visual C++, создаем новый проект: выбираем Приложение Windows Forms.

2. Перетаскиваем на форму 10 кнопок Button из Панели элементов: button1,… button10. Стираем на них подписи, делаем нужный размер. 9 кнопок располагаем по три в ряд, десятую — отдельно — при нажатиии на нее ход будет передаваться компьютеру. Таким образом мы формируем поле для игры в крестики-нолики.

Для простоты считаем, что первым ходит человек, в качестве “фишек” выбираем “крестики”. Компьютер будет всегда делать ответный ход и играть “ноликами”, причем будет перебирать все пустые “клетки поля” (в нашем случае кнопки 1-9) и ставить “нолики” в первое свободное.

3. В обработчик щелчка кнопок 1-9 (двойной клик на кнопку) вставляем код:

button1->Text=”X”;

button9->Text=”X”;

4. В обработчик щелчка кнопки 10

вставляем код:

if ((button1->Text!=”X”)&&(button1->Text!=”O”)) button1->Text=”O”;

else if ((button2->Text!=”X”)&&(button2->Text!=”O”)) button2->Text=”O”;

else if ((button3->Text!=”X”)&&(button3->Text!=”O”)) button3->Text=”O”;

else if ((button4->Text!=”X”)&&(button4->Text!=”O”)) button4->Text=”O”;

else if ((button5->Text!=”X”)&&(button5->Text!=”O”)) button5->Text=”O”;

else if ((button6->Text!=”X”)&&(button6->Text!=”O”)) button6->Text=”O”;

else if ((button7->Text!=”X”)&&(button7->Text!=”O”)) button7->Text=”O”;

else if ((button8->Text!=”X”)&&(button8->Text!=”O”)) button8->Text=”O”;

else if ((button9->Text!=”X”)&&(button9->Text!=”O”)) button9->Text=”O”;

Переделываем нашу игру таким образом, чтобы в нее можно было бы играть двоим людям, делая ходы по очереди.

5. Убираем кнопку 10 (передающую ход компьютеру), при этом автомотически уничтожается код описанный в п.4.

6. Вводим глобальную меременную int count, с помощью которой будем считать ходы: на четном ходе ставится “X”, на нечетном — “О”.

int count=0;

7. В обработчик щелчка кнопок 1-9 (двойной клик на кнопку) изменяем код:

if (count%2==0) button1->Text=”X”;

else button1->Text=”O”;

count=count+1;

8. Тестируем приложение с напарником, думаем, как написать игру человек-компьютер, используя некоторую стратегию. Пробуем реализовать.

Игра в «крестики-нолики»: 2 комментария

  1. Очень старая, но ещё не забытая забава местной детворы теперь становится доступна в виртуальном пространстве. Знаменитая игра под названием «Крестики нолики» теперь будет у вас всегда под рукой и вы сможете наслаждаться этой ностальгией в любое для вас удобное время. Что самое интересное, теперь не придётся тратить бумагу и карандаш, теперь эта игра не будет от вас требовать никаких затрат.

  2. Попробуйте поиграть в старую, доброю игру крестики-нолики. Вы можете поиграть как со своим другом, так и попытаться обыграть компьютер. Но выиграть компьютер будет тяжело. Он знает множество тактик, и обыграть его будет тяжёлым испытанием.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

методические материалы по информатике