IPB
ЛогинПароль:

> Игра ШАХМАТЫ
Sybreed
сообщение 24.08.2011 0:30
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской

Репутация: -  1  +


Зацените игрушку. Писал давно, ради интереса. AI не очень сильный, но меня порой обыгрывает :) управлять можно как мышкой так и клавиатурой. В исходнике много комментариев (даже наверное чересчур), зато нетрудно понять как она работает.


Прикрепленные файлы
Прикрепленный файл  CHESS.PAS ( 39.11 килобайт ) Кол-во скачиваний: 1556
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
IUnknown
сообщение 26.08.2011 11:25
Сообщение #2


a.k.a. volvo877
*****

Группа: Пользователи
Сообщений: 1 013
Пол: Мужской

Репутация: -  627  +


Sybreed
Цитата
клавиатура и мышь и так прекрасно работают, что там оптимизировать?
Там еще до оптимизации работы полно. Начнем с того, что у тебя вообще не проверяется наличие мыши (я понимаю, что найти сейчас компьютер без мыши - невозможно, но прежде, чем работать с чем-то ты обязан убедиться в его наличии). Инициализации мыши тоже нет (и не надо опять говорить, что оно и так работает. Где-то сработает, где-то нет).

Строка 1116.
if not changed then ...
А что, Changed где-то инициализировалась? Не вижу этого в коде. Никогда не оставляй неинициализированных переменных (то, что это и так работает - не аргумент. Это неправильно, обращаться к переменной, инициализация которой тобой произведена не была).

По поводу "оптимизировать". Я бы не разделял события от клавиатуры и от мыши. То есть, разделять их, конечно, надо, но не в основной программе. Пишется отдельный модуль, который обрабатывает твои действия с клавиатурой и мышью, и возвращает, какое событие произошло, а в основной программе ты просто ждешь наступления любого события из тех, которые возвращаются модулем, и обрабатываешь его. Это упростит код.

Опять же, зачем понадобилось эмулировать движение мыши по экрану, с необходимостью отрисовки ее "курсора" через putimage, если драйвер позволяет вообще не заботиться об этом, задать графический курсор любой формы и все движение будет происходить автоматически, все, что останется - "гасить" курсор перед обновлением экрана, и "зажигать" после обновления? Тут есть все, что нужно для реализации подобного поведения.

Сообщение отредактировано: IUnknown - 26.08.2011 12:08
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Sybreed   Игра ШАХМАТЫ   24.08.2011 0:30
Lapp   Зацените игрушку. Писал давно, ради интереса. AI н...   24.08.2011 7:09
Lapp   Кажется, я понял, почему замена 4 на 5 не принесла...   25.08.2011 8:19
Sybreed   мм... ну отрисовку я улучшил как мог, сначала пыта...   25.08.2011 20:10
Lapp   мм... ну отрисовку я улучшил как мог, сначала пыта...   26.08.2011 9:54
IUnknown   Sybreed Там еще до оптимизации работы полно. Начне...   26.08.2011 11:25
Lapp   Никогда не оставляй неинициализированных переменны...   26.08.2011 12:03
TarasBer   > Начнем с того, что у тебя вообще не проверяет...   29.08.2011 10:01
IUnknown   Открою тебе тайну: в современном мире программисты...   29.08.2011 10:12
TarasBer   > Но к тебе это, разумеется, не относится - ты ...   29.08.2011 10:24
TarasBer   В общем я, как и обещал, посмотрел игру дома. Крут...   5.09.2011 9:29
Рамз)   Зацените игрушку. Писал давно, ради интереса. AI ...   30.10.2011 12:39
Lilit   у меня игра не работает....((((что делать????   19.09.2013 16:48
Sybreed   отписываюсь о некоторых ошибках, которые нашел в ш...   23.11.2014 17:12


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 11.05.2024 23:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"