Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 12.10.2016
Сообщений: 9
1

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

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

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

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

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

Реализовать в графическом режиме игру ханойские башни
В графическом режиме PascalABC.NET реализовать ханойские башни (задача с тремя стержнями и n дисков...

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

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

1
Эксперт Pascal/Delphi
2386 / 1298 / 1492
Регистрация: 29.08.2014
Сообщений: 4,661
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
24.11.2016, 15:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.11.2016, 15:03
Помогаю со студенческими работами здесь

Как избавиться от мерцания в графическом режиме на Free Pascal?
Пишу программу с графикой 1 раз, и столкнулся с такой проблемой, что при движении объектов они как...

Нарисовать 2 функции в графическом режиме ABC Pascal.NET
Есть готовый код программы только для 1 функции, а нужно для 2 : sin(e^(-x)) и cos(e^(-x))...

Как вывести картинки на экран В графическом режиме pascal abc
например если ваш знак овен ,вывести эту картину uses graphABC; const kol=1000; ...

Можно ли создать коло гипноза в графическом режиме?
Можно ли создать коло гипноза в графическом режиме?


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru