Игровая программа "Нарды"

Автор работы: Пользователь скрыл имя, 28 Января 2011 в 12:02, курсовая работа

Описание работы

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

Содержание работы

Введение 2
1 Общая часть 4
1.1 Постановка задачи 4
1.2 Технико-математическое описание 6
1.3 Программное обеспечение 9
1.4 Состав и параметры технических и программных средств 12
2 Специальная часть 14
2.1 Описание алгоритмов 14
2.2 Описание работы программы 16
2.3 Инструкция по выполнению программы 18
2.4 Тестирование и отладка 22
2.5 Контрольный пример 24
Заключение 28
Список литературы 30
Приложение А. Текст программы 31

Файлы: 1 файл

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

— 312.50 Кб (Скачать файл)

    0: pic:=picpusto.Picture;

    …

    6: pic:=image8.picture;

    end;

    case i of

    1: v1.picture:=pic;

    …

    4: v4.picture:=pic;

    end;

    end;

end;

end. 
 

Модуль  LOAD содержит форму загрузки сохраненной игры 

uses main, draw; 

{$R *.dfm} 

procedure TForm3.SpeedButton2Click(Sender: TObject);

begin

  form3.Close;

end; 

procedure TForm3.SpeedButton1Click(Sender: TObject);

var i,j:integer;

begin

  if listbox1.Items.Count=0 then begin

  form3.Close;

  exit;

  end;

  form1.memo_save.Clear;

  form1.memo_save.Lines.LoadFromFile(path+'\saves\'+listbox1.Items[listbox1.itemindex]+'.sav');

  with form1 do begin

  i:=0;

  status:=strtoint(memo_save.Lines[i]);

  i:=1;

  player:=strtoint(memo_save.Lines[i]);

  i:=2;

  for j:=1 to 4 do begin

    main.bones[j]:=strtoint(memo_save.Lines[i]);

    i:=i+1;

  end;

  for j:=1 to 26 do begin

    mas[j,1]:=strtoint(memo_save.Lines[i]);

    i:=i+1;

  end;

  for j:=1 to 26 do begin

    mas[j,2]:=strtoint(memo_save.Lines[i]);

    i:=i+1;

  end;

  golova:=strtoint(memo_save.Lines[i]);

  i:=i+1;

  z1:=strtoint(memo_save.Lines[i]);

  i:=i+1;

  z2:=strtoint(memo_save.Lines[i]);

  case z1 of

  1: leftbone.Picture:=b1.Picture;

  …

  6: leftbone.Picture:=b6.Picture;

  end;

  case z2 of

  1: rightbone.Picture:=b1.Picture;

  …

  6: rightbone.Picture:=b6.Picture;

  end;

  draw.visible(sender);

  draw.redraw(sender);

  varbones(sender);

  end;

  form3.Close;

end; 

procedure TForm3.FormActivate(Sender: TObject);

var

  s:string;

  SearchRec: TSearchRec;// структура SearchRec содержит  информацию

                        // о файле, удовлетворяющем условию поиска

begin

  ListBox1.Clear;

  // сформировать  список sav файлов

  if FindFirst(Path+'\saves\' + '*.sav', faAnyFile, SearchRec) =0 then

     begin

          // в каталоге есть файл с  расширением sav

          // добавим имя этого файла в список

          s:=searchrec.Name;

          Delete(s, length(S)-3,4);

          ListBox1.Items.Add(s);

          // есть еще sav-файлы ?

          while (FindNext(SearchRec) = 0) do begin

              s:=searchrec.Name;

          Delete(s, length(S)-3,4);

          ListBox1.Items.Add(s);

          end;

              end;

   ListBox1.ItemIndex := 0;

   if listbox1.Items.Count=0 then begin

   messagedlg('Нет сохраненной игры',mtinformation,[mbok],0);

   form3.Close;

   end;

   form1.bones_click.Enabled:=true;

end; 

end. 

Модуль  SAVE содержит форму сохранения игры 

uses main; 

{$R *.dfm} 

procedure TForm2.SpeedButton1Click(Sender: TObject);

begin

  form1.memo_save.Lines.SaveToFile(path+'\saves\'+saveedit.Text+'.sav');

  form2.Close;

end; 

procedure TForm2.SpeedButton2Click(Sender: TObject);

begin

form2.Close;

end; 

procedure TForm2.FormShow(Sender: TObject);

var i:integer;

begin

with form1 do begin

memo_save.Clear;

  memo_save.Lines.Add(inttostr(status));

  memo_save.Lines.Add(inttostr(player));

  for i:=1 to 4 do memo_save.Lines.Add(inttostr(bones[i]));

  for i:=1 to 26 do memo_save.Lines.Add(inttostr(mas[i,1]));

  for i:=1 to 26 do memo_save.Lines.Add(inttostr(mas[i,2]));

  memo_save.Lines.Add(inttostr(golova));

  memo_save.Lines.Add(inttostr(z1));

  memo_save.Lines.Add(inttostr(z2));

  end;

end; 

end. 

Модуль  EXIT содежит форму подтверждения выхода из программы 

uses main, start; 

{$R *.dfm} 

procedure TForm4.SpeedButton1Click(Sender: TObject);

begin

form7.Close;

end; 

procedure TForm4.SpeedButton2Click(Sender: TObject);

begin

form4.Close;

end; 

end.

Информация о работе Игровая программа "Нарды"