Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
1

Моя игра на паскале

07.12.2010, 12:24. Просмотров 1455. Ответов 5
Метки нет (Все метки)


Делая свой арканойд с класным названием на паскале столкнулся с проблемами: шарик не отражается от кирпичей и от ракетки, и сама ракетка двигается не правильно.
Кому не сложно поищите ошибки пожалуйста, а то я что-то не могу найти.
0
Вложения
Тип файла: rar super_boll.rar (47.3 Кб, 55 просмотров)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2010, 12:24
Ответы с готовыми решениями:

Простейшая игра на паскале
Здравствуйте, стало интересным создание своей игры на паскале.. не знаю с чего начать..может что...

Игра в слова на Паскале, используя матрицу
Здравствуйте всем! Подскажите, пожалуйста, как написать игру в слова, используя матрицу на Паскале?...

Моя игра
Всем здравствуйте, Я сделал свою игру и хочу её предложить на этом форуме - мне важно услышать...

Моя первая игра на C++
На днях доделал свою первую игру на C++. До этого написал первую часть игры на C# (и вообще свою...

5
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
07.12.2010, 12:46  [ТС] 2
Я конечно могу выложить, но там картинки вставлены, шрифты и "help" из другого файла грузиться. Это всё есть в архиве.

Добавлено через 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
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
uses wincrt,graph;
type mas=array[1..3] of string;
const n=3;
      m=14;
      stroki:mas=('help','game','exit');
      up=#72;
      down=#80;
      enter=#13;
       left=#75;
      right=#77;
      esc=#27;
      space=#32;
      dx=50;
      dy=20;
type massiv=array[1..n,1..m] of integer;
type mass=array[1..3] of string;
const kirp:massiv=((0,0,1,1,1,1,1,1,1,1,1,1,0,0),
                   (0,0,1,1,1,1,1,1,1,1,1,1,0,0),
                   (0,0,1,1,1,1,1,1,1,1,1,1,0,0));
 
 
var
x,y,gd,gm,xm,ym,y0,x0,x1,y1,dm,c,r:integer;
hy,nx,ny,r1,xb,yb,dxb,dyb:integer;
xr,yr,w,z:integer;
lab:massiv;
ch:char;
pk,poz,rt:integer;
p_k:pointer;
 
 
procedure load_image(name:string;var p:pointer);
    var f:file;
        size:word;
    begin
      assign(f,name);
      reset(f,1);
      size:=filesize(f);
      getmem(p,size);
      blockread(f,p^,size);
      close(f);
    end;
procedure menu(var poz:integer);
var x0,y0,y,i:integer;
begin
  cleardevice;
  setcolor(c);
  settextstyle(0,0,3);
  x0:=150;
  y0:=100;
  for i:=1 to 3 do
           begin
             y:=y0+(i-1)*100;
             outtextxy(x0,y,stroki[i]);
           end;
  poz:=1;
  y:=y0+(poz-1)*100;
  putimage(x0-100,y,p_k^,xorput);
  repeat
    ch:=readkey;
    if ch=#0 then
            begin
              ch:=readkey;
              y:=y0+(poz-1)*100;
              putimage(x0-100,y,p_k^,xorput);
              case ch of
                 up: if poz=1 then poz:=3 else poz:=poz-1;
                 down: if poz=3 then poz:=1 else poz:=poz+1;
              end;
              y:=y0+(poz-1)*100;
              putimage(x0-100,y,p_k^,xorput);
            end;
 
  until ch=enter;
  putimage(x0-100,y,p_k^,xorput);
end;
 
procedure help;
var txt:text;
st:string;
xh:integer;
begin
assign(txt,'help.pas');
reset(txt);
setcolor(c+2);
settextstyle(rt,2,5);
xh:=20;
cleardevice;
while not (eof(txt)) do
        begin
        readln(txt,st);
        outtextxy(50,xh,st);
        xh:=xh+20;
        end;
        close(txt);
        readkey;
        cleardevice;
end;
 
 
procedure zap_kirp;
var i,k:integer;
   begin
      lab:=kirp;
      for i:=1 to n do
         begin
            for k:=1 to m do
               begin
                   x:=(k-1)*dx+x0-300;
                   y:=(i-1)*dy+y0-300;
                   case lab[i,k] of
                      1:begin
                        c:=random(15)+1;
                        setfillstyle(1,c);
                        bar (x+2,y+2,x+dx-2,y+dy-2);
                      end
                    end;
               end;
         end;
   end;
 
 
 
procedure ball(x,y,r,c:integer);
  begin
        setcolor(c);
        setfillstyle(1,c);
        fillellipse(x,y,r,r);
  end;
 
{procedure drawkir(nx,ny,dx,dy:integer);
var x,y,i,j:integer;
begin
setfillstyle(1,6);
for i:=1 to n do
for j:=1 to m do
        begin
        x:=nx+(j-1)*dx;
        y:=ny+(i-1)*dy;
        if kirp[i,j]<>0 then
        bar (x+2,y+2,x+dx-2,y+dx-2);
        end;
end; }
function proverka(x1,y1,x2,y2,dx,dy:integer):boolean;
var r1:integer;
begin
  r1:=ym;
  if ((y2>y1) and ((y2-y1)<r1) and (x1>x2) and ((x1-x2)<dx)) or
   ((x2>x1) and ((x2-x1)<r1)) or
   ((y1>y2) and ((y1-y2)<r1+dy) and (x1>x2) and ((x1-x2)<dx)) or
   (((x2-x1)<dx) and ((x2-x1)<r1)) then
     proverka:=true
  else proverka:=false;
end;
 
procedure sbiv;
var x,y,i,j:integer;
begin
for i:=1 to n do
for j:=1 to m do
        begin
        x:=nx+(j-1)*dx;
        y:=ny+(i-1)*dy;
        if (lab[i,j]<>0) and proverka(x1,y1,x,y,dx,dy) then
                begin
                  hy:=-hy;
                  setfillstyle(1,0);
                  bar(x+2,y+2,x+dx-2,y+dy-2);
                  lab[i,j]:=0;
                {n:=n+1;
                schet(10,10,n);}
                end;
        end;
end;
 
procedure raketka(xr,yr,c:integer);
begin
  setfillstyle (1,c);
  bar (xr,yr,xr+100, yr+3);
end;
 
procedure dwig_raketka(x,y:integer);
begin
      w:=10;
      ch:=readkey;
      if ch=#0 then
         begin
            ch:=readkey;
            raketka(x,y,0);
            case ch of
                left: if x>w then  x:=x-w;
                right: if x<getmaxx-w then x:=x+w;
            end;
            raketka(x,y,1);
         end;
end;
 
procedure move_ball(var x,y:integer);
begin
      ball(x,y,r,0);
      y:=Y+dyb;
      x:=x+dxb;
     if (y>=ym-r)or(y<r) then
              dyb:=-dyb;
     If(x>=xm-r)or(x<r) then
              dxb:=-dxb;
//      if (y1<250) then sbiv;//(hy,nx,dx,dy,r1);
      ball(x,y,r,c);
              delay(10);
 
end;
procedure game;
begin
   cleardevice;
   zap_kirp;
   ball(xb,yb,r,c);
   raketka(xr,yr,1);
   repeat
     move_ball(xb,yb);
     sbiv;
    if keypressed then
        dwig_raketka(xr,yr);
   until  ch=esc;{ or (n1=32) or (life=0);}
 
end;
 
begin{ѓ«*ў**п Їа®Ја*¬¬*}
   gd:=detect;
   initgraph(gd,gm,'');
   randomize;
   c:=1+random(15);
   rt:=installuserfont('goth');
   load_image('strel',p_k);
   xm:=getmaxx;
   ym:=getmaxy;
   xr:=xm div 2;
   yr:=ym-100;
   r:=15;
   dxb:=10;//1+random(15);
   dyb:=10;//1+random(15);
   xb:=xm div 2;
   yb:=ym div 2;
   x0:=xm div 2;
   y0:=ym div 2;
   repeat
    menu(poz);
    case poz of
        1:help;
        2:game;
        3:exit;
     end;
  until poz=3;
 
 
 
closegraph;
end.
0
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
07.12.2010, 12:53  [ТС] 3
Ну уж явно не в хелпе! Хелп я потом заполню, это типо игрокам помощь.
И что подразумевается под математической моделью?
0
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
07.12.2010, 13:06  [ТС] 4
Математическая модель — приближённое описание какого-либо класса явлений внешнего мира, выраженное с помощью математической символики. Анализ М. м. позволяет проникнуть в сущность изучаемых явлений М. м.— мощный метод познания внешнего мира, а также прогнозирования и управления. Процесс математич. моделирования, т. е. изучения явления с помощью М. м

И что я должен исходя из этого сделать, что бы был не "fail"???

Добавлено через 5 минут
Цитата Сообщение от Antifаg Посмотреть сообщение
О, мальчик, как ты меня сейчас расстроил...
Еще больше, чем fail с "super boll" (для общего развития, а то в следующий раз себя педерастом назовешь и даже не заметишь)
Я знаю, когда писал ошибся, потом исправлю
0
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
07.12.2010, 13:08  [ТС] 5
Допустим. И что?
0
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 71
07.12.2010, 13:20  [ТС] 6
Да есть всё. Всё описано, только не хватает чего то
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2010, 13:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Моя первая игра
Создал игру, есть ракета которая стреляет пулями, проблема в том что при нажатии на клавишу ПРОБЕЛ...

TowerDrot (моя первая игра)
Вот уже 5-й месяц пишу свою первую игрушку на XNA. Классическая towerdefense. Выложил демку с...

Моя первая игра на Unity
Делюсь концептом первой игры (файл apk!) Скажите, есть ли здесь что-то стоящее внимания? Стоит ли...

Моя первая консольная игра :D
Всем доброго времени суток! Сегодня я хочу показать вам свою первую игру, правда пока она работает...


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

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

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