Программа "Спички Бергсона"

Особенности дизайна и конструкций компьютерного языка "Си". Использование компилятора MinGW для реализации логической игры "Спички Бергсона". Характеристика главного меню программы. Изучение пользовательского интерфейса. Разработка интеллекта компьютера.

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

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

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

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

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

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

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

Пояснительная записка к курсовой работе

Программа «Спички Бергсона»

по дисциплине «Программирование»

Выполнил:

Студент Ещенко Е.А.

Проверил: Окишев А.С.

Доцент кафедры АиСУ

Омск 2016

Реферат

УДК 004.42

Игра «Спички Бергсона», функция, программа, «Си», «Notepad++».

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

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

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

В процессе разработки игры была изучена лексика языка «Си».

Пояснительная записка выполнена в текстовом редакторе Microsoft Word 2016.

Содержание

Введение

1. Описание функций

2. Разработка интерфейса

3. Разработка игры для двух игроков

4. Разработка интеллекта компьютера

Заключение

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

Приложение

Введение

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

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

Курсовая работа написана на языке «Cи», компилируемом, статически типизированном языке программирования общего назначения. В ней реализована задача игры «СПИЧКИ БЕРГСОНА». «Cи» - стандартизированный процедурный язык программирования.

Язык программирования «Си» был разработанный в 1969 - 1973 годах сотрудником Bell Labs Деннисом Ритчи как развитие языка «Би». Первоначально был разработан для реализации операционной системы UNIX, но, впоследствии, был перенесен на множество других платформ. Согласно дизайну языка «Си», его конструкции близко сопоставляются типичным машинным инструкциям, благодаря чему он нашел применение в проектах, для которых был свойственен язык ассемблера, в том числе как в операционных системах, так и в различном прикладном ПО для множества устройств - от суперкомпьютеров до встраиваемых систем. Язык программирования «Си» оказал существенное влияние на развитие индустрии программного обеспечения, а его синтаксис стал основой для таких языков программирования, как C++, C#, Java и Objective-C.

Язык программирования «Си» отличается минимализмом. Компиляторы «Си» разрабатываются сравнительно легко благодаря простоте языка и малому размеру стандартной библиотеки. Поэтому данный язык доступен на самых различных платформах (возможно, круг этих платформ шире, чем у любого другого существующего языка). К тому же, несмотря на свою низкоуровневую природу, язык позволяет создавать переносимые программы и поддерживает в этом программиста. Программы, соответствующие стандарту языка, могут компилироваться на самых различных компьютерах.

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

- простую языковую базу, из которой вынесены в библиотеки многие существенные возможности, вроде математических функций или функций управления файлами;

- систему типов, предохраняющую от бессмысленных операций;

- передачу параметров в функцию по значению, а не по ссылке (при этом передача по ссылке выполняется с помощью указателей);

- использование препроцессора для, например, определения макросов и включения файлов с исходным кодом.

Одним из последствий высокой эффективности и переносимости «Си» стало то, что многие компиляторы, интерпретаторы и библиотеки других языков высокого уровня часто написаны на языке «Си».

1. Описание функций

В коде программы присутствуют 3 основные функции. Рассмотрим поочередно назначение и принцип работы каждой из них.

Функция игры двух игроков.

void igroki(int N)

Где N - это число, показывающее количество спичек в кучке на начало хода игрока. Помимо N в функции используются 3 переменные t, b, z. b - число спичек, которое взял (ввел с клавиатуры) игрок, в переменную t записывается число спичек b, взятое предыдущим игроком, она необходима для дальнейшего контроля соблюдения правил игроками (например, игрок не может взять спичек больше, чем 2*t, и программа требует повторного ввода спичек). Переменной z изначально задается значение ноль, она необходима для условия входа в каждый из двух внутренних циклов, как только игрок берет спички, число которых удовлетворяет правилам игры, z увеличивается (z++). Игра идет пока число спичек N больше нуля (условие внешнего цикла).

Функция игры человек - компьютер.

void comp(int N)

Где N - это число, показывающее количество спичек в кучке на начало хода игрока. Помимо N в функции используются 6 переменных h, k, r, t, z, z1. r - это число спичек, которые берет (вводит с клавиатуры игрок), k - число спичек, которые взял компьютер. В переменную t записывается число спичек, взятых игроками после хода. Для игрока t, как и в предыдущей функции, необходима для контроля соблюдения правил, в случае хода компьютера так же необходима для написания условий возможных ходов. h - число, которое генерируется рандомно в заданном диапазоне. z и z1 изначально равны нулю и необходимы как условия входа в циклы, для игрока используется z, для компьютера z1. Игра продолжается до тех пор, пока число спичек N больше нуля.

Функция меню и интерфейса игры.

void menu (int a, int b, int N)

Где a - вводимое пользователем число, используемое для выбора режима игры, b - вводимое пользователем число, необходимое для навигации по главному меню, N - число спичек, которое используется в игре, причем N задается рандомно и при каждом новом запуске игры равно любому числу из заданного диапазона.

2. Разработка интерфейса

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

программа игра компьютерный интерфейс

Рисунок 1 - Меню игры

После того, как пользователь увидел игровое меню, у него есть выбор из трех возможных вариантов: начать игру, вызвать окно с правилами игры, вызвать окно с опцией выхода из игры. Для навигации по меню пользователь использует клавиши «1», «2» и «3» на клавиатуре, после ввода которых необходимо нажать клавишу «Enter» (нажимается после введенных пользователем данных на протяжении всей игры).

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

Рисунок 2 - Правила игры

Для начала игры пользователь вводит с клавиатуры «1» и вызывает окно с информацией о возможных режимах игры. У него есть выбор из двух вариантов: выбрать режим игры с компьютером или играть с реальным соперником. При необходимости пользователь может вернуться в главное меню. Окно с возможными режимами игры представлено на рисунке 3.

Рисунок 3 - Режимы игры

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

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

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

Рисунок 5 - Конец игры

3. Разработка игры для двух игроков

Суть игры заключается в том, что каждый игрок при своем ходе не может взять все спички, ноль спичек, отрицательное число спичек, больше, чем общее количество спичек, а также в двое больше, чем взял предыдущий. В функции void igroki(int N) прописаны условия, при которых пользователь увидит сообщение о некорректном вводе числа спичек и сможет произвести повторный ввод. Фрагмент программы для первого игрока представлен в виде листинга 1.

if(b<1 || (b>t*2 && t!=0) || (b==N && t==0) || b>N)

printf("\n ТАК НЕЛЬЗЯ, ВОЗЬМИТЕ ДРУГИЕ СПИЧКИ!\n");

Листинг 1 - Некорректный ввод

Для игрока, который ходит вторым достаточно условий, что нельзя взять меньше одной, больше удвоенного числа спичек, взятого предыдущим игроком и все спички. Реализация данной части кода в игре представлена на рисунке 6.

Рисунок 6 - Некорректный ввод

В течении всей игры игроки по очереди берут спички, пока один из них не возьмет последнюю, он же победитель. Ход игры представлен на рисунках 7 - 9.

Рисунок 7 - Ход игры

Рисунок 8 - Ход игры

Рисунок 9 - Ход игры

4. Разработка интеллекта компьютера

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

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

Простой пример: в кучке 9 спичек, если вы возьмете треть, т.е. 3, соперник берет 2*3=6, в кучке остается ноль спичек, вы проигрываете, если вы берете 9/3-1=3-1=2, в кучке остается 7 спичек, соперник может максимум взять 4 спички, что не позволит ему одержать победу на этом ходе.

Рассмотрим подробно действия компьютера. Для того, чтобы действия компьютера не стали с течением времени предсказуемые, в игру добавлено следующее условие: если компьютер не может забрать все оставшиеся спички, он проверяет число на четность, если проверка прошла успешно, компьютер проверяет случайное число h, если, взяв данное число компьютер не обречен на поражение при следующем ходе игрока, количество спичек, которое берет компьютер становится h, если h приводит к поражению, проверка продолжается. Часть кода приведена на листинге 2.

if (t==r && N%2==0 && h<2*t && N-3*h>0)

{

N=N-h;

k=h;

t=k;

}

Листинг 2 - Проверка на четность

Здесь и дальше условия t==r или t!=k гарантируют, что компьютер берет спички впервые за ход. Реализация условия представлена на рисунке 10. В момент игры число h=3, что соответствует вышеописанным условиям.

Рисунок 10 - Проверка на четность

Следующая ситуация, когда компьютер действует не по принципу третей части от количества спичек в кучке, происходит, если число спичек, взятое предыдущим игроком, не позволяет взять треть (треть-1) спичек. В таком случае, при невыполнении условия четности, компьютер возьмет удвоенное количество спичек, взятое предыдущим игроком, но при условии, что эти ходом он не обеспечит себе поражение. Часть кода представлена на листинге 3.

if (r<(N/3) && t!=k)

{

k=2*t;

if (N>2*k && N!=2*k)

{

N=N-k;

t=k;

}

}

Листинг 3 - Компьютер берет вдвое больше

Реализация условия в процессе игры представлена на рисунке 11.

Рисунок 11 - Компьютер берет вдвое больше

В том случае, если компьютер имеет возможность забрать все оставшиеся спички, он ее использует и побеждает. Часть кода представлена на листинге 4.

if(N<=2*t && t==r && N!=0)

{

k=N;

N=N-k;

t=k;

}

Листинг 4 - Компьютер берет все

Реализация условия в процессе игры представлена на рисунке 12.

Рисунок 12 - Компьютер берет все

Во всех остальных ситуациях компьютер действует по победной стратегии (только при условии, что ход не повлечет за собой проигрыш при следующем ходе противника). Если число спичек, оставшееся в кучке делиться на три нацело, т.е. имеет нулевой остаток, компьютер берет число спичек, на единицу меньше трети. Часть кода представлена на листинге 5.

if(t!=k && N%3==0)

{

k=N/3-1;

if(k!=0 && k<=2*t)

{

N=N-k;

t=k;

}

}

Листинг 5 - Нулевой остаток

Реализация условия в процессе игры представлена на рисунке 13.

Рисунок 13 - Нулевой остаток

Если число спичек в кучке при делении на три дает ненулевой остаток, компьютер берет целую часть. Фрагмент кода представлен в виде листинга 6.

if(t!=k && N%3!=0)

{

k=N/3;

if(t==r && k<=2*t)

{

N=N-k;

t=k;

}

}

Листинг 6 - Ненулевой остаток

Реализация условия в процессе игры представлена на рисунке 14.

Рисунок 14 - Ненулевой остаток

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

Заключение

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

Была написана пошаговая логическая игра «СПИЧКИ БЕРГСОНА» с псевдографическим интерфейсом.

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

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

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

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

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

2. Керниган. Б., Ритчи Д., Язык программирования «Си». 2-е издание.: Пер. с англ. М.: Издательский дом «Вильямс», 2004. 288 с.

3. СТП ОмГУПС-1.2-2005

4. СТП ОмГУПС-1.2-02

Приложение

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

#include <stdio.h>

#include "math.h"

#include <time.h>

#include <Windows.h>

void igroki(int N)

{

int t=0,b,z=0; //t - число спичек, взятое последним игроком; b-число спичек которое берет игрок, z-для циклов

while (N>0) //условия продолжения игры

{

while(z==0)

{

printf (" \n ХОД ПЕРВОГО ИГРОКА:\n");

while (scanf("%i", &b)!=1) //здесь и далее на случай, если игрок случайно введет символы

{

fflush(stdin);

}

if(b<1 || (b>t*2 && t!=0) || (b==N && t==0) || b>N) //условия, при которых игра не может продолжаться

printf("\n ТАК НЕЛЬЗЯ, ВОЗЬМИТЕ ДРУГИЕ СПИЧКИ!\n");

else

{

N=N-b; //остается спичек в куче

z++; //по окончанию выйдем из цикла

system("cls"); //здесь и далее очищаем экран

printf("\n ПЕРВЫЙ ИГРОК ВЗЯЛ %i, В КУЧКЕ ОСТАЛОСЬ %i\n", b, N);

t=b;

if (N==0)

{

printf ("\n\n ***ПОБЕДИЛ ПЕРВЫЙ ИГРОК!***");

getch(); //ожидает нажатия клавиши и возвращается в меню

}

}

}

z=0; //войдем в цикл для второго игрока

if (N>0) //иначе нет смысла продолжать игру

while(z==0)

{

printf (" \n ХОД ВТОРОГО ИГРОКА:\n");

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

{

fflush(stdin);

}

if(b<1 || b>t*2 || b>N) //условия при которых не может продолжаться игра

printf("\n\n ТАК НЕЛЬЗЯ, ВОЗЬМИТЕ ДРУГИЕ СПИЧКИ!\n\n"); //так, как игрока берет не первый, условия отличаются

else

{

N=N-b;

z++;

system("cls");

printf("\n ВТОРОЙ ИГРОК ВЗЯЛ %i, В КУЧКЕ ОСТАЛОСЬ %i\n", b, N);

t=b;

if (N==0)

{

printf ("\n\n ***ПОБЕДИЛ ВТОРОЙ ИГРОК!***");

getch();

}

}

}

z=0;

}

}

void comp(int N)

{

int h=0, z=0, t=0, z1=0,k=N,r; // t - взято спичек последним игроком, z,z1 - переменные для входя в цикл, h-на рандомный ход компьютера, k-взял компьютер,r взял игрок

srand(time(NULL)); // при рандоме каждый раз новое число

while(N>0)

{

while(z==0)// все происходит аналогично циклам в функции для двух игроков

{

printf (" \n ВАШ ХОД:\n");

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

{

fflush(stdin);

}

if(r<1 || (r>t*2 && t!=0) || (r==N && t==0) || r>N)

printf("\n\n ТАК НЕЛЬЗЯ, ВОЗЬМИТЕ ДРЕГИЕ СПИЧКИ!\n\n");

else

{

N=N-r;

z++;

system("cls");

printf("\n ВЫ ВЗЯЛИ %i, В КУЧКЕ ОСТАЛОСЬ %i\n\n", r, N);

t=r;

if (N==0)

{

printf ("\n\n ***ВЫ ПОБЕДИЛИ***\n");

z1=-1;

getch();

}

}

}

z=0; // что бы снова зайти в цикл игрока

while(z1==0)

{

if(N==1) //если осталась одна спичка

{

k=N;

N=N-k;

t=k;

}

h=2 + rand() % (N-1)/3; // задаем диапазон значений h

if(N<=2*t && t==r && N!=0) //выполняется, если в куче остается меньше, чем взял предыдущий игрок*2, берем все и побеждаем

{

k=N;

N=N-k;

t=k;

}

if (N/3==1 && t==r) // осталось три спички

{

k=N/3;

N=N-k;

t=k;

}

if (t==r && N%2==0 && h<2*t && N-3*h>0) // условия, при которых можно взять h

{

N=N-h;

k=h;

t=k;

}

if(t!=k && N%3==0) // зайдет если остаток от деления на 3 = 0, возьмет на одну меньше,чем треть

{

k=N/3-1;

if(k!=0 && k<=2*t)

{

N=N-k;

t=k;

}

}

if(t!=k && N%3!=0)// зайдет если остаток от деления на 3! = 0, возьмет треть

{

k=N/3;

if(t==r && k<=2*t)

{

N=N-k;

t=k;

}

}

if (r<(N/3) && t!=k) //если предыдущие условия не выполнимы, берем вдвое больше предыдущего

{

k=2*t;

if (N>2*k && N!=2*k)

{

N=N-k;

t=k;

}

else

{

k=1;

N=N-k;

t=k;

}

}

printf ("\n КОМПЬЮТЕР ВЗЯЛ %i, В КУЧКЕ ОСТАЛОСЬ %i\n\n",t,N);

if (N==0)

{

printf ("\n\n ***ВЫ ПРОИГРАЛИ!***\n");

getch();

}

z1++;

}

z1=0;

}

}

void menu (int a, int b, int N)

{

while(b!=3)

{ printf ("\n *** *** *** **** ** ** * * *\n"

" * * * * * * * * * * * *\n"

" *** *** *** * * * * *** ***\n"

" * * * * * * * * * * * *\n"

" *** *** * * ** ** * * * *\n");

printf("\n МЕНЮ"

"\n\n\n НАЧАЛО ИГРЫ - [1]\n"

"\n\n\n ПРАВИЛА ИГРЫ - [2]\n"

"\n\n\n ВЫХОД ИЗ ИГРЫ - [3]\n");

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

{

fflush(stdin);

}

if (b==1)

{

N= 20 + rand() % 50;//диапазон значений числа спичек в кучке

system("cls");

printf ("\n\n РЕЖИМ ИГРЫ:\n\n"

"\n ИГРА С КОМПЬЮТЕРОМ - [1]\n"

"\n ДВА ИГРОКА - [2]\n"

"\n ВОЗВРАТ В ГЛАВНОЕ МЕНЮ - [3]\n");

while (scanf("%i", &a)!=1) // выбор режима

{

fflush(stdin);

}

if (a==1) //запускаем игру с компьютером

{

system("cls");

printf ("\n\n ИГРА НАЧАЛАСЬ!\n\n"

"\n КОЛИЧЕСТВО СПИЧЕК: %i\n", N);

comp( N); //функция игры с компьютером

}

else

{

if (a==2) //игра начинается для двух игроков

{

system("cls");

printf ("\n\n ИГРА НАЧАЛАСЬ!\n\n"

"\n КОЛИЧЕСТВО СПИЧЕК: %i\n", N);

igroki(N); //запускаем функцию игроком

}

}

system("cls");

if (b==2) // печатаем правила

{

printf ("\n\n ПРАВИЛА:\n"

"\n\n НА СТОЛЕ ЛЕЖИТ КУЧКА СПИЧЕК.\n\n"

" ПРИ СВОЕМ ХОДЕ ИГРОК МОЖЕТ ВЗЯТЬ СПИЧЕК \n\n"

" НЕ МЕНЬШЕ ОДНОЙ, И НЕ БОЛЕЕ, ЧЕМ ВДВОЕ \n\n"

" БОЛЬШЕ, ЧЕМ ВЗЯЛ ПРЕДЫДУЩИЙ ИГРОК. ВЫИГРЫВАЕТ \n\n"

" ТОТ, КТО БЕРЕТ ПОСЛЕДНЮЮ СПИЧКУ.\n"

"\n\n\n ВОЗВРАТ В ГЛАВНОЕ МЕНЮ - [1]\n");

scanf("%i", &b);

system("cls");

}

if (b==3)

exit(0); // закрывает игру

}

}

}

void main()

{

srand(time(NULL)); // для новых значений рандома

system("cls");

SetConsoleTitle("СПИЧКИ БЕРГСОНА"); //название приложения

system ("mode con cols=51 lines=21"); // задаем размер консоли

system("cls");

system("color f3"); // задаем цвет консоли, первые символ - цвет фона, второй - цвет шрифта

int a,b, N,k,r;

menu(a,b,N); //вызываем функцию меню

}

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

...

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

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

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

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

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

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

    отчет по практике [700,5 K], добавлен 24.11.2014

  • Структура, классификация и требования к реализации компилятора. Проектирование и реализация анализирующей части компилятора языка С++. Способы реализации лексического анализа. Алгоритм работы синтаксического анализатора. Принципы программной реализации.

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

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

    курсовая работа [85,9 K], добавлен 31.10.2014

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

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

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

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

  • Программный продукт для игры "Крестики-нолики". Описание пользовательского интерфейса. Факт базы данных, определяющий состояние счёта. Предикат изменяющий состояние игрового процесса и подсчитывающий количество занятых ячеек поля. Исходный код программы.

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

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

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

  • Входные и выходные данные программы. Выбор языка программирования. Рабочая среда Delphi 7. Правила игры "Кости". Разработка пользовательского интерфейса. Экономическое обоснование программного продукта. Расчет расходов на содержание и эксплуатацию.

    дипломная работа [960,6 K], добавлен 07.02.2016

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

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

  • Определение необходимых модулей программы, структуры файла базы данных. Описание разработки программы, отладка и тестирование. Разработка приложения Organizer.exe, меню и руководство пользователя. Алгоритм обработки событий главного меню (расписания).

    курсовая работа [901,8 K], добавлен 11.02.2014

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

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

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

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

  • Характерные особенности мультимедиа-технологий. Особенности разработки мультимедиа-проигрывателя. Анализ удобного пользовательского интерфейса, эквалайзера регулятора громкости. Разработка строки описания треков, программы меню, информации "О программе".

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

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

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

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

    дипломная работа [5,6 M], добавлен 26.07.2017

  • Изучение правил проектирования (предоставление пользователю контроля над программой, уменьшение загрузки памяти, увеличение визуальной ясности, последовательность) и принципов разработки пользовательского интерфейса на примере программы "Tidy Start Menu".

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

  • Формирование на экране меню для выбора функций. Элементы пользовательского интерфейса. Описание внутренних переменных, входных и выходных данных языка программирования Си. Выбор пользователем функции. Создание программы "Список коммерческих банков".

    курсовая работа [491,9 K], добавлен 17.03.2015

  • Понятие и виды пользовательского интерфейса, его совершенствование с помощью новых технологий. Характеристика приборной панели управления современного автомобиля и пультов дистанционного управления. Использование клавиатуры, особенности интерфейса WIMP.

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

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