Смекни!
smekni.com

Интеллектуальные системы назначение, принципы построения, функциональные возможности, методы п (стр. 3 из 3)

Глава 2. Разработка программного продукта «Игра «100 спичек».

§ 2. 1. Постановка задачи.

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

§ 2. 2. Техническое описание программы.

Язык программирования: Delphi7, требуемая ОС: Windows 95 и выше.

§ 2. 3. Инструкция пользователя.

Для правильного отображения кириллицы может потребоваться произвести настройку шрифта следующим образом: нажать Правую Кнопку Мыши на адресной строке, во вкладке “Шрифт” изменить шрифт на Lucida Console и сохранить изменения для всех последующих запусков. Данная программа представляет собой алгоритм, который можно разделить на две составляющих: часть, где описан алгоритм, для игры пользователя и компьютера и часть где описан алгоритм для игры пользователя с другим пользователем.

При запуске файла progacurs_ov.exe пользователь увидит меню:

Рисунок 1 меню программы

После того как он выполнит предложенные действия откроется меню:

Рисунок 2 выбор игрока

После чего начнется сама игра. Если пользователь нажал (1), тогда он будет играть с компьютером. Сначала право хода будет предоставлено самому игроку.

Рисунок 3 ход пользователя

Если игрок ввел число неудовлетворяющее правилам игры, тогда выходит сообщение

Рисунок 4 ошибка ввода

Затем право хода предоставляется компьютеру.

Рисунок 5 ход копьютера

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

Рисунок 6 вывод результата

Если пользователь выбрал (2), тогда он будет играть с другим пользователем.

Сначала ход предоставляется игроку №1.

Рисунок 7 ход игрока №1

Затем ходит игрок №2. Если один из игроков ввел число, не удовлетворяющее условиям игры, тогда выводится

сообщение. Игра продолжается пока один из игроков не заберет последнюю спичку. Если спичку забрал игрок №1, тогда выводится сообщение

§ 2. 4. Структура программы.

В начале программы пользователю предоставляется возможность путем ввода значения переменной k выбрать, с кем он будет играть (при k=1, при k=2 , иначе повторяется ввод запроса на выбор значения k). После этого переменной S (общее кол-во спичек требуемых для игры) присваивается значение «100». Затем пользователь путем ввода значений переменной N выбирает, какое кол-во спичек он хочет взять. Происходит проверка значения переменной N на соответствие условию (при N>=1, при N<=10 иначе повторяется ввод запроса на выбор значения N). Если значение переменной N соответствует заданным условиям, тогда значение переменной S уменьшается на значение переменной N. Если пользователь в начале игры выбрал значение k=1, тогда после его хода осуществляется ход компьютера, значение переменной задается следующим образом N:=Random(10)+1. В случае, когда после хода пользователя значение переменной S<=10, тогда переменной S присваивается значение «0». Пользователь и компьютер будут ходить поочередно, пока значения переменной S не достигнет нуля. После этого происходит вывод результата на экран.

Если пользователь изначально выбрал значение k=2, в этом случае игра осуществляется между двумя пользователями, которые ходят поочередно, все действия производятся аналогично.

Заключение

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

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

Что касается практической части, то мною был разработан программный продукт «Игра «100 спичек».

Таким образом я считаю, что поставленные цели, заявленные во введении мной были выполнены.

Приложение 1. Блок-схема.

Рисунок 8 блок-схема

Приложение 2. Код программы.

program progacurs_ov;

{$APPTYPE CONSOLE}

uses

windows,

CRT;

const InitialCount=100;

var S,N,Player,k: integer; Correct: boolean;

begin

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

writeln(' ИГРА 100 СПИЧЕК!');

writeln(' ПРАВИЛА ИГРЫ:');

writeln(' Из кучки, первоначально содержащей 100 спичек,');

writeln(' двое играющих поочередно берут по несколько спичек:');

writeln(' не менее одной и не более десяти.');

writeln(' Выигрывает игрок, взявший последнюю спичку.');

writeln('Данная игра позволяет играть с компьютером или с другим пользователем');

writeln(' Для того, чтобы выбрать нажмите соответствующую цифру');

writeln(' Кол-во спичек выбирается также набором цифр');

writeln;

writeln;

writeln(' Для перехода к игре нажмите Enter');

readln;

ClrScr;

repeat

writeln(' Играть с компьютером (1), играть c человеком (2): ');

readln(k);

correct:=(k>=1) and (k<=2);

if not correct then

writeln(' Неправильно выбрано число игроков');

until correct;

if k=1 then

begin

player:=1;

S:=InitialCount;

ClrScr;

repeat

if Player=1 then

begin

repeat

writeln(' Ваш ход. На столе ',S,' спичек.');

writeln(' Сколько спичек вы берете?');

readln(N);

ClrScr;

Correct:=(N>=1) and (N<=10) and (N<=S);

if not Correct then

writeln(' Неверно! Повторите ввод! ');

until Correct;

ClrScr;

end

else

begin

N:=Random(10)+1;

if N>S then N:=S;

writeln(' Мой ход. Я взял ',N,' спичек');

end;

if S<=10 then S:=0 else S:=S-N;

if Player=1 then

Player:=2

else

Player:=1;

until S=0; ClrScr;

if Player=1 then

writeln(' ВЫ ПРОИГРАЛИ!!!')

else

writeln(' ВЫ ПОБЕДИЛИ!!!');

readln;

end

else

begin

player:=2;

S:=InitialCount;

ClrScr;

repeat

if Player=2 then

begin

repeat

write(' Ход игрока № 1. На столе ', S,' спичек.');

write (' Сколько спичек вы берете?');

readln(N);

ClrScr;

Correct:=(N>=1) and (N<=10) and (N<=S);

if not Correct then

writeln(' Неверно! Повторите ввод!');

until Correct;

end

else

begin

repeat

write(' Ход игрока № 2. На столе ', S,' спичек.');

write (' Сколько спичек вы берете?');

readln(N);

ClrScr;

Correct:=(N>=1) and (N<=10) and (N<=S);

if not Correct then

writeln(' Неверно! Повторите ввод!');

until Correct;

end;

S:=S-N;

if Player=1 then

Player:=2

else

Player:=1;

until S=0;

ClrScr;

if Player=1 then

writeln(' ПОБЕДА ИГРОКА № 1 !!!')

else

writeln(' ПОБЕДА ИГРОКА № 2 !!!');

readln;

end;

readln;

exit;

end.

Список иллюстраций.

Рисунок 1 меню программы.. 3

Рисунок 2 выбор игрока. 3

Рисунок 3 ход пользователя. 3

Рисунок 4 ошибка ввода. 3

Рисунок 5 ход копьютера. 3

Рисунок 6 вывод результата. 3

Рисунок 7 ход игрока №1. 3

Рисунок 8 блок-схема. 3

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

1). В. Б. Кудрявцев. Введение в теорию интеллектуальных систем: Учеб. пособие/МаксПресс – М., 2006. – 210 с.

2). Л. С. Болотова. Системы искусственного интеллекта. Теоретические основы и формальные модели представления знаний: Учеб. пособие/ МИРЭА.– М., 2001. – 78 с.

3). Гаврилова Т.А., Хорошевский В.Ф. Базы знаний интеллектуальных систем. – СПб: Питер, 2001.– 384 с.

4). П. Джексон. Введение в экспертные системы.- М.: Изд-во Вильямс, 2001.- 624 с.

5). Искусственный интеллект. Справочник. Книги 1,2,3. –М., 1990

6). Мичи Д., Джонстон Р. Компьютер – творец.- М.: Мир, 1987.- 255 с.

7). Пупков К.А., Коньков В.Г. Интеллектуальные системы. - M.: Изд-во МГТУ им. Н.Э. Баумана, 2003. - 348 с.:ил.