Другие языки программирования и технологии
Не могу сделать игру в PascalAbc
Всем привет! Кто может помочь? Можете создать игру, где присутствует процедура. Игрок двигает стрелками ( влево и право ) и ловит квадраты. За каждый квадрат 10 очков ( чтобы очки тоже были показаны ). Спасибо
тебе повезло. я в позапрошлом веке написал демку, которая почти подходит под твои цели. надо только добавить квадраты которые надо ловить и расчет очков сделать. движение же стрелками уже готово
uses
graphabc, timers;
const
siz = 40;
usetimer=true;
var
x: integer := 1;
y: integer := 1;
cont: integer;
pole: array [0..7, 0..10]of byte := ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), (1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1));
t: timer;
procedure draw;
begin
if usetimer then t.stop;
LockDrawing;
pen.Color := clgray;
for var i := 0 to 7 do
for var j := 0 to 10 do
begin
case pole[i, j] of
0: brush.color := clgray;
1: brush.Color := clblack;
2: brush.Color := clred;
end;
Rectangle(j * siz, i * siz, j * siz + siz, i * siz + siz);
end;
Redraw;
inc(cont);
if usetimer then t.start;
end;
procedure d1(key: integer);
var
newx, newy: integer;
begin
newx := x;
newy := y;
case key of
37: newx := x - 1;
38: newy := y - 1;
39: newx := x + 1;
40: newy := y + 1;
27: Window.Close;
13:window.Save('1');
end;
if pole[newy, newx] = 0 then
begin
pole[y, x] := 0;
pole[newy, newx] := 2;
x := newx;y := newy;
if not usetimer then draw;
end;
end;
begin
cont := 0;
if usetimer then
begin
t := new timer(40, draw);
t.start;
end;
OnKeyDown := d1;
draw;
end.
uses
graphabc, timers;
const
siz = 40;
usetimer=true;
var
x: integer := 1;
y: integer := 1;
cont: integer;
pole: array [0..7, 0..10]of byte := ((1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1), (1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1), (1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1), (1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1), (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1));
t: timer;
procedure draw;
begin
if usetimer then t.stop;
LockDrawing;
pen.Color := clgray;
for var i := 0 to 7 do
for var j := 0 to 10 do
begin
case pole[i, j] of
0: brush.color := clgray;
1: brush.Color := clblack;
2: brush.Color := clred;
end;
Rectangle(j * siz, i * siz, j * siz + siz, i * siz + siz);
end;
Redraw;
inc(cont);
if usetimer then t.start;
end;
procedure d1(key: integer);
var
newx, newy: integer;
begin
newx := x;
newy := y;
case key of
37: newx := x - 1;
38: newy := y - 1;
39: newx := x + 1;
40: newy := y + 1;
27: Window.Close;
13:window.Save('1');
end;
if pole[newy, newx] = 0 then
begin
pole[y, x] := 0;
pole[newy, newx] := 2;
x := newx;y := newy;
if not usetimer then draw;
end;
end;
begin
cont := 0;
if usetimer then
begin
t := new timer(40, draw);
t.start;
end;
OnKeyDown := d1;
draw;
end.
Ооо Балтспецфлот
Спасииибо
Ооо Балтспецфлот
Можно с тобой связаться в скайпе/дискорде?
Похожие вопросы
- Не могу сделать игру, так как не получается выучить программирование.
- Как сделать программу в pascalABC которая бы считала количество определённых слов в тексте?
- Дали задачу по С++ ,сделать игру "Кости"
- Можно ли сделать игру своими силами?
- Почему учетная запись администратор, но я не могу устанавливать игры, изменять тип учетной записи, ставить род. контроль
- программисты профи,помогите. как сделать игру какой двиг лучше и как с чего начать хочу игру про паркур
- Я могу взламывать игры, что-бы научиться программировать игры?
- Решили с друзьями сделать игру, но для начала хотя бы простую, програмистов среди нас нет.
- как сделать игру через блокнот
- На каком движке, бесплатно можно сделать игру про революцию?