![]() |
![]() |
blackhard |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 151 Пол: Мужской Реальное имя: иван Репутация: ![]() ![]() ![]() |
хочу написать простую игру (дано допустим 2 танка 1 управляется пользователем а 2 компьютером ) в ходе написания возник ряд вопросов 1) как сделать чтобы одновременно выполнялось несколько действий допустим я стреляю и пока летит снаряд я хочу переместить свой танк а враг может попытаться увернутся от снаряда.на данном этапе написания когда я стреляю я не могу переместить танк пока не далетит снаряд.2)как установить границы экрана чтобы танк не заезжал за границы и вообще как разграничить экран я пробовал спомощью setviewport но чето ничего не получилось.
вот то что я уже написал набрОсал танки 1им из них можно управлять стрелками и стрелять на пробел выход на esc.танки я нарисовал линиями чтоб легче было работать с координатами program igra;объяснити хоть на словах как сделать то о чем я написал.спасибо! |
![]() ![]() |
spill |
![]()
Сообщение
#2
|
Пионер ![]() ![]() Группа: Пользователи Сообщений: 58 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот твои ошибки:
1. Используй Randomize один раз в начале программы, или числа не будут случайными 2. Переменная D в процедуре MOVE1 - ЛОКАЛЬНАЯ! то есть при каждом вызове она создается заново и ее значение не определено. Сделай ее глобольной Добавлено через 19 мин. И вот еще что надо бы переделать. Анимация делается по-другому. Алгоритм: 1. Пересчитать координаты 2. Нарисовать объект 3. Подождать 4. Стереть У тебя должны быть такие процедуры: 1. Нарисовать объект в определенных координатах Draw (X, Y). Если хочешь, чтобы противники были разного цвета, или еще как различать, можешь передавать еще и цвет. 2. Стереть объект в определенных координатах Cleare (X, Y) 3. Пересчитать координаты противника MovePr Тут, в зависимости от переменных T и D пересчитываешь координаты, но НЕ рисуешь. И общий алгоритм: 1. Нарисовать оба танка 2. Цикл 2.1. Пересчитываешь координаты 2.1.1. Читаешь клавиатуру 2.1.2. Вызываешь MovePr 2.2. Рисуешь оба танка 2.3. Ждешь 2.4. Стираешь оба танка в текущих координатах Такой алгоритм применяется почти во всех подобных программах |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 8:34 |