Форум программистов, компьютерный форум, киберфорум
Наши страницы

PascalABC.NET

Войти
Регистрация
Восстановить пароль
 
 
Amirsultan
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 27
#1

Реализовать движение мяча более плавным - PascalABC.NET

09.04.2016, 14:34. Просмотров 627. Ответов 31
Метки нет (Все метки)

Вот код:
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
Program game;
uses crt,GraphABC;
const
speed=1;
var x,d,c,y: integer;  a:char;
begin
     LockDrawing;
     x:=51; d:=1; y:=576; c:=2;
     while((x>50) and (x<800)) do
          begin
          x:=x+d;
          y:=y-c;
          setwindowsize(900,500);
          ClearWindow;
          line(0,318,1600,318);
          FloodFill(0,400,clred);
          circle(x+10,y-288,30);
       while y<490 do
            begin
            x:=x+d;
            x:=x+10;
            y:=y+100;
            Sleep(100) ;
            end;
            if keypressed then
            begin a:=readkey;
            if a=chr(72) then x:=x*2;
            end;
            Redraw;
    end;
    end.
P.S Я тот еще чайник в программирововании

Добавлено через 1 минуту
а и еще на if keypressed не обращайте внимания это место не доделано
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2016, 14:34
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать движение мяча более плавным (PascalABC.NET):

Изобразить движение мяча и отскакивание от стенок - Pascal
Проверьте программу, выводящую мяч (окружность красного цвета), катящийся по горизонтальной линии и отражающийся от вертикальных стенок...

Как реализовать одновременное движение многих объектов, один из которых управляется клавиатурой - Pascal
Скорость объектов разная (за один проход делают разное количество движений). Движения наложены на матрицу, так что движение тела должно...

Рисунок мяча в Pascal. - Pascal
Добрый день. Напишите пожалуйста программу, которая будет рисовать футбольный мяч летающий по футбольному полю(разметка футбольного...

Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов - PascalABC.NET
Дан двумерный массив, который содержит не более 20 строк и не более 5 столбцов. Найти минимальный элемент и поменять его местами со вторым...

Реализовать движение футбольного мяча после удара - Pascal ABC
Написать программу, реализующую движение футбольного мяча после удара(задается начальное положение мяча и вектор скорости) в процессе...

Как сделать движение объекта плавным? - C#
Как сделать движение объекта плавным. При передвижении объекта изображение немного дергается(двойная буферизация включена).

31
Amirsultan
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 27
17.04.2016, 12:11  [ТС] #31
Подключил, все работает но никаких изменений нету. Что бы он нормально двигался по диагонали нужно быстро нажимать на обе клавиши, а мне надо что бы при зажимании обоих клавиш он двигался по диагонали.
Кстате, как сделать аналог земной гравитации?

Добавлено через 3 минуты
Пойдет?
Pascal
1
2
3
4
5
Line(1,425,900,425);
while Player.Position.Y<425 do
begin
Player.MoveTo(Player.Position.X,Player.Position.Y+10);
end;
0
Amirsultan
0 / 0 / 0
Регистрация: 09.04.2016
Сообщений: 27
24.04.2016, 16:18  [ТС] #32
Ребята, кто знает как сделать обьекты, "твердыми" для мяча?
Кстате, вот сырая версия:
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
Program game;
uses
  graphabc;
 
var
  x, y: integer; //Координаты моего мяча - переменные
  f: boolean; //Логическая переменная
  
  Up:= false; // Логические переменные определяющие нажатие кнопки
  Right:= false;
  Left:= false;
procedure KeyDown(key: integer); //процедура KeyDown производит какое либо действие во время нажатия кнопки
begin
  case key of
    VK_Up: Up := true;
    VK_Right: Right := true; // Присваивает ИСТИНУ переменным во время нажатия стрелок
    VK_Left: Left :=true;
  end;
end;
 
procedure KeyUp(key: integer);//процедура KeyUp производит какое либо действие во время отжатия кнопки
begin
  case key of
    VK_Up: Up := false;
    VK_Right: Right := false;//Присвоение ЛЖИ переменым во время отжатия стрелок
    VK_Left: Left :=false;
  end;
end;
 
begin //Начало тела программы
  x := 50;//Начальные координаты мяча
  y := 400;
  f := true; //Присваивание истины для выполнения цикла
  onkeydown := KeyDown; //Присвоение оригин/ой процедуре более простое название
  OnKeyUp := KeyUp;
  lockdrawing; //Оператор анимации
  repeat  //Цикличная анимация
    Window.Clear;
    SetBrushColor(clyellow); //Цвет мяча
    circle(x,y,25); //Сам мяч
    Rectangle(400,325,500,350);
    Line(1,425,900,425); //Линия "земли"
    if y<=396 then    //Аналог гравитации
    y:=y+4; 
    sleep(40);
    if Up then y := y-8; //Если UP/Right/Left - ИСТИНА то изменяет координаты мячика
    if Right then x := x+4;
    if Left then x:=x-4;
    redraw; // Оператор анимации
  until not f; //Окончание цикла
end.//конец
0
24.04.2016, 16:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2016, 16:18
Привет! Вот еще темы с ответами:

Движение мяча - Delphi
Здравствуйте, помогите создать приложение, в окне которого отображается анимация — движение мяча, брошенного под острым углом к горизонту.

.NET 4.x Движение мяча - C#
Привет, знатоки windows forms!:) Мне нужно написать простую программу, в которой в форме существует один об'ект (picturebox либо...

Как сгладить пики на графике чтобы он выглядел более плавным? - MathCAD
Здраствуйте! Подскажите пожалуйста, как сгладить пики на графике чтобы он выглядел более плавным? Но чтобы при этом не изменялся...

Построить движение баскетбольного мяча - Turbo Pascal
Привет,может у кого осталось программа ,про данной модели. Что нить подобное,буду благодарен ,Вот данные Икс 0 = 0 Игрек = 2,5 ...


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

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

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