Морской бой на Delphi

Содержание:

Введение ……………………………………………………………………..............................3

  • Основные принципы автоматного программирования (АП)…….5
  • Игра «Морской бой» ……………………………………………….....................7

2.1. Общие правила и исходная диспозиция ………………………..............…7

2.2. Автоматное управление игрой …………………………………..................….9

2.3. Программная реализация проекта………………………................……….13

  • Обсуждение результатов анализа АП…………..…..........………………15

Заключение ……………………………………………………………...........................…. 16

Список литературы …………………………………………….........................…………17

Приложение…………………………………………………………............................……..18

Подход к программированию, называемый автоматным программированием (АП), активно развивается начиная с 1990-91г.г. главным образом в работах Шалыто А.А. (1,2,3,4) и Кузнецова Б.П. (5). К этому же направлению можно отнести работы Любченко В.С. (6), в которых развивается, так называемое, конечно-автоматное программирование (КА- программирование).

Насколько можно судить по указанным работам толчком к развитию АП явились два фактора:

   - успешное применение конечных автоматов при разработке и реализации трансляторов, точнее говоря, лексической фазы трансляторов (10), и

   - не менее успешное применение конечных автоматов для построения программ логического управления (11).

В самом общем виде, автоматное программирование, иначе называемое так же«программированием от состояний» или «программированием с явным выделением состояний» трактуется как метод разработки программного обеспечения, основанный на расширенной модели конечных автоматов и ориентированный на создание широкого класса приложений (4).

Пример кода:

//=====================================================================================
//функция проверяет свободна ли клетка поля и смежные с ней клетки
function Freedom (x, y: Integer; Field: Tfield): Boolean;
const d: array[1..8,1..2] of Integer =
      ((0,1),(1,0),(0,-1),(-1,0),(1,1),(-1,1),(1,-1),(-1,-1));
var i: Integer;
    dx, dy: Integer;
begin
  if (x > 0) and (x < 11) and (y > 0) and (y < 11) and (Field[x,y] =-1) then
  begin
    for i := 1 to 8 do
    begin
      dx := x + d[i,1];
      dy := y + d[i,2];
      if (dx > 0) and (dx < 11) and (dy > 0) and (dy < 11) and (Field[dx,dy] >-1) then
      begin
        Freedom := False;
        Exit;
      end; {if}
    end; {for}
    Freedom := True;
  end else Freedom := False;
end; {func Freedom}
//=====================================================================================

Содержание архива:

  • исходный код  на Delphi 7
  • пояснительная записка к курсовой работе (29 страниц)
Купить

500,00 

(без учета комиссии 3,8 %)

После оплаты Вы получите работу на электронную почту.
SeaBattle.rar
701743
Оцени работу

рейтинг

Поделись работой с друзьями

Комментарии (0)

n1kkondrat

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Морской бой на Delphi
В настоящей работе на примере игры «Морской бой» сравниваются традиционный процедурный и автоматный подходы к программированию.
Категория: Образование
Стоимость: 500,00