Создание игровой программы "Pacman"

Автор работы: Пользователь скрыл имя, 09 Февраля 2011 в 09:12, курсовая работа

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

В данной работе изложен материал по разработке программного продукта «Игровая программа “Pacman”», созданного для использования в операционных системах MS DOS, семейства MS Windows 9x, MS Windows XP. Данное приложение является игровым и предназначено для развлечения.

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

Введение………………………………………………………3 стр.

1.Анализ предметной области………………………………4-5 стр.
2.Проектирование……………………………………………6-8 стр.
3.Реализация………………………………………………….9-12 стр.
Заключение……………………………………………………13 стр.

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

Глоссарий……………………………………………………..15 стр.

Приложение……………………………………………….......16-24 стр.

Файлы: 1 файл

создание игровой программы pacman.doc

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

                          for k:=1 to 2 do begin

                              if k=1 then setcolor(4) else setcolor(0);

                          outtextxy(380+1*j,15,'G');

                          outtextxy(390+2*j,15,'A');

                          outtextxy(400+3*j,15,'M');

                          outtextxy(410+4*j,15,'E');

                              if k=1 then delay(d500);

                          end;

                      end;

                  until keypressed;

              end;

          end;

      end; 

      Данная процедура предоставляет информацию пользователю о

игре. Далее в программе 6улет описано, что при нажатии на клавишу, содержащую символ «I» вызывается процедура Infos, при этом игра приостанавливается и в нижней части экрана появляется информация о том какими клавишами можно управлять Pacman'ом, также предоставляется информация о том какой клавишей можно приостановить игру, возобновить её и выйти из игры. 

      Бонус 

         if bonus=true then begin

                          bonus:=false;

                              if son=true then begin

                                  for a:=1 to 4 do begin

                                  sound(440*a);

                                  delay(d500*2);

                                  end;

                              nosound;

                              end;

                          setcolor(0);

                          str(vies,s);

                          outtextxy(105,40,s);

                          vies:=vies+1;

                          setcolor(3);

                          str(vies,s);

                          outtextxy(105,40,s);

                          end; 
 
 

      Данная часть кода программы добавляет жизнь Pacman' ну, и в верхней части экрана, к количеству жизней прибавляет еще одну, ранее в программе описано, что bonus=true, тогда, когда количество очков , набранных игроком, которые выводятся в верхней части, экрана равно 4000. 

     Выводы

     1. В качестве языка программирования выбран язык Borland Pascal 7.0.

     2. Описан алгоритм;

     3. Разработан и описан пользовательский интерфейс игровой программы "Pacman" с интуитивно-понятным управлением приложением.

      4. Составлен план развертывания программы. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      ЗАКЛЮЧЕНИЕ 

      1.  Результатом данной работы является созданная игровая программа «Pacman». Разработанный продукт является полностью функциональным (все необходимые функции в нем реализованы). Несмотря на это, допускается его дальнейшая модернизация, как в плане интерфейса, так и в плане функциональных и алгоритмических возможностей.

      2.  Программа реализована на языке - Borland Pascal 7.0.

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

 

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

     1. Семенов А.И., Семенова О.В. Программирование. Учебное пособие. - Абакан: Издательство Хакасского государственного университета им. Н.Ф. Катанова, 2005. -   156 с.: ил.

     2. Петзолд Ч. Программирование для Windows 95 в двух томах - Спб.: «BHV-Санкт Петербург», 2000.

     3. Окулов С.М. Основы программирования. В 3-х ч. - Киров: Изд-во ВГПУ, 2000. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Глоссарий 

     Игровая программа - компьютерная программа, предназначенная для развлечения пользователей.

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

      Предметная область - часть реального мира, подлежащего автоматизации в ходе ее изучения.

     Система - совокупность взаимосвязанных элементов, выступающая как единое целое и имеющая общее назначение, цель. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ПРИЛОЖЕНИЕ

П.1. Листинг

Pacman.pas 

    Program pacman;

    uses crt, graph; 

    const

         d500=50;   {short delay}

         d1500=1000; {long delay} 

    type point=^element;

    element=record

    im: pointer;

    nxt: point;

    end; 

    fx=^coord;

    coord=record

    fa, fo, rf, delais: integer;

    nxt: fx;

    end; 

    tableau=array[1..3]of integer; 

    procedure infos;

    var  i,j,k: integer;

    begin

        for i:=1 to 2 do begin

            if i=1 then

            setcolor(3)

            else setcolor(0);

        outtextxy(180,15,'Infos:');

        outtextxy(60,452,'Left:       4');

        outtextxy(60,472,'Right:      6');

        outtextxy(190,452,'Up:        8');

        outtextxy(190,472,'Down:      2');

        outtextxy(320,452,'Stop!:     5');

        outtextxy(320,472,'Pause:     P');

        outtextxy(450,452,'Sound/Sil.:S');

        outtextxy(450,472,'Exit      :Q');

            if i=1 then begin

                repeat

                    for j:=1 to 20  do begin

                        for k:=1 to 2 do begin

                            if k=1 then setcolor(4) else setcolor(0);

                        outtextxy(380+1*j,15,'G');

                        outtextxy(390+2*j,15,'A');

                        outtextxy(400+3*j,15,'M');

                        outtextxy(410+4*j,15,'E');

                            if k=1 then delay(d500);

                        end;

                    end;

                    for j:=20 downto 1  do begin

                        for k:=1 to 2 do begin

                            if k=1 then setcolor(4) else setcolor(0);

                        outtextxy(380+1*j,15,'G');

                        outtextxy(390+2*j,15,'A');

                        outtextxy(400+3*j,15,'M');

                        outtextxy(410+4*j,15,'E');

                            if k=1 then delay(d500);

                        end;

                    end;

                until keypressed;

            end;

        end;

    end;

    procedure route(var t: tableau;x,y,fa,fo: integer);

    var coef: real;

    begin

    coef:=(x-fa)/(y-fo+0.1);

        if ((coef)>=1)or((coef)<=-1) then begin

            if fa>=x then t[1]:=4 else t[1]:=6;

            if fo>y then begin t[2]:=8; t[3]:=2; end else begin t[2]:=2; t[3]:=8; end;

        end else begin

            if fo>=y then t[1]:=8 else t[1]:=2;

            if fa>x then begin t[2]:=4; t[3]:=6; end else begin t[2]:=6; t[3]:=4; end;

        end;

    end; 

    label 1; 

    var a, b, c, d, i, j, k, rf, x, y, size, pilote, mode, vies, repas,

    t1, t2, t3, t4, t5, t6, t7, t8, niveau: integer;

    tar, perdu, son, f1, f2, f3, f4, bonus: boolean;

    p, p2, p3, ec, ec2, ec3: point;

    fantome, blank, fade, vdt, repos, fromage, barre: pointer;

    t: tableau;

    pf, pf2, pf3: fx;

    temps, points: longint;

    stock:Array[1..24] of integer;

    s: string;

          r:char;

          err:integer; 

    begin

    randomize;

    pilote:=detect;

    InitGraph(pilote,mode,'c:\lang\bp\units');

    clearviewport;

    size:=imagesize(7,7,33,7);

        new(fade);

        getmem(fade,size);

        getimage(7,7,33,7,fade^); 

    size:=imagesize(7,7,33,33);

        new(blank);

        getmem(blank,size);

        getimage(7,7,33,33,blank^); 

        for j:=1 to 2 do begin

            if j=1 then setfillstyle(1,9) else setfillstyle(1,6); 

            for i:=1 to 4 do begin

            cleardevice;

            pieslice(20,20,5*i,360-5*i,10);

            rectangle(19,14,20,15);

            size:=imagesize(7,7,33,33);

                if j=1 then begin

                new(p2);

                getmem(p2^.im,size);

                getimage(7,7,33,33,p2^.im);

                    if i=1 then begin

                    p:=p2;

                    p3:=p;

                    end else begin

                    p3^.nxt:=p2;

                    p3:=p2;

                    end;

                end else begin

                new(ec2);

                getmem(ec2^.im,size);

                getimage(7,7,33,33,ec2^.im);

                    if i=1 then begin

                    ec:=ec2;

                    ec3:=ec;

Информация о работе Создание игровой программы "Pacman"