| pashist |
19.07.2006 20:27
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: 0 |
Привет еще раз. Пишу игру Охотник на мышек=) Столкнулся с проблемой: как выполнять две процедуры одновременно? Ответ: никак =) Есть процедура, которая генерит вывод мышей на экран. Еще есть процедура, которая рисует охотника в центре экрана, которым нужно управлять. Но как управлять охотником, если уже выполняется процедура вывода мышей на экран? ReadKey не помогает, он останавливает программу в ожидании нажатия клавиши.
Второй вопрос, но тоже по теме. Чтобы убить мышку, нужно направить ружьё охотника на неё и нажать клавишу "Пробел". Как это можно реализовать в моём коде? " (Показать/Скрыть)
|
![]() ![]() |
| pashist |
24.07.2006 0:48
Сообщение
#2
|
|
Новичок ![]() Группа: Пользователи Сообщений: 44 Пол: Мужской Репутация: 0 |
Всем доброе время суток. Переписал алгоритм, используя GetImage. Сама по себе эта функция не устранила тормоза, но с ней работать оказалось гораздо удобнее.
Вот код: (Показать/Скрыть)
А теперь вопросы 1) Почему в коде For i:=1 To m Doв PutPixel i и j нужно поменять местами, чтобы мышка выводилась на экран не в перевернутом виде? То есть если я пишу PutPixel(i,j,Mouse^[i,j]);, то изображение выводится на экран, повернутое на 90 град. против часовой стрелки. 2) Так никто и не ответил на вопрос, как проверить то, что я правильно прицелился на мышь, когда выстрелил? Нужно сравнить углы положения ружья и мышки относительно центра, и если они будут равны, то я удачно прицелился? Так? Как это сделать? |
pashist Оптимизация алгоритма 19.07.2006 20:27
klem4 Видимо не верно ты ридкей юзать пытаешься ... Дела... 19.07.2006 21:15
pashist Это выход, но все равно скорости работы явно не хв... 20.07.2006 21:19
Бродяжник Вот это
PutPixel(xT,yT,0);
ЗЛО.
Злое злостное зло.... 21.07.2006 9:58
Гость Пишу именно лабораторку.. 21.07.2006 11:49
Бродяжник 2) Так, наверное, и сделать - сравнить углы. Нужно... 24.07.2006 9:20
pashist Mouse.dat-файл, содержащий матрицу 18х18=) Вот ген... 24.07.2006 9:32
Бродяжник Ну так вот:
в этом цикле
For i:=1 To n Do
Be... 24.07.2006 10:43
pashist Поменяй в этом цикле
For i:=1 To n Do
... 24.07.2006 11:41
volvo Правильно... у тебя индексы-то по-прежнему перепут... 24.07.2006 11:47
Бродяжник Тем более, что матрица-то квадратная, 18х18, так ч... 24.07.2006 11:57
pashist Спасибо! :) А как заюзать функу angle? Как пом... 24.07.2006 12:37
Бродяжник Ну...
Предположим, что режим 640 на 480. И начало ... 24.07.2006 13:27
pashist Опять косяк.. :( Я неправильно использую функу Ang... 24.07.2006 14:25
Бродяжник Отвечу завтра. Единственное замечание - стоит ли с... 24.07.2006 16:02
pashist Я так и хотел сделать, но сначала я хотел разобрат... 24.07.2006 16:22
Бродяжник Простой корявый пример, иллюстрирущий идею. 25.07.2006 11:23
pashist Круто! Бродяжник, спасибо! Вот, что пример... 25.07.2006 13:33
pashist Мужики, зацените мой первый опыт в ООП =) Переписа... 25.07.2006 19:15
pashist Переписываю мышь в ООП =) Написал с использованием... 30.07.2006 20:53
volvo Переписываю мышь в ООП =) Написал с использованием... 30.07.2006 21:54
pashist volvo, спасибо большое! Ты очень мне помог :) 30.07.2006 23:17![]() ![]() |
|
Текстовая версия | 8.12.2025 14:42 |