Разработка игры "Спички Бергсона"

Создание логической игры "Спички Бергсона" с использованием компилятора MinGW. Применение псевдографического интерфейса. Написание исходного текста программы на языке С, который выполняет расчетные функции. Применение текстового редактора "NotePad++".

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

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

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

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

Федеральное агентство железнодорожного транспорта

Омский государственный университет путей сообщения

Кафедра «Автоматика и системы управления»

Пояснительная записка

Программа «СПИЧКИ БЕРГСОНА»

Студентка

Аксёнова А.А.

Омск 2016

Реферат

УДК 681.3.06

Пояснительная записка к курсовой работе содержит 14 страниц, 7 рисунков, 3 использованных источника, 1 приложение.

C, MinGW, NotePad++.

Объектом курсовой работы является игра «Спички Бергсона».

Цель курсовой работы - научиться реализовывать пошаговую игру.

Результатом курсовой работы является рабочая игра «Спички Бергсона».

Игра «Спички Бергсона» разработана с использованием компилятора MinGW. Исходный текст программы написан на языке С. В процессе разработки игры была изучена лексика языка С. Пояснительная записка выполнена в текстовом редакторе MicrosoftWord 2010.

Задание

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

Правила игры «Спички Бергсона».

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

  • Содержание

Введение

1. Основная часть

1.1 Функции программы

1.2 Запуск и ход игры

Заключение

Библиографический список

Приложение

Введение

Язык программирования С - стандартизированный процедурный язык программирования, разработанный в 1969-1973 годах сотрудниками BellLabs Кеном Томпсоном и Деннисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был перенесен на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения.

Целью работы является создание исходного кода игры «Спички Бергсона» на языке C, который бы выполнял свои расчетные функции. Также игра должна отображать своевременно необходимую пользователю информацию.

1. Основная часть

1.1 Функции программы

В коде программы присутствуют две функции: функция логики компьютера pc и основная функция main.

Рассмотрим каждую функцию в отдельности.

Функция логики компьютера.

int pc(int i, int a),

где i - общее количество спичек,

a - то количество спичек, которое взял игрок.

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

Главная функция main.

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

Также в этой функции полностью реализована игра с компьютером и комбинация игрок-игрок.

Вводимые числа подвергаются проверке, так называемая «защита от дурака». То есть данная программа исключает ввод любых символов, отрицательных, вещественных чисел, а также чисел, не удовлетворяющих правилам игры.

1.2 Запуск и ход игры

При запуске игры, пользователь видит сообщение о выборе режима игры или о выводе правил игры. Иллюстрацию начала игры можно наблюдать на рисунке 1.

Рисунок 1 - Начало игры

При выборе 1 будет предоставлена игра с компьютером.

При выборе 2 будет предоставлена игра для двоих игроков.

При выборе 3 будут показаны правила игры.

Рассмотрим игру с компьютером.

Рисунок 2 - Игра с компьютером

Общее изначальное количество спичек - 51. Первым ходит игрок. Исходя из правил, можно взять 1 или 2 спички.

Рисунок 3 - Первый ход игрока и последующий ход компьютера

В результате начинается игра. Выигрывает тот, кто взял последнюю спичку.

Рисунок 4 - Завершение игры. Победа компьютера.

Рассмотрим комбинацию игрок-игрок.

Рисунок 5 - Игра с двумя игроками

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

Рисунок 6 - Завершение игры

Рассмотрим поведение программы при вводе некорректных значений.

Рисунок 7 - Проверка вводимых значений

Заключение

В ходе выполнения задания на курсовую работу, были углублены знания по многим аспектам языка «Си».

Основная цель работы была выполнена, т.е. была написана пошаговая логическая игра «Спички Бергсона» с псевдографическим интерфейсом.

В результате выполнения курсовой работы разработана программа на языке «Си», в текстовом редакторе «NotePad++», реализующая процесс, описанный в постановке задачи. В ходе написания игры я более подробно изучила этот язык.

В программе реализована возможность игры с компьютером.

В приложении А содержится код программы, содержащий все пояснительные комментарии.

Библиографический список

1 Введение в программирование: Методические указания к лабораторным работам / Е. А. Альтман, А. В. Александров, Н. Г. Ананьева, Н. Е. Актаев; Омский гос. ун-т путей сообщения. Омск, 2011. 31 с.

2 Керниган, Б. Язык программирования СИ: издание 3-е, исправленное / Б. Керниган, Д. Ритчи. СПб.: “Невский Диалект”, 2001. 352 с.

3 СТП ОмГУПС-1.2-2005 . Работы студенческие учебные и выпускные квалификационные.

Приложение

Листинг программы

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

#include <locale.h>

int pc(int i, int a) { //i - общее колво спичек а-сколько спичек взял игрок

int b = 0;

//ход компьютера

if (i <= 2 * a) {

b=i;

} else {

if (((i - 1) / 3 <= 2 * a) && i > 3) {

b = (i - 1) / 3; //b - сколько спичек взял компьютер

i = i - b;

} else {

b = 2*a;

i = i - b;

}

}

return b;

}

main(){

setlocale(LC_ALL,"rus");

int i = 51;

int b = 1, p, a, f, d, z=0;

while(z<10){

printf(" 1 - pc\n");

printf(" 2 - человек\n");

printf(" 3 - правила игры\n");

while(scanf("%i", &p) != 1)

{

fflush(stdin);

printf(" Вы должны ввести цифру!\n");

}

if(p==0)

break;

if(p==3){

printf(" ПРАВИЛА\n");

printf(" На столе лежит кучка спичек.\n");

printf( " При своем ходе игрок может взять спичек не меньше одной\n");

printf(" и не более чем вдвое больше, чем взял предыдущий игрок.\n");

Листинг А.1, лист 1

printf (" Побеждает тот, кто берет последнюю спичку.\n");

printf (" Для заверщения игры нажмите 0.\n");

continue; }

if (p == 1) { // pc

while (i > 0) {

printf(" Player ваш ход:\n ");

printf(" На столе лежит %i спичек\n", i);

printf(" Возьмите спички\n");

//защита от ввода символов

while(scanf("%i", &a) != 1) { fflush(stdin);

printf(" Вы должны ввести цифру!\n");

}

if(a==0)//конец игры

break;

if(a>0 && a<=2*b && a<=i){ //проверка нужного числа

i = i- a;

if(i==0){

printf(" Player win");

break;

}

}

else {

printf(" Вы не можете взять столько");

continue;

};

printf(" PC ходит ");

b = pc(i, a);

printf(" PC взял ");

printf("%i",b);

printf(" спичек \n");

i=i-b;

if(i==0){

printf(" PC WIN ");

break;

}

}

z=10;

}

if (p == 2) { //игрок-игрок

while (i > 0) {

for(f=1; i > 0; f++){ //какой игрок ходит

d=f%2;

if(d==0)

d=2;

Листинг А.1, лист 2

printf(" Player %i ваш ход:\n ", d);

printf(" На столе лежит %i спичек\n", i);

printf(" Возьмите спички\n");

while(scanf("%i", &a) != 1)

{ fflush(stdin);

printf(" Вы должны ввести цифру!\n");

}

if(a==0)

break;

if(a>0 && a<=2*b && a<=i){ //проверка нужного числа

i = i- a;

b=a; //b - предыдущий ход

if(i==0){

printf(" Player %i win", d);

break;

}

}

else {

printf(" Вы не можете взять столько");

f=f-1; //если ввели некорректное значение, ходит тот же игрок

continue;

}

}

}

z=10;

}else

printf("Введите коректное значение");

}

}

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

...

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

  • Особенности создания ряда игровых приложений, логической игры. Программное обеспечение простейшего калькулятора, генератора функций. Разработка элементов интерфейса простейшего графического редактора, электронной записной книжки, текстового редактора.

    методичка [788,7 K], добавлен 24.10.2012

  • Необходимые компоненты и порядок составления текстового редактора. Текст программы решения задачи на языке программирования C++. Контрольный пример работы текстового редактора. Создание и произведение операции форматирования простого документа.

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

  • Разработка текстового редактора с подсветкой синтаксиса языков программирования. Загрузка из XML-файла настроек для подсветки синтаксиса и конструкций языка. Формат файлов конфигурации и проверки. Разбор текста и применение к нему стилей, тестовый пример.

    курсовая работа [141,6 K], добавлен 13.03.2013

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

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

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

  • Разработка программы "Сапер", удовлетворяющей необходимым требованиям эффективности в интегрированной среде программирования Microsoft Visual C++. Специфика создания Windows-приложений. Применение логической игры для развития интереса к обучению у детей.

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

  • Программный комплекс для разработки программы транслирующей программу с языка Pascal на язык С++. Построение логической и арифметической модели решения. Разработка компилятора для программы. Методы отладки программы и создание для нее документации.

    курсовая работа [742,6 K], добавлен 03.07.2011

  • Дизайн интерфейса приложения как связь человека и персонального компьютера. Adobe Photoshop и его возможности, анализ функциональности и содержание главных операций. Используемые инструменты для разработки дизайна интерфейса текстового редактора.

    контрольная работа [407,5 K], добавлен 12.10.2015

  • Типы, основные функции, элементы и принцип работы текстового редактора (компьютерной программы). Методы вставки внешних объектов в текст. Особенности текстового процессора Microsoft Word, его специальные возможности. Типовая структура интерфейса.

    реферат [15,8 K], добавлен 07.12.2010

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

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

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

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

  • Алгоритмическое представление и описание правил игры "Эволюция". Построение диаграммы прецедентов. Разработка графического интерфейса пользователя. Реализация интерфейса в среде Unity. Структура файла сохранения игры. Проектирование поведения компьютера.

    дипломная работа [3,3 M], добавлен 18.02.2017

  • Функции компилятора как системной обрабатывающей программы. Этапы компиляции: анализ и синтез. Разработка лексического анализатора. Алгоритм и программа лексического анализа. Реализация двухфазного компилятора. Описание логической структуры программы.

    курсовая работа [310,4 K], добавлен 26.03.2010

  • Изучение текстового режима языка программирования Turbo Pascal. Написание игры "Змейка" с помощью средств, процедур и функций языка программирование Turbo Pascal. Структурное и функциональное описание разработки. Листинг и общие примеры работы программы.

    контрольная работа [286,3 K], добавлен 10.04.2011

  • Составление программы для зашифровки текста (не более 255 символов), с использованием одного перемешанного алфавита, полученного случайной перестановкой всех букв исходного алфавита. Создание меню-интерфейса для навигации пользователя по программе.

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

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

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

  • Разработка приложения на WinAPI с реализацией логической структуры в игре "Сапер". Реализация графической части приложения. Проверка на корректность поведения интерфейса программы, работы логической части игры, корректности записи и чтения файла.

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

  • Написание игры "Lines" на языке Object Pascal в среде Delphi. Алгоритм работы программы. Описание метода генерации поля. Используемые константы и переменные. Форма приложения после старта игрового процесса. Основные элементы формы и обработки событий.

    курсовая работа [225,0 K], добавлен 12.04.2012

  • Описание алгоритма хода ЭВМ в режиме "пользователь-компьютер" в игре "Морской бой". Описание совокупности классов, их полей и методов. Разработка интерфейса и руководства пользователя по проведению игры. Листинг программы, написанной на языке Java.

    курсовая работа [645,0 K], добавлен 26.03.2014

  • Составление Win32 App проекта - простейшего текстового редактора, который позволяет выполнять такие операции: редактирование текста, копирование и вставку из одного окна проекта в другое окно проекта. Методы вызова диалогов сохранения и открытия файла.

    курсовая работа [716,3 K], добавлен 09.11.2010

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