Розробка гри «бики й корови», контент-платформа

РОЗРОБКА ІГРИ «БИКИ І КОРОВИ»

науковий керівник канд. фіз.-мат. наук

Загальноосвітній заклад гімназія № 13 м Красноярська

В рамках науково-дослідної роботи було розроблено програмне додаток, що реалізує гру «Бики і корови». Метою створення програми є демонстрація вмінь і навичок, отриманих в результаті науково-дослідницької роботи, що полягає у вивченні теорії програмування та технології розробки програмних додатків, а також застосуванні сучасних інформаційних технологій для вирішення практичних завдань обробки даних і математичного моделювання.

Розробці програми передувало вивчення основ мови програмування: основних типів даних, базових конструкції мови програмування (проходження, умов і циклів), структур даних і методів їх обробки і реалізації, вивчення алгоритмів пошуку, обробки та сортування даних, методів і технології програмування. А також придбання навичок роботи в вибраному середовищі програмування (Delphi), розробки і реалізації алгоритмів на мові програмування високого рівня, застосування вивчених метолу і технологій для вирішення прикладних завдань.

В рамках даної роботи була поставлена ​​мета # 8210; написати програму, що реалізовує гру «Бики і корови». Дана гра є логічною грою для двох гравців. У нашому випадку в грі беруть участь користувач і комп'ютерний гравець. Комп'ютерний гравець загадує число, що складається з чотирьох неповторяющихся цифр (воно генерується на початку гри). Гравець повинен вгадати число за меншу кількість спроб.

Гравець вводить число з чотирьох неповторяющихся цифр. Противник повідомляє у відповідь, скільки цифр вгадано в заданому числі. Результат відгадування виражається в умовних одиницях - Биках і корів.

Бик # 8210; цифра входить в число і стоїть на своєму місці.

Корова - цифра входить в число, але знаходиться не на своєму місці.

Приклад 1. Нехай комп'ютер задумав число 5123. Гравець ввів число 1234. Результат: 3 корови і 0 биків (так як цифри 1,2,3 входять в число, але жодна з них не стоїть на своєму місці).

Приклад 2. Нехай комп'ютер задумав число 3219. Гравець ввів число 2310. Результат: 2 корови і 1 бик (так цифри 2,3 входять в число, але жодна з них не стоїть на своєму місці, а 1 - стоїть на своєму місці) .

В процесі гри необхідно вести статистику - скільки спроб зробив відгадує гравець (в нашому випадку це людина). Гра закінчується, коли число відгадане. У цьому випадку виводиться загадане число і кількість спроб, за яке воно було вгадано.

На даний момент відомо кілька ускладнених варіацій цієї гри:

· Загадується число з 5 (або більше) цифр,

· Загадується послідовність з 4 кольорових фішок, причому кольори можуть повторюватися (гра Mastermind - «Геніальний отгадчику»),

· Ускладнений варіант Mastermind, коли використовується послідовність з 5, 6 або більшої кількості кольорових фішок,

· Загадується слово, зазвичай з 5 букв (в називному відмінку однині за правилами гри «Балда»), і завдання противника - вгадати його, використовуючи в якості спроб такі ж коректні слова зі словника російської мови.

У нашій програмі ми реалізуємо описаний вище класичний варіант гри «Бики і корови».

Наведемо алгоритм нашої програми, яка виконує дії комп'ютерного гравця і перевірку результатів відгадування, виконаного людським гравцем. Алгоритм виглядає наступним чином:

1. Генерується випадкове число за допомогою генератора псевдовипадкових чисел. Так як за правилами гри цифри в ньому не повинні повторюватися, то ми генеруємо чотири числа в межах від 0 до 9 (включно), відповідно для тисяч, сотень, десятків і одиниць. Обов'язково виконується перевірка на збіг з попередніми згенерували цифрами. (Крім того, цифра для тисяч не повинна бути дорівнює 0). У змінну n, що зберігає число спроб, задаємо значення рівне нулю.

2. Виводимо для гравця повідомлення на екран про те, що число загадане.

3. Просимо ввести користувача свій варіант.

4. Прочитуємо число користувача. Збільшуємо значення змінної з числом спроб на 1 (n = n + 1).

5. Виконуємо порівняння числа користувача з задуманим числом. Для цього розбиваємо його на цифри для тисяч, сотень, десятків і одиниць.

6. Шукаємо биків. Попарно цифри для тисяч, сотень, десятків і одиниць з числа користувача порівнюємо з відповідними розрядами задуманого числа. Кількість збігів заносимо в змінну b - число биків.

7. Шукаємо корів. Причому це робимо для тих цифр з числа користувача, які не є биками. Беремо цифру і порівнюємо по черзі з усіма цифрами задуманого числа. Кількість збігів заносимо в змінну c - число биків. Повторюємо цю процедуру для всіх цифр, які не є биками.

8. Виводимо на екран значення змінних b (число биків) і c (число биків).

9. Якщо b = 4, то виводимо повідомлення - «Ви відгадали число з n спроб. Це - "і друкуємо загадане число. В іншому випадку, гра триває, і у разі переходу на пункт 3 алгоритму.

Надалі передбачається реалізувати дану гру для ситуації відгадування числа комп'ютерним гравцем (коли число загадує людина, а комп'ютерний гравець намагається його вгадати).