Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Lizardrom
0 / 0 / 1
Регистрация: 12.10.2016
Сообщений: 9
1

Создать в графическом режиме Pascal игру Сокровища

24.11.2016, 10:22. Просмотров 827. Ответов 1
Метки нет (Все метки)

Случайным образом разбросать сокровища (например,окружность) на экране.Реализовать движение паучка (любой граф объект) на экране.При попадании паучка на сокровище,сокровище исчезает (паучок его забрал).При этом увеличиваются очки игрока.

Управление паучком с клавиатуры.Количество очков записывать в файл.Меню для игры выводить из текстового файла.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2016, 10:22
Ответы с готовыми решениями:

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

Штриховка уголка в графическом режиме - Pascal
Всем доброго дня, необходима помощь. Не поможете ли кодом, нужно написать ПО на...

Строка с бегущим текстом в графическом режиме (Pascal)
Здравствуйте, помогите, пожалуйста, решить следующую задачу (используя...

Создать в графическом режиме движущиеся по определенной траектории объект
Помогите пожалуйста написать программу: создать в графическом режиме движущиеся...

Задача в графическом режиме
Треугольник целиком перемещается по экрану нажатием на клавиши Up и Down в...

1
Joy
Эксперт Pascal/Delphi
2175 / 1202 / 1438
Регистрация: 29.08.2014
Сообщений: 4,389
24.11.2016, 15:03 2
Лучший ответ Сообщение было отмечено Lizardrom как решение

Решение

для начала:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
uses Crt, Graph;
type p=record
      x,y:integer;
     end;
var
  dx,dy,px,py,n:integer;
  a:array[1..36] of p;
  gd,gm,width,height:integer;
  key, Interval:integer;
 
procedure NewFruit;
var
  b:boolean;
  i:integer;
begin
  repeat
    b:=true;
    px:=random(width);  while px mod 10>0 do px:=px+1;
    py:=random(height); while py mod 10>0 do py:=py+1;
    if (px>width-20) or (py>Height-20) or (px<10) or (py<10) then b:=false else
      for i:=1 to high(a) do if (a[i].x=px) and (a[i].y=py) then b:=false;
  until b;
  SetColor(Red);
  SetFillStyle(SolidFill,Red);
  FillEllipse(px,py,10,10);
end;
 
 
procedure ErTail;
begin
  SetFillStyle(SolidFill,Green);
  Bar(a[n].x,a[n].y,a[n].x+10,a[n].y+10);
end;
 
procedure NewStep;
var
  i:integer;
  c:word;
begin
  ErTail;
  for i:=n downto 2 do a[i]:=a[i-1];
  c:=getpixel(a[1].x+dx div 2,a[1].y+dy div 2);
  a[1].x:=a[1].x+dx;
  a[1].y:=a[1].y+dy;
  SetFillStyle(SolidFill,Yellow);
  Bar(a[1].x,a[1].y,a[1].x+10,a[1].y+10);
    if (c=Red) or (
      (a[1].x>=px-10) and (a[1].x<=px+10) and
      (a[1].y>=py-10) and (a[1].y<=py+10))
      then begin
      SetColor(Green);
      SetFillStyle(SolidFill,Green);
      FillEllipse(px,py,11,11);
    SetFillStyle(SolidFill,Yellow);
    Bar(a[1].x,a[1].y,a[1].x+10,a[1].y+10);
      if n<high(a) then n:=n+1 else begin
         ErTail;
         SetColor(Brown);
         SetFillStyle(SolidFill,Brown);
         FillEllipse(px,py,4,4);
      end;
      a[n]:=a[n-1];
      NewFruit;
      if n>18 then begin
        if Interval>50 then Interval:=Interval-5 else
          Interval:=50;
      end;
    end else if (c<>Green) and (c<>yellow) then begin
      closegraph;
      writeln('Приплыли');
      Halt;
    end;
end;
 
procedure mHod(x,y:integer);
begin
  if (dx=0) and (x<>0) then begin dx:=x;dy:=0;NewStep;end;
  if (dy=0) and (y<>0) then begin dy:=y;dx:=0;NewStep;end;
end;
 
 
begin
  Randomize;
  interval:=150;
  gd:=Detect;
  InitGraph(gd,gm,'');
  width:=getmaxx-10;
  height:=getmaxy;
  n:=1;
  a[1].x:=Width div 2;
  a[1].y:=Height div 2;
  dx:=10;
  dy:=0;
  SetFillStyle(SolidFill,Magenta);
  Bar(0,0,Width,Height);
  SetFillStyle(SolidFill,Green);
  Bar(10,10,Width-10,Height-10);
  NewFruit;
  repeat
    while not keypressed do begin delay(Interval);NewStep;end;
    if ReadKey=#0 then
      case ord(ReadKey) of
        75:mHod(-10,0);
        72:mHod(0,-10);
        77:mHod(10,0);
        80:mHod(0,10);
      end;
  until false;
end.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2016, 15:03

Работа в графическом режиме
Не интересовался графикой в паскале, да и не хочется, а задачку сделать надо)...

Гистограмма в графическом режиме.
ВВести три числа.Построить по ним гистограмму на языке Pascal.

Меню в графическом режиме
Дайте кто-нибудь пожалуйста текст какой-нибудь зачётной менюшки на n-ое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru