IPB
ЛогинПароль:

> 

Начальные контакты ТОЛЬКО через личку!!

 
Closed Topic Открыть новую тему 
> Помогите игру написать!, игра *ловушка*
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 139
Пол: Мужской

Репутация: -  0  +


Игра: c верхней части экрана падают шары. Управляя ловушкой, игрок должен собрать как можно больше шаров за одну минуту. С течением времени плотность падения шаров уменьшиться, а скорость увеличивается. По истечении времени (1 мин.) на экран выводиться колво пойманных шаров.10 лучших храняться в файле и выводятся на экран по запросу пользователя.


помогите написать или найти похожий исходник!!!

<...>
возможно аплата н разумная!

Сообщение отредактировано: volvo -


--------------------
ЗДЕСЬ МОГЛА БЫТЬ ВАША РЕКЛАМА!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Какой компилятор будешь использовать?


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Цитата(punkska @ 15.05.05 12:56)
возможно аплата н разумная!

Нет уж... "Возможно - да, возможно - нет" не пойдет... Если готов платить деньги, я перенесу тему в "Задачи на заказ". Там и восстановишь ICQ #...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


Вот набросок:
Исходный код
Uses keyBoard;

Type TScreen = array[1..64000] of byte;
PScreen = ^TScreen;

TPoint = record
x,y:integer;
end;

points = array[1..255] of TPoint;

Const trapY = 190;
BalloonMaxY = 200;
startBalloonY = 1;
minX = 5;
maxX = 315;
TrapSpeed = 2;

Var balloons : ^points;
trap : TPoint;
score : word;
balloonScorePlus : word;
balloonScoreMinus : word;
level : byte;
nowBalloon : byte;
BalloonLength : word;
balloonStep : byte;
keys : array[1..5] of byte;
nowKey : array[1..10] of byte;
keyNum : byte;
exit : boolean;

Procedure initMCGA;
begin
asm
mov ax,0013h
int 10h
end;
END;

Procedure PutPixel(x,y:integer;col:byte);
begin
asm
mov ah,0Ch
mov al,[col]
mov cx,[x]
mov dx,[y]
mov bx,[1]
int 10h
end;
end;

function length(x1,y1,x2,y2:integer):longint;
begin
length:=round(sqrt(abs(sqr(x1-x2))+abs(sqr(y1-y2))));
end;

Procedure setStartPos(A : Tpoint);
begin
A.x:=random(maxX-minX)+minX;
A.y:=startBalloonY;
end;

Procedure drawBalloon(x0,y0:integer);
begin
PutPixel(x0,y0,50);
end;

Procedure drawTrap(x0,y0:integer);
begin
PutPixel(x0,y0,45);
end;

Procedure clearBalloon(x0,y0:integer);
begin
PutPixel(x0,y0,0);
end;

Procedure clearTrap(x0,y0:integer);
begin
PutPixel(x0,y0,0);
end;


Procedure deleteBalloons;
Var i:integer;
begin
i:=0;
While i<>nowBalloon do begin
i:=i+1;
If length(trap.x,trap.y,balloons^[i].x,balloons^[i].y)<=balloonLength
then begin
setStartPos(balloons^[i]);
If (65535-score)>balloonScorePlus then
score:=score+balloonScorePlus
else
score:=65535;
end;
If balloons^[i].y>startBalloonY then begin
setStartPos(balloons^[i]);
If score>balloonScoreMinus then
score:=score-balloonScoreMinus
else score:=0;
end;
end;
end;

Procedure balloonsDraw;
Var i:integer;
begin
i:=0;
While i<>nowBalloon do begin
i:=i+1;
drawBalloon(balloons^[i].x,balloons^[i].y);
end;
end;

Procedure balloonsClear;
Var i:integer;
begin
i:=0;
While i<>nowBalloon do begin
i:=i+1;
ClearBalloon(balloons^[i].x,balloons^[i].y);
end;
end;

Procedure balloonsStep;
Var i:integer;
begin
i:=0;
While i<>nowBalloon do begin
i:=i+1;
balloons^[i].y:=balloons^[i].y+balloonStep;
end;
end;

Procedure ReNewScoreState;
begin
end;

Procedure reNewKeys;
begin
While Mkeypressed do begin
If KeyNum=10 then break;
KeyNum:=KeyNum+1;
nowKey[keyNum]:=Mreadkey;
end;
end;

Procedure keysEvents;
begin
While KeyNum<>0 do begin
Case nowKey[keyNum] of
left : Trap.x:=Trap.x-TrapSpeed;
right : Trap.x:=Trap.x+TrapSpeed;
Esc : exit:=true;
end;
keyNum:=KeyNum-1;
end;
end;

Procedure initGameState;
Var i:integer;
begin
new(balloons);
trap.x:=150;
trap.y:=trapY;
score:=0;
balloonScorePlus:=1;
balloonScoreMinus:=2;
level:=1;
nowBalloon:=2;
BalloonLength:=5;
balloonStep:=1;
keyNum:=0;
exit:=false;
i:=0;
While i<>255 do begin
i:=i+1;
setStartPos(balloons^[i]);
end;
end;


begin
initMCGA;
initGameState;
While not(exit) do begin
Balloonsdraw;
drawTrap(Trap.x,Trap.y);
deleteBalloons;
reNewScoreState;
reNewKeys;
keysEvents;
Balloonsclear;
clearTrap(Trap.x,Trap.y);
end;
end.


(не реализованно сохранение лидеров, жизней и процедура length глючит)

Сообщение отредактировано: volvo -


Прикрепленные файлы
Прикрепленный файл  UNIT.rar ( 1009 байт ) Кол-во скачиваний: 238


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Бывалый
***

Группа: Пользователи
Сообщений: 247
Пол: Мужской

Репутация: -  1  +


неча на length пенять коли руки кривы


--------------------
In byte we trust
ICQ World.ru
mail[dog]digitalator[dot]com
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Бывалый
***

Группа: Пользователи
Сообщений: 179
Пол: Мужской

Репутация: -  1  +


:fire: Это всего лишь набросок, написанный за 45 мин!!!


--------------------
Доброго времени суток.
:nnn:
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Дож,
исправь программу (выложи доп. модуль для того, чтобы программа скомпилировалась), иначе я ее просто удалю. (Читай правила)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гость






Ребят, я с челом уже договорился решить за WMZ, так что не решайте, pls. blink.gif

Ок, закрываю тему... ;)

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 22.12.2024 13:42
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name