Проектирование игры "Коровы и быки"

Анализ и постановка задачи. Выбор языка программирования. Изучение программной среды Visual Basic. Разработка алгоритма и программы для реализации игры "Коровы и быки". Создание соответствующего интерфейса, написание текста и тестирование данной игры.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 05.06.2015
Размер файла 217,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Курсовая работа

Проектирование игры "Коровы и быки"

Содержание

Введение

1. Анализ задания

1.1 Постановка задачи

1.2 Выбор языка программирования

1.3 Функционально-структурная схема программы

2. Проектирование игры "Коровы и быки"

2.1 Алгоритм программы

2.2 Интерфейс программы

3. Реализация игры "Коровы и быки"

3.1 Текст программы

4. Тестирование игры "Коровы и быки"

Заключение

Список используемой литературы

Введение

Актуальность избранной темы объясняется существом и значимостью затрагиваемого материала. Стремительное развитие компьютерной техники в последние годы, появление мощных графических ускорителей и процессоров способствовало не менее бурному развитию компьютерных игр. Выдающиеся разработки этой отрасли - это сложнейшие программы, как правило, с очень высокими требованиями к аппаратной части компьютера. Однако для возможности отдохнуть пользователю компьютера не всегда требуется новейшая компьютерная игра. Именно этой цели - отдыху служит разработанная в рамках данного курсового проекта программа.

Объектом курсовой работы является компьютерные игры.

Целью данной курсовой работы является разработка логической игры "коровы и быки". Программа предоставляет возможность играть с компьютером, который играет согласно созданному алгоритму. В процессе разработки должны быть усвоены основные возможности языка программирования Visual Basic. В программе должны быть учтены моменты, позволяющие пользователю легко освоить программу, для этого необходимо создать удобный интерфейс.

Написание данной курсовой работы ставит передо мной ряд задач, которые необходимо рассмотреть и решить:

§ изучение и анализ литературы по программированию компьютерных игр;

§ изучение программной среды программирования Visual Basic для создания игровой программы;

§ разработка алгоритма и программы для реализации игры "Коровы и быки".

1. Анализ задания

1.1 Постановка задачи

В процессе разработки курсового проекта мною должна быть создана программа, имитирующая игру "Быки и коровы". Программа должна позволять играть двум игрокам и игроку против компьютера. Каждый из противников задумывает четырехзначное число, все цифры которого различны (первая цифра числа отлична от нуля).

Необходимо разгадать задуманное число. Выигрывает тот, кто отгадает первый. Противники по очереди называют друг другу числа и сообщают о количестве "быков" и "коров" в названном числе ("бык" - цифра есть в записи задуманного числа и стоит в той же позиции, что и в задуманном числе; "корова" - цифра есть в записи задуманного числа, но не стоит в той же позиции, что и в задуманном числе).

Например, если задумано число 3275 и названо число 1234, получаем в названном числе одного "быка" и одну "корову". Очевидно, что число отгадано в том случае, если имеем 4 "быка".

1.2 Выбор языка программирования

Таким образом, разработка мною курсового проекта предполагает написание на языке Visual Basic программы, которая должна содержать интерфейс для ввода загадываемых и называемых чисел, а также по ходу игры сообщать о состояние игры и определять победителя.

Среда программирования Visual Basic содержит все необходимые инструменты для быстрого и эффективного создания программ, работающих в среде Windows. Это живой и динамично развивающийся язык, он выгодно отличается от других простотой и наглядностью. Visual Basic -это язык, на который делает ставку одна из ведущих фирм в области разработки компьютерных технологий -Microsoft. Инструменты, имеющиеся в среде программирования Visual Basic, помогают при конструировании Basic-программ.

1.3 Функционально-структурная схема программы

Данную работу программы можно свести к функционированию структуры, изображенной на следующем рисунке.

2. Проектирование игры "Коровы и быки"

2.1 Алгоритм программы

Алгоритм моей программы имеет следующий вид:

Рисунок 2.1. Общий алгоритм программы.

Рисунок 2.2. Генерация числа компьютером

Рисунок 2.3 Подсчет количества быков и коров.

2.2 Интерфейс программы

Все выше приведённые алгоритмы были реализованы мной в программе, для написания которой использовалась среда разработки Microsoft Visual Basic6.0. Её интерфейс представлен на рисунке (2.4).

программирование игра интерфейс basic

Рисунок 2.4. Интерфейс программы

В данной форме (игра "Быки и коровы") расположены следующие элементы управления:

- 3 элемента управления типа CommandButton: одна из которых является кнопкой шага, вторая - кнопка выход (кнопка выгрузки формы из памяти), третья кнопка новой игры.

- 4 текстовых поля для ввода загадываемых и отгадываемых чисел

- 4 текстовых поля для оповещения игроков о ходе игры - вывод количества "быков" и "коров"

- текстовое поле, оповещающее о количестве ходов

- а также поле режима игры, дающее право выбора играть с игроком или компьютером.

3. Реализация игры "Коровы и быки"

3.1 Текст программы

Созданная мной, в ходе написания данной курсовой работы, программа к игре "коровы и быки" на языке Visual Basic выглядит следующим образом:

Option Explicit

'определение необходимости объявления переменных

Private Sub cmdExit_Click()

'Кнопка выхода из программы

Unload Me

'выгрузка формы из памяти

End Sub

Private Sub cmdNewGame_Click() 'Кнопка запуска новой игры

txtSecNum1.PasswordChar = "*": txtSecNum2.PasswordChar = "*"

'устанавливаем для текстовых полей маскировочный символ *

txtSecNum1 = "": txtGetNum1 = ""

'очистка текстовых полей игрока 1

txth = ""

'очистка текстового поля подсчета количества ходов

txtB1 = "": txtK1 = "": txtB2 = "": txtK2 = ""

'очистка полей информирующих о количестве быков и коров

If optComputer Then txtSecNum2 = getnum: txtGetNum2 = getnum

'если играет компьютер, заполняем поля случайными числами

If optPlayer Then: txtGetNum2 = "": txtSecNum2 = ""

'если играет человек, очищаем поля

End Sub

Private Sub cmdStep_Click()

'Кнопка шага

Dim i, a As Integer, j As Integer

'переменные счетчики

a = Val(txth.Text)

txth = a + 1

'подсчет количества ходов

txtB1 = "0": txtK1 = "0": txtB2 = "0": txtK2 = "0"

'обнуление полей, информирующих о количестве быков и коров

For i = 1 To 4

'цикл проверки количества быков у игрока 1

If Mid(txtGetNum1, i, 1) = Mid(txtSecNum2, i, 1) Then txtB1 = Val(txtB1) + 1

'если есть совпадение цифры и позиции то увеличиваем количество быков на 1

Next i

For i = 1 To 4

For j = 1 To 4

'цикл проверки количества коров у игрока 1

If Mid(txtGetNum1, i, 1) = Mid(txtSecNum2, j, 1) And i <> j Then txtK1 = Val(txtK1) + 1 'если есть совпадение цифры то увеличиваем количество коров на 1

Next j

Next i

For i = 1 To 4

'цикл проверки количества быков у игрока 2

If Mid(txtGetNum2, i, 1) = Mid(txtSecNum1, i, 1) Then txtB2 = Val(txtB2) + 1

'если есть совпадение цифры и позиции то увеличиваем количество быков на 1

Next i

For i = 1 To 4

For j = 1 To 4

'цикл проверки количества коров у игрока 2

If Mid(txtGetNum2, i, 1) = Mid(txtSecNum1, j, 1) And i <> j Then txtK2 = Val(txtK2) + 1

'если есть совпадение цифры то увеличиваем количество коров на 1

Next j

Next i

If txtB1 = "4" And txtB2 = "4" Then txtSecNum1.PasswordChar = "": txtSecNum2.PasswordChar = "" 'если числа отгаданы убираем маскировочный символ

If txtB1 = "4" And txtB2 = "4" Then MsgBox "Ничья!": cmdNewGame_Click: Exit Sub 'если оба игрока набрали по 4 быка, объявляем ничью

If txtB1 = "4" Then txtSecNum1.PasswordChar = "": txtSecNum2.PasswordChar = ""

'если числа отгаданы убираем маскировочный символ

If txtB1 = "4" Then MsgBox "Игрок 1 победил!": cmdNewGame_Click: Exit Sub 'если игрок 1 набрал 4 быка, объявляем его победу

If txtB2 = "4" Then txtSecNum1.PasswordChar = "": txtSecNum2.PasswordChar = "" 'если числа отгаданы убираем маскировочный символ

If txtB2 = "4" Then MsgBox fPlayer2.Caption + " победил!": cmdNewGame_Click: Exit Sub 'если игрок 2 набрал 4 быка, объявляем его победу

If optComputer Then txtGetNum2 = getnum

'генерация случайного числа для следующего хода компьютера

End Sub

Function getnum() As String

'генерация случайного четырехзначного числа

Dim i As Integer 'переменная-счетчик

Dim s As String

'временная строковая переменная

Randomize (Timer)

'инициализация генератора случайных чисел

m1:

s = Int(Rnd * 10)

'генерация случайного числа

If Len(getnum) = 0 And s = 0 Then GoTo m1

'если первая цифра 0, повторяем генерацию

For i = 1 To Len(getnum)

If s = Mid(getnum, i, 1) Then GoTo m1

'если цифры совпадают, повторяем генерацию

Next i

getnum = getnum + s 'прибавляем сгенерированную числу к создаваемому числу

If Len(getnum) < 4 Then GoTo m1

'если не достигли желаемой длины числа, продолжаем генерацию

End Function

Private Sub Form_Load()

'загрузка формы

optPlayer = False

optComputer = False 'убираем флажки выбора режима игры (игрок, компьютер)

End Sub

Private Sub optComputer_Click()

'выбор режима игры "против компьютера"

fPlayer2.Caption = "Компьютер"

cmdNewGame_Click

'начало новой игры

End Sub

Private Sub optPlayer_Click()

'выбор режима игры "против игрока"

fPlayer2.Caption = "Игрок 2"

cmdNewGame_Click 'начало новой игры

End Sub

4. Тестирование игры "Коровы и быки"

Проведем теперь некоторые тесты на правильность работы данной программы. Загадаем два числа. Будем называть по два числа, узнавая и сравнивая количество быков и коров.

ИГРОК 1

ИГРОК 2

РЕЗУЛЬТАТ

ХОД№

3286

1234

5401

5027

Быков 0 Коров 2

Быков 0 Коров 1

1

3286

1240

5401

3628

Быков 0 Коров 3

Быков 1 Коров 3

2

3286

5402

5401

6283

Быков 3 Коров 0

Быков 2 Коров 2

3

3286

5412

5401

6823

Быков 2 Коров 1

Быков 0 Коров 4

4

3286

5410

5401

3286

Быков 2 Коров 2

Быков 4 Коров 0

5

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

При помощи такой же таблицы можно протестировать данную игру в режиме ИГРОК-КОМПЬЮТЕР.

Но для этого теста таблица может увеличиться, так как мы не знаем какое число загадал компьютер (но это мы обязательно узнаем).

ИГРОК

КОМПЬЮТЕР

РЕЗУЛЬТАТ

ХОД№

1234

1234

****

5096

Быков 1 Коров 1

Быков 0 Коров 0

1

1234

1256

****

9461

Быков 0 Коров 1

Быков 0 Коров 2

2

1234

1378

****

8457

Быков 0 Коров 2

Быков 0 Коров 1

3

1234

1390

****

3520

Быков 0 Коров 2

Быков 0 Коров 2

4

1234

1480

****

7465

Быков 0 Коров 2

Быков 0 Коров 1

5

1234

1928

****

2301

Быков 1 Коров 1

Быков 0 Коров 3

6

1234

7934

****

4670

Быков 3 Коров 0

Быков 0 Коров 1

7

1234

7904

****

3450

Быков 3 Коров 0

Быков 0 Коров 2

8

1234

7914

7914

4203

Быков 4 Коров 0

Быков 1 Коров 2

9

В этот раз мне удалось отгадать число, загаданное компьютером (7914) на девятом ходу. Все проверки правильности работы программы завершились удачно.

Заключение

В результате написания курсовой работы, мной была разработана программа-игра "Быки и коровы". Для этого было проведено несколько этапов. На первом этапе была разработана функционально-структурная схема. На втором этапе строятся структурные схемы для написания текста программы.

Так же было проведено тестирование. Оно показало, что программа функционирует верно.

Список используемой литературы

1 Гурский Д.А., Гурский Ю.А., Flash 8 и ActionScript. Библиотека пользователя (+CD). - СПБ.: Питер, 2006. 528 с.:ил. - (Серия "Библиотека пользователя").

2 Кариев Ч.А. Разработка Windows-приложений на основе Visual C#. - М.: БИНОМ (Лаборатория знаний, Интернет-университет информационных технологий - ИНТУИТ.ру), 2007

3 Нейгел, Кристиан, Ивьен, Билл, Глинн, Джей, Скиннер, Морган, Уотсон, Карли. C# 2005 и платформа .NET 3.0 для профессионалов: Пер. с англ. - М.: ООО "И.Д. Вильямс", 2008. - 1376+416 (на CD) c.: ил. - Парал. тит. англ.

4 Петцольд Ч. Программирование для Microsoft Windows на C#. -- М.: Издательско-торговый дом "Русская Редакция", 2002.

5 Фролов А.В., Фролов Г.В. Графический интерфейс GDI в Microsoft Windows. - М.: "ДИАЛОГ-МИФИ", 1993. -- (Библиотека системного программиста; Т. 14).

6 Дукин А.Н., Пожидаев А.А. "Самоучитель Visual Basic 2010" (+CD). изд. - 2010 г.

Размещено на Allbest.ru


Подобные документы

  • Применение программного обеспечения для разработки игры "Быки и коровы". Описание алгоритма и интерфейса пользователя программы. Назначение и область применения и описание возможностей программы. Рассмотрение списка сообщений об ошибках программы.

    курсовая работа [799,2 K], добавлен 26.04.2021

  • Реализация основных алгоритмических структур. Усеченный условный оператор и оператор exit. Цикл с параметром (счетный цикл). Распечатка таблиц функций. Средства разработки программ на языке Free Pascal. Разработка игрового приложения "Быки и коровы".

    курсовая работа [1,9 M], добавлен 23.12.2015

  • Обоснование необходимости разработки программы для игры "Тетрис". Математическая и графическая части алгоритма. Выбор языка и среды программирования. Отладка текста программы, разработка интерфейса пользователя. Тестирование, руководство пользователя.

    курсовая работа [1,5 M], добавлен 17.01.2011

  • Многообразие мини-игр и возможности языка Visual basic 6.0 для их реализации. Понятие мини-игр и их классификация. Элементы управления мини-игры "Реверси". Разработка прикладной программы. Создание игрового интерфейса. Написание программного кода.

    курсовая работа [1,5 M], добавлен 03.06.2014

  • Разработка программы "Быки и коровы", предназначенной для развития логики и смекалки. Требования к программным, техническим параметрам персональных компьютеров. Требования техники безопасности и охраны труда при эксплуатации программы, методика испытаний.

    курсовая работа [1,8 M], добавлен 06.01.2017

  • Разработка игры-аналога телевизионной передачи "Кто хочет стать миллионером?" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования. Описание и листинг программы, составление алгоритма и блок-схемы.

    курсовая работа [253,2 K], добавлен 28.06.2009

  • Исследование базовых концепций программирования приложений под операционную систему Windows. Изучение истории создания универсального языка программирования Си. Разработка графического пользовательского интерфейса. Обзор правил игры и алгоритма работы.

    курсовая работа [58,2 K], добавлен 09.11.2012

  • Особенности визуальной среды программирования Microsoft Visual Studio 2015 Enterprise. Средства объектно-ориентированного программирования. Этапы проектирования программного комплекса. Отладка и тестирование программы игры "Виселица".

    курсовая работа [2,4 M], добавлен 31.01.2016

  • Исследование теоретических аспектов разработки программы посредством использования Visual Basic. Анализ достоинств и недостатков данного языка программирования. Изучение особенностей создания интерфейса приложения. Основные этапы реализации программы.

    практическая работа [460,6 K], добавлен 22.01.2013

  • История развития языка программирования Java. История тетриса - культовой компьютерной игры, изобретённой в СССР. Правила проведения игры, особенности начисления очков. Создание интерфейса программы, ее реализация в среде Java, кодирование, тестирование.

    курсовая работа [168,1 K], добавлен 27.09.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.