| Sybreed |
Сообщение
#1
|
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 1 |
Зацените игрушку. Писал давно, ради интереса. AI не очень сильный, но меня порой обыгрывает :) управлять можно как мышкой так и клавиатурой. В исходнике много комментариев (даже наверное чересчур), зато нетрудно понять как она работает.
Прикрепленные файлы
CHESS.PAS ( 39.11 килобайт )
Кол-во скачиваний: 3620 |
![]() ![]() |
| IUnknown |
Сообщение
#2
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Ада: Разработчик Embarcadero Delphi: Сторонник Free Pascal: Разработчик Репутация: 627 |
Sybreed
Цитата клавиатура и мышь и так прекрасно работают, что там оптимизировать? Там еще до оптимизации работы полно. Начнем с того, что у тебя вообще не проверяется наличие мыши (я понимаю, что найти сейчас компьютер без мыши - невозможно, но прежде, чем работать с чем-то ты обязан убедиться в его наличии). Инициализации мыши тоже нет (и не надо опять говорить, что оно и так работает. Где-то сработает, где-то нет).Строка 1116. if not changed then ... А что, Changed где-то инициализировалась? Не вижу этого в коде. Никогда не оставляй неинициализированных переменных (то, что это и так работает - не аргумент. Это неправильно, обращаться к переменной, инициализация которой тобой произведена не была). По поводу "оптимизировать". Я бы не разделял события от клавиатуры и от мыши. То есть, разделять их, конечно, надо, но не в основной программе. Пишется отдельный модуль, который обрабатывает твои действия с клавиатурой и мышью, и возвращает, какое событие произошло, а в основной программе ты просто ждешь наступления любого события из тех, которые возвращаются модулем, и обрабатываешь его. Это упростит код. Опять же, зачем понадобилось эмулировать движение мыши по экрану, с необходимостью отрисовки ее "курсора" через putimage, если драйвер позволяет вообще не заботиться об этом, задать графический курсор любой формы и все движение будет происходить автоматически, все, что останется - "гасить" курсор перед обновлением экрана, и "зажигать" после обновления? Тут есть все, что нужно для реализации подобного поведения. Сообщение отредактировано: IUnknown - |
Sybreed Игра ШАХМАТЫ 24.08.2011 4:30
Lapp Зацените игрушку. Писал давно, ради интереса. AI н… 24.08.2011 11:09
Lapp Кажется, я понял, почему замена 4 на 5 не принесла… 25.08.2011 12:19
Sybreed мм... ну отрисовку я улучшил как мог, сначала пыта… 26.08.2011 0:10
Lapp мм... ну отрисовку я улучшил как мог, сначала пыта… 26.08.2011 13:54
Lapp Никогда не оставляй неинициализированных переменны… 26.08.2011 16:03
TarasBer > Начнем с того, что у тебя вообще не проверяет… 29.08.2011 14:01
IUnknown Открою тебе тайну: в современном мире программисты… 29.08.2011 14:12
TarasBer > Но к тебе это, разумеется, не относится - ты … 29.08.2011 14:24
TarasBer В общем я, как и обещал, посмотрел игру дома. Крут… 5.09.2011 13:29
Рамз)
Зацените игрушку. Писал давно, ради интереса. AI … 30.10.2011 16:39
Lilit у меня игра не работает....((((что делать???? 19.09.2013 20:48
Sybreed отписываюсь о некоторых ошибках, которые нашел в ш… 23.11.2014 21:12![]() ![]() |
|
Текстовая версия | 6.11.2025 23:39 |