0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 7
1

Создать простую графическую игру-стрелялку

25.05.2010, 19:52. Показов 16497. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно создать обычную вертикальную космическую стрелялку. Никак не получается этого сделать...не знаю, как реализовать. Вертел гугл - он выдавал всякую ересь, в виде неработающих игрушек. Так вот...может у кого есть код?) Или может кто знает, где его можно найти(полностью рабочий)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2010, 19:52
Ответы с готовыми решениями:

Создать графическую оболочку
Помогите создать оболочку для программы, написанной в pascal uses crt; const rz=; var...

Скиньте простую игру-стрелялку
Скиньте кто обычную, простенькую игру стрелялку написанную на C# пожалуйста

Помогите новичку создать игру стрелялку
Здравствуйте, форумчане! С знакомлюсь actionscript только третий день. Мне необходимо сделать...

Как создать простую игру на С++?
Ребят, как создать игру на С++ на форме с помощью Image(ов), движения их и тд,?Если есть у кого что...

4
СтудентЪ из Кызылорды
25 / 23 / 9
Регистрация: 02.10.2009
Сообщений: 144
25.05.2010, 19:55 2
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
uses ABCObjects,Events,GraphABC,Timers,Utils;
 
var
  kLeftKey,kRightKey: boolean;
  kSpaceKey: integer;
  Player: RectangleABC;
  t: integer;
  EndOfGame: boolean;
  Enemies: TextABC;
  StaticObjectsCount: integer;
  NewGame: TextABC;
  Wins,Falls: integer;
  WinsABC,FallsABC: TextABC;
  r1: RectangleABC;
 
type
  KeysType=(kLeft,kRight);
  Pulya=class(CircleABC)
    constructor Create(x,y: integer);
    begin
      inherited Create(x,y,5,clRed);
      dx:=0; dy:=-5;
    end;
    procedure Move;
    var j: integer;
    begin
      inherited Move;
      if Top<0 then
        Visible:=False;
      for j:=StaticObjectsCount+1 to ObjectsCount do
        if (Objects[j]<>Self) and Intersect(Objects[j]) then
        begin
          Objects[j].Visible:=False;
          Visible:=False;
        end;
    end;
  end;
  Enemy=class(RectangleABC)
    constructor Create(x,y,w: integer);
    begin
      inherited Create(x,y,w,20,clRandom);
      if Random(2)=0 then
        dx:=5
      else dx:=-5;
      dy:=0;
    end;
    procedure Move;
    begin
      if Random(2)<>0 then Exit;
      if Random(10)=0 then dy:=5;
      if (Left<0) or (Left+Width>WindowWidth) or (Random(30)=0) then
        dx:=-dx;
      inherited Move;
      if dy<>0 then dy:=0;
      if Top>WindowHeight-50 then
        EndOfGame:=True;
    end;
  end;
 
function NumberOfEnemies: integer;
var i: integer;
begin
  Result:=0;
  for i:=1 to ObjectsCount do
    if Objects[i] is Enemy then
      Inc(Result);
end;
 
procedure CreateObjects;
var
  i: integer;
  r1: RectangleABC;
begin
  Player:=RectangleABC.Create(280,WindowHeight-30,100,20,clTeal);
  for i:=1 to 100 do
  begin
    r1:=Enemy.Create(Random(WindowWidth-50),40+Random(10),50);
    r1.TextVisible:=True;
    r1.Number:=i;
  end;
end;
 
procedure DestroyObjects;
var i: integer;
begin
  for i:=ObjectsCount downto StaticObjectsCount+1 do
    Objects[i].Destroy;
end;
 
procedure MoveObjects;
var i: integer;
begin
  for i:=StaticObjectsCount+2 to ObjectsCount do
    Objects[i].Move;
end;
 
procedure DestroyKilledObjects;
var i: integer;
begin
  for i:=ObjectsCount downto StaticObjectsCount+2 do
    if not Objects[i].Visible then
      Objects[i].Destroy;
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of
vk_Left:  kLeftKey:=True;
vk_Right: kRightKey:=True;
vk_Space: if kSpaceKey=2 then kSpaceKey:=1;
  end;
end;
 
procedure KeyUp(Key: integer);
begin
  case Key of
vk_Left:  kLeftKey:=False;
vk_Right: kRightKey:=False;
vk_Space: kSpaceKey:=2;
  end;
end;
 
procedure Timer1;
var
  i,j,n: integer;
  p: Pulya;
begin
  if kLeftKey and (Player.Left>0) then
    Player.MoveOn(-10,0);
  if kRightKey and (Player.Left+Player.Width<WindowWidth) then
    Player.MoveOn(10,0);
  if kSpaceKey=1 then
  begin
    p:=Pulya.Create(Player.Left+Player.Width div 2,Player.Top-10);
    kSpaceKey:=0;
  end;
  MoveObjects;
  DestroyKilledObjects;
  RedrawObjects;
  n:=NumberOfEnemies;
  Enemies.Text:='Врагов: '+IntToStr(n);
  if n=0 then
    EndOfGame:=True;
  if EndOfGame then
  begin
    StopTimer(t);
    if n>0 then
    begin
      Inc(Falls);
      FallsABC.Text:='Поражений: '+IntToStr(Falls);
      RedrawObjects;
      ShowMessage('Вы проиграли!');
      DestroyObjects;
      Enemies.Text:='Врагов: '+IntToStr(NumberOfEnemies);
      RedrawObjects;
    end
    else
    begin
      Inc(Wins);
      WinsABC.Text:='Побед: '+IntToStr(Wins);
      RedrawObjects;
      ShowMessage('Вы выиграли!');
      DestroyObjects;
      Enemies.Text:='Врагов: '+IntToStr(NumberOfEnemies);
      RedrawObjects;
    end;
  end;
end;
 
procedure MouseUp(x,y,mb: integer);
begin
  if NewGame.PTInside(x,y) then
    StartTimer(t);
end;
 
procedure KeyPress(Key: char);
begin
  if ((UpCase(Key)='G') or (UpCase(Key)='П')) and EndOfGame then
  begin
    EndOfGame:=False;
    StartTimer(t);
    CreateObjects;
    kSpaceKey:=2;
    kLeftKey:=False;
    kRightKey:=False;
  end;
end;
 
begin
  LockDrawingObjects;
  EndOfGame:=True;
  r1:=RectangleABC.Create(0,0,WindowWidth,38,clWhite);
  NewGame:=TextABC.Create(WindowWidth-180,5,14,clBlack,'G - Новая игра');
  Enemies:=TextABC.Create(10,5,14,clRed,'Врагов: '+IntToStr(NumberOfEnemies));
  WinsABC:=TextABC.Create(150,5,14,clRed,'Побед: '+IntToStr(Wins));
  FallsABC:=TextABC.Create(280,5,14,clRed,'Поражений: '+IntToStr(Falls));
  StaticObjectsCount:=ObjectsCount;
  Enemies.Text:='Врагов: '+IntToStr(NumberOfEnemies);
  OnKeyDown:=KeyDown;
  OnKeyPress:=KeyPress;
  OnKeyUp:=KeyUp;
  OnMouseUp:=MouseUp;
  t:=CreateTimer(10,Timer1);
  StopTimer(t);
  RedrawObjects;
end.

Только это для PASCAL ABC
0
0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 7
25.05.2010, 19:58  [ТС] 3
Спасибо...
Цитата Сообщение от meter Посмотреть сообщение
Только это для PASCAL ABC
...но в этом как раз проблема) Мне нужно для ТП...используя модуль graph. Есть что-нибудь такое?)
0
СтудентЪ из Кызылорды
25 / 23 / 9
Регистрация: 02.10.2009
Сообщений: 144
25.05.2010, 19:58 4
К сожалению нету(
0
0 / 0 / 0
Регистрация: 13.06.2009
Сообщений: 7
25.05.2010, 20:34  [ТС] 5
Ладно...все равно спасибо)
Ну может у кого-нибудь есть?
0
25.05.2010, 20:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2010, 20:34
Помогаю со студенческими работами здесь

Как создать простую 2D игру
Хочу написать простую 2D игру. Приступил к написанию игрового механизма. Написал ядро которое...

Можно ли на PHP написать игру-стрелялку
Мне нужно на я зыке PHP создать игру, в которой человечек должен ходить и стрелять любых монстров,...

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

Создать простую игру "Угадай слово"
Здравсвуйте нужно создать простую игру на C#. Я немогу понять как сделать, помогите. Нужно...


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

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

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