Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Паскаль
Регистрация

Восстановить пароль
Повторная активизация e-mail


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

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 26.04.2019, 21:18   #1
Fordy42
 
Регистрация: 17.04.2019
Сообщений: 6
Репутация: 10
По умолчанию Модернизация космической стрелялки

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


Код:
uses graph, crt ;
type    sled = ^spisok ;
        spisok = record
             x, y, v : real ;
             pos : sled ;
        end;
 
var gm, gd, i, x_ship,y_ship,x2_ship,y2_ship, maxx, minx : integer ;
    Size, lx, ly, rx, ry, c{color_sky}, abc: integer;
    k : string ;
    key : char;
    first, last, temp : sled ;
    f : text ;
 
procedure space_ship(x,y,x1,y1 : integer);
begin
     setfillstyle(1,yellow);
     bar(x,y,x1,y1);
     setfillstyle(1,lightred);
     bar(x+18,y,x1-18,y1-40);
end;
 
procedure space_ship_del(x,y,x1,y1 : integer);
begin
     setfillstyle(1,black);
     bar(x,y,x1,y1);
     setfillstyle(1,black);
     bar(x+18,y,x1-18,y1-40);
end;
 
 
procedure stars(c : integer);
begin
           temp:=last;
           repeat
                 putpixel(round(temp^.x) , round(temp^.y), c);
                 temp := temp^.pos ;
           until temp = nil ;
end;
 
procedure new_stars;
begin
     temp:=last;
           repeat
                 if temp^.y >= 480 then
                 temp^.y := 1 ;
                 temp^.y := temp^.y + temp^.v;
                 temp := temp^.pos ;
           until temp = nil ;
end;
 
 
procedure fire(x,y,x1,y1:integer);
begin
     setfillstyle(1,lightblue);
     bar(x+18,y-23,x1-18,y1-50);
end;
 
BEGIN
     assign(f,'output2.txt');
     reset(f);
     first := nil;
     last := nil ;
     repeat
           new(temp);
           ReadLn(f, temp^.x, temp^.y, temp^.v); temp^.pos := last;
           if first = nil then
           first := temp;
           last := temp;
     until eof(f);
     close(f);
     {          }
     randomize;
     detectgraph(gd,gm);
     initgraph(gd,gm,'');
     x_ship:= 300;
     y_ship:= 450;
     x2_ship:= 340;
     y2_ship:= 470;
     maxx := 640 ;
     minx := 10;
     repeat
      delay(50) ;
      stars(black) ;
      new_stars ;
      stars(white) ;
      space_ship(x_ship,y_ship,x2_ship,y2_ship);
      if keypressed then
        begin
         key:=ReadKey;
         If  Ord(key)=0 then
          begin
            key:=ReadKey;
            Case  Ord(key)  of
            77: If  x2_ship<maxx then
                 begin
                  space_ship_del(x_ship,y_ship,x2_ship,y2_ship);
                  x2_ship:=x2_ship+20;
                  x_ship:=x_ship+20;
                  space_ship_del(x_ship,y_ship,x2_ship,y2_ship)
                 end;
            75: If  x_ship>minx then
                 begin
                  space_ship_del(x_ship,y_ship,x2_ship,y2_ship);
                  x_ship:=x_ship-20;
                  x2_ship:=x2_ship-20;
                  space_ship_del(x_ship,y_ship,x2_ship,y2_ship)
                 end;
            27: exit;
            end;
          end;
        end;
      until Ord(key)=27;
     {Sky;}
 
END.
_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор
Вложения
Тип файла: txt OUTPUT2.TXT (1.6 Кб, 101 просмотров)

Последний раз редактировалось Serge_Bliznykov; 26.04.2019 в 21:39.
Fordy42 вне форума   Ответить с цитированием
Старый 27.04.2019, 00:15   #2
digitalis
Профессионал
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Адрес: Минск
Сообщений: 1,792
Репутация: 578
По умолчанию

Цитата:
врагов,которых можно убить
Кровожадина! А пусть живут и мучаются
digitalis вне форума   Ответить с цитированием
Старый 28.04.2019, 14:09   #3
Fordy42
 
Регистрация: 17.04.2019
Сообщений: 6
Репутация: 10
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Кровожадина! А пусть живут и мучаются
Ну пусть тогда хотя бы будут,чтобы жить :D
Fordy42 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание 2d стрелялки "Замочить птичку" шаг за шагом. arahis Gamedev - cоздание игр: Unity, OpenGL, DirectX 16 24.10.2011 15:30
модернизация Openl2tp bizcat Qt и кроссплатформенное программирование С/С++ 0 12.05.2011 15:38
Создание космической игры Serg-Grin Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 05.03.2010 12:48
Модернизация проги Rusl92 Общие вопросы Delphi 2 25.11.2008 03:00
исходник стрелялки zoom_nov Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 11.01.2008 14:42


10:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.