Игра...?!
Может кому-то не лень помочь мне с этой игрой в целом? Я пытаюсь создать жалкое подобие игры, которая находится по этой ссылке http://zhaba.ru/flash-games.php?page=190 . Вопрос жизни и смерти!!!
Помогите сделать такую штуку: пользователь клавишами "вверх" и "вправо" устанавливает длину и наклон линии (то есть траекторию полета шарика). Затем, после нажатия Enter, этот шарик должен пролететь по этой линии до её конца и упасть вниз в зеркальном отражении. Как это сделать?
Может кому-то не лень помочь мне с этой игрой в целом? Я пытаюсь создать жалкое подобие игры, которая находится по этой ссылке http://zhaba.ru/flash-games.php?page=190 . Вопрос жизни и смерти!!!
Сильно помочь несмогу... у меня что-то паскаль с графикой перестал фурычить, но кое что могу предложить:
1. Line(1,1,640,480) - нарисует линию по диагонали (во весь экран)
2. Circle(320,240,5) - примерно в центре экрана должен пофвится круг с радиусом "5"
3. Насчет "'вверх' и 'вправо'" тебе надо аски коды использовать (ASCII):
Var ch:Char;
...
ch:=ReadKey;
Case ch Of
#75:Write('Left');
#77:Write('Right');
#72:Write('Up');
#80:Write('Down');
#13:{Шарик полетел}
End;
Ну и еще можно добавить #27 - Escape, если потребуется выход из программы!
Помогите сделать такую штуку: пользователь клавишами "вверх" и "вправо" устанавливает длину и наклон линии (то есть траекторию полета шарика). Затем, после нажатия Enter, этот шарик должен пролететь по этой линии до её конца и упасть вниз в зеркальном отражении. Как это сделать?
Может кому-то не лень помочь мне с этой игрой в целом? Я пытаюсь создать жалкое подобие игры, которая находится по этой ссылке http://zhaba.ru/flash-games.php?page=190 . Вопрос жизни и смерти!!!
Как это траектория полета шарика - прямая??? Может быть прямая - это просто вектор, по которому расчитывается балистическая траектория? Иначе он "долитает" до конца прямой и резко по прямой идет вниз. Глупейшая игра бы вышла. Уточни условие своей задачи, но а даже если так, то что тебе не понятно?
Как это траектория полета шарика - прямая??? Может быть прямая - это просто вектор, по которому расчитывается балистическая траектория? Иначе он "долитает" до конца прямой и резко по прямой идет вниз. Глупейшая игра бы вышла. Уточни условие своей задачи, но а даже если так, то что тебе не понятно?
Понимаешь, у меня просто нет времени и мозгов делать так, чтоб шарик летел по балистической траектории, но может для Тебя это не составит особого труда?
Но если даже в случае с полетом по прямой - я не могу сделать так, чтоб шарик летел по указанной прямой.
А эта прямая у меня устанавливается так:
c:=20;
d:=300;
x:=c;
y:=d;
repeat
if keyPressed then begin
Dir:=readKey;
clearDevice;
case Dir of
#72: y:=y-2;
#77: x:=x+2;
end;
line(c,d,x,y);
end;
until (ord(Dir)=13);
Видимо, имеется в иду нечто вроде бильярда.
Имеется ввиду не бильярд, но возможно у Тебя есть его исходник?
Вообще, мне нужна какая-нибудь игра (но не змейка), выполненная на уровне немного лучше чайника.
А эта прямая у меня устанавливается так:
d:=300;
x:=c;
y:=d;
repeat
if keyPressed then begin
Dir:=readKey;
clearDevice;
case Dir of
#72: y:=y-2;
#77: x:=x+2;
end;
line(c,d,x,y);
end;
until (ord(Dir)=13);
Я думаю, что строка "if keyPressed then begin" будет здесь лишняя, ведь "Dir:=readKey;" итак уже ожидает нажатия клавиши, а с этой строкой цикл repeat повторяется НИЧЕГО не делая...
Я думаю, что строка "if keyPressed then begin" будет здесь лишняя, ведь "Dir:=readKey;" итак уже ожидает нажатия клавиши, а с этой строкой цикл repeat повторяется НИЧЕГО не делая...
Ну да, можно, только от этого шарик то не полетит:(
Я думаю, что строка "if keyPressed then begin" будет здесь лишняя, ведь "Dir:=readKey;" итак уже ожидает нажатия клавиши, а с этой строкой цикл repeat повторяется НИЧЕГО не делая...
Такой прием обычно используется для того, чтобы игра не ждала нажатия клавиши.
Но когда какая-нить клавиша все же нажата, чтобы игра смогла отреагировать.
Имеется ввиду не бильярд, но возможно у Тебя есть его исходник?
Вообще, мне нужна какая-нибудь игра (но не змейка), выполненная на уровне немного лучше чайника.
Да тут писать раз-два плюнуть. Траекторию расчитывай по школьной формуле: y=(g*t^2)/2; x=v*t
Изменяй время и вперед! Тебе нужно только с осями разобраться,но эта прога не "лучше чайника"
Имеется ввиду не бильярд, но возможно у Тебя есть его исходник?
Вообще, мне нужна какая-нибудь игра (но не змейка), выполненная на уровне немного лучше чайника.
Есть вот такая прожка написанная мной в энный лохматый год что-то близко к теме "шарики прыгают"...
под номером 14
http://tpascal.h15.ru/ish2.html
Может кому-то не лень помочь мне с этой игрой в целом?
В примерах Turbo/Borland Pascal была игра наподобие Arkanoid, называлась Breakout. В исходниках. Ищи.