Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Написание игр _ Скорость машинки

Автор: Vasya! 18.09.2006 19:33

Каким образом можно можно изменять скорость машинки с клавиатуры? Или по каким формулам это можно вычислить? А в частносити при отпускании клавиши газ вычисление затухания скорости?

Автор: volvo 18.09.2006 20:13

Ну, вариантов - то много... Вот один из них: отслеживаешь, пока кнопка нажата, в это время скорость прибавляется. (Лучше, конечно, сделать через ускорение, но это уже ты сам переделай)... Как только кнопку отпустили - скорость начинает уменьшаться (или меняется знак ускорения). Не забудь контролировать нулевое значение скорости, когда педаль газа отпускаешь, и машина останавливается, назад она ехать не начинает smile.gif

Вот простейшая имитация:

uses crt;
const
plusV = 1.2; { <-- Приращение скорости }
minusV = 0.4;

var
V: real;
ch: char;
stop: boolean;

begin
stop := false;
V := 100; { <--- Начальная скорость }
repeat

while keypressed do begin
ch := readkey;
case ch of
#27: stop := true;
else V := V + plusV;
end;
writeln('V = ', V:10:5);
end;

if not stop then
while not keypressed do begin
V := V - minusV;
if V < 0 then V := 0;
writeln('V = ', V:10:5);
(*
delay(10); { <-- это для случая компиляции в FPC }
*)
delay(3000); { <-- Используется с Turbo Pascal, возможно придется изменять }
end;

until stop;

end.

Жми любую кнопку, скорость будет увеличиваться, отпускай - уменьшится... Esc для выхода...

Автор: Vasya! 18.09.2006 21:50

Спасибо и за это.