Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Новая версия шашечной программы   Найти похожие ветки 

 
Mystic ©   (2004-08-09 12:01) [0]

В очередной раз восстановил алгоритм игры в русские шашки. В это воскресенье сделал интерфейс. Кому интересно:

Исходники: http://mystic2000.newmail.ru/DrSource.zip
Бинарники: http://mystic2000.newmail.ru/WinDraught.zip

Прошлая версия был более веселой. Исходники потеряны. Найти ее можно по ссылке:

http://www.listsoft.ru/programs/13904/

в этот раз намечается делать упор только на русские шашки (в крайнем случае на поддавки). Буду раз выслушать замечания, пожелания, и т. д.

Ну и пару вопросов --- никому online не попадались ресурсы и книги по шашкам, особенно по теории дебютов?


 
VMcL ©   (2004-08-09 14:11) [1]

>>Mystic ©  (09.08.04 12:01)

По интерфейсу:

Было бы неплохо всё-таки шашки не просто кликать, а таскать...
Всё, всё, закатываю губу :)


 
Думкин ©   (2004-08-09 14:17) [2]

А где запись ходов?
А почему они сами с собой так быстро играют?
Ну и таскать конечно, было бы неплохо.


 
VMcL ©   (2004-08-09 14:25) [3]

+ масштабирование игрового поля при изменении размеров окна


 
Mystic ©   (2004-08-09 14:46) [4]

Запись ходов пока не сделана.

По поводу перетаскивания... Как его лучше организовать, если есть несколько ударов с одного поля на второе? Останавливаться по пути? И еще... если, например, шашки стоят белые c1, черные b2, b4, d2, d4. После взятия с1:a3:c5:e3:c1 я возвращаюсь на исходную позицию. Если перетаскивать шашку с одного поля на это же самое, то возможен вариант как "отмена хода", так и "выполнить ход". К тому же при взятии перетакиватьвсякий раз шашку на поле взятия неудобно... В общем я поэтому отказался от перетаскивания... Могу в принципе попытаться то реализовать... Но в других шашках мне не нравилось, что при взятии трех-пяти шашек противника надо совершить кучу перетаскиваний...

А почему они сами с собой так быстро играют?

Можно уровень увеличить... Будут играть медленее...

Кстати, как уровень игры? Можен новичка чуть посильнее сделать?


 
Думкин ©   (2004-08-09 14:52) [5]

> [4] Mystic ©   (09.08.04 14:46)

Мне и новичка хватит. Я в шахматы с детства не умею, или играл мало.

Но ведь можно задержку сделать? А то они сами с собой за секунду - шлеп и все. Опционально.

Перетаскивание, да. Особенно если время критично.

А кто ходок - не видно.


 
}|{yk ©   (2004-08-09 14:58) [6]

>Но в других шашках мне не нравилось, что при взятии трех-пяти шашек противника надо совершить кучу перетаскиваний

А если есть два варианта боя?

---
Жук - наш президент


 
Mystic ©   (2004-08-09 15:11) [7]

}|{yk ©   (09.08.04 14:58) [6]

У меня после того, как выбрана шашка, которой выполнятеся ход, можно указать сразу поле, где она завершает ход. Если указаная последовательность определяет ход однозначно, то этот ход выполняется...


 
DK   (2004-08-09 15:15) [8]

Какая-то дерьмовая программа - выйграла у меня.


 
nikkie ©   (2004-08-09 15:18) [9]

не надо новичка сильнее. наоборот бы :))

выбирать ход кликами - нормально. только хорошо бы отмечать кликнутые поля. и когда противник сделал ход - отмечать поля, по которым он прошел. опционально - ход анимировать. как в WinBoard, в общем.


 
}|{yk ©   (2004-08-09 15:22) [10]

Упс...
Играл, играл, вылетела вместе с Delphi


 
default ©   (2004-08-09 15:25) [11]

бегинера можно и посильней сделать, ходы плавнее, и графика уж юольно убога...вообщем лучше сделать наподобие в WinMe


 
default ©   (2004-08-09 15:27) [12]

самое главное сделать чтоб можно было участникам форума друг с другом играть вот это веселёха будет!


 
Mystic ©   (2004-08-09 15:41) [13]

не надо новичка сильнее. наоборот бы :))

Уровень, кстати, можно подправить перекомпиляцией или ResHacker-ом. У менюшек свойство Tag отвечат за силу игры. Коэффициент внутрениий, не думаю, что интересно, что он обозначает. Для Beginer-а установлено в 30, для Expert в 60.

Когда я написал свои первые шашки под DOS на x286, то на эксперте уровень был 30. Времена (и машины) меняются... А алгоритм почти не изменился...


 
Mystic ©   (2004-08-09 22:12) [14]

Версия 0.1.0.3 (2004-08-09)

[+] Добавлена анимация при перемещениях шашек.
[+] Упрощен уровень Beginer и Intermediate


 
VMcL ©   (2004-08-09 23:32) [15]

>>Mystic ©  (09.08.04 22:12) [14]

При отстуствии наличия файла WinDraught.lib вылетает с Runtime error 217.

Предлагаемые исправление (после беглого осмотра пациента):
GameTactics.pas

procedure LoadLib(FileName: string= "");
//...
 try
   Temp.LoadFromFile(FileName);
 except
 end;



MainUnit.pas

procedure TMainForm.FormCreate(Sender: TObject);
begin
 FMode := mdMachineBlack;
 Memo.Clear;
 DoubleBuffered := True; // Тоже, кстати, не помешает

 if Lib.Count = 0 then
 begin
   MessageDlg("Library error.", mtError, [mbOK], 0);
   PostQuitMessage(0);
 end;

end;


 
default ©   (2004-08-10 00:08) [16]

думаю нужно сетевые делать
кому интересно с компом играть...
и лучше правила как в WinMe
думаю стоит устроить голосование по правилам


 
GanibalLector ©   (2004-08-10 01:24) [17]

Что-то мне говорят,что архив с исходниками поврежден,млин.Хотя бинарник нормально распоковался.Чем паковал???Может на мылА вышлите,а то уж больно софтинка понравилась...хочу посмотреть КАК.


 
GanibalLector ©   (2004-08-10 01:53) [18]

2 Mystic
Большая просьба...вышлите мне на мылА исходник. Talla2k#ukr.net

З.Ы. Мы ж вроде как земляки.


 
Mystic ©   (2004-08-10 12:21) [19]

Исходники отправил. Про ошибку с библиотекой тоже исправлю.


 
VMcL ©   (2004-08-10 12:49) [20]

По поводу DoubleBuffered. Я не так написал. DoubleBuffered нужно фрейму поставить, а не форме, хотя форме тоже можно.


 
Mystic ©   (2004-08-10 12:54) [21]

По поводу DoubleBuffered. Я не так написал. DoubleBuffered нужно фрейму поставить, а не форме, хотя форме тоже можно.

Поставить-то можно. Только я про нее не знал и реализовал все руками... Точнее выбрал TImage как компонент, буферизирующий вывод... Если я правильно понимаю --- не силен в GDI.


 
VMcL ©   (2004-08-10 13:13) [22]

>>Mystic ©  (10.08.04 12:54) [21]

У TImage нету двойной буферизации. Для убирания мерцания можно класть TImage на TWinControl, а у него уже есть св-во DoubleBuffered. AFAIR, у тебя TImage на TFrame лежит. Значит, можно TFrame"у поставить DoubleBuffered := True и мерцание исчезнет.


 
Dmitriy O. ©   (2004-08-10 13:32) [23]

Зачем в очередной раз изобретать велосипед ? Этих шашек море !
Вот хорошая игра включающая в себя море разных игр в том числе и хороше домино
http://voodoo.mcomm.ru/Archive/Games/DOMINO/HCBG_D.2_0/


 
Mystic ©   (2004-08-10 13:38) [24]

Честно говоря, я пока что не вижу мерцания. У меня вообще все изменения на канве TImage не отображаются до вызова TImage.Refresh. Так что какая-либо буферизация все же присутсвует.


 
Mystic ©   (2004-08-10 13:54) [25]

default ©   (10.08.04 00:08) [16]

думаю стоит устроить голосование по правилам


Ну... может и в футболе руководствоваться голосованием? Заявлено, что программа играет в русские шашки. Правила игры описаны, существует федерация русских шашек, которая проводит (или проводила в прошлом) турниры, ...

В WinME, скорее всего, реализован американский вариант --- чекерсы. Это совсем другая игра. Я потому и взялся писатьшашки, потому что в основно в нашей стране все играют в шашки, а программы я нашел только играющие в чекерсы.

Уровень игры своей программы на максимальном уровне я пока что оцениваю на I-II разряд... Но собираюсь над этим работать.

Dmitriy O. ©   (10.08.04 13:32) [23]

Этих шашек море !


Не так уж и море. Знакомым шашистам-любителям хорошие сильные программы не попадались... Я не претендую (пока?) на силу игры программы Plus600, или программы Агафонова, но над ними работают гросмейстеры и они платные. Есть более-менее приличная программка  http://www.listsoft.ru/programs/2066/ но она тоже шареварная... Я понимаю, что больших денег на этом не заработать, но тут играют роль вопросы другого план: от кодирования алгоритмов я получаю большое внутреннее удовлетворение (близкое к половому).

Могу добавить такую историю. Когда я выставил в сеть одну из своих версий (Мир шашек), я получил письмо от международного гроссмейстера по шашкам (фамилию, к сожалению, забыл, кажеться Саунин). Он очень положительно отозвался о моей программе, о различных ее возможностях (ввод позиции/редактирование, игра в различные виды шашек), отметил, что она хорошо играет в закрытых позициях (эта черта присуща всем программам --- счетная игра). Мы так пару писем пообсуждали эту тему, потом переписка прекратилась... Но положительный момент остался.


 
VMcL ©   (2004-08-10 14:09) [26]

>>Mystic ©  (10.08.04 13:54) [25]

>Этих шашек море !

Не обращай вниманий. Это завистники. Ну или, если хочешь успокоить Д.О., переименуй шашки в AvtoDraughts.


 
Dmitriy O. ©   (2004-08-10 14:14) [27]


>  Это завистники

Нет правда. У меня валялись 3-4 проги с шашками пока я их не потер Теперь одна но оченьхорошая. Хотя я больше в домино играю.


 
Mystic ©   (2004-08-10 21:56) [28]

Версия 0.1.0.7 (2004-08-10)

[+] Добавлен вывод ходов в партии
[+] Добавлено сохранение партии в область обмена
[+] Добавлена возможность отмены сделаных ходов
[*] Bugfix: При отсутсвии файла дебютной библиотеки выводился Runtine error. Теперь выводится понятное предупреждение.


 
VMcL ©   (2004-08-17 19:49) [29]

>>Mystic ©  (10.08.04 21:56) [28]

Эта... может возможность сетевой игры добавишь?


 
default ©   (2004-08-17 19:56) [30]

кому интересно играть с железякой?!...
надо сетевую делать однозначно!
на счёт правил - я думаю в WinMe более продуманные правила, справедливые что-ли


 
Igorek ©   (2004-08-17 21:13) [31]

2 Mystic
Насчет уровня игры. Насколько я понимаю он настраеивается числовыми значениями (пока только одним).
Так вот - сделай ползунки для каждого значения - от минимума до максимума (если он есть) - юзер сам под себя подстроит. Ну и сохранение настроек.


 
VMcL ©   (2004-08-18 10:01) [32]

>>default ©  (17.08.04 19:56) [30]

>на счёт правил - я думаю в WinMe более продуманные правила, справедливые что-ли

Не слов, одни выражения... [0] читал?
>в этот раз намечается делать упор только на русские шашки


 
mrcat ©   (2004-08-18 10:09) [33]

>Mystic
шахматы не пробовал делать ? интересно было бы посмотреть


 
Dmitriy O. ©   (2004-08-18 10:18) [34]

Играть по сети в шашки или шахматы это изврат.
Казаки вот класная  сетевая игруха


 
Mystic ©   (2004-08-18 10:30) [35]

шахматы не пробовал делать ? интересно было бы посмотреть

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

Скоро отпуск (в субботу начало), поэтому работа временно приостановилась. Собираюсь еще поискать книгу Литвиновича "Курс дебюта в русских шашках", чтобы усилить игру в дебюте...


 
VMcL ©   (2004-08-18 11:03) [36]

>>Mystic ©  (18.08.04 10:30) [35]

>чтобы усилить игру в дебюте...

Куда усиливать? Я и так с трудом в ничью свожу - чуть зазеваешься и получай фашист гранату... тьфу... дамку :-))


 
mrcat ©   (2004-08-18 11:11) [37]

Эта нехорошая программа даже на новичке выиграть не даёт :)


 
default ©   (2004-08-18 13:09) [38]

VMcL ©   (18.08.04 10:01) [32]
пожалуйста
только кому они нужны будут
кстати новичок-то не такой слабый...


 
Ann ©   (2004-08-18 13:21) [39]


> Я и так с трудом в ничью свожу - чуть зазеваешься и получай
> фашист гранату... тьфу... дамку :-))

Это точно! :)


 
esu   (2004-08-18 13:51) [40]

выиграл у бегиннера! Правда я запустил программу 2 раза на разных уровнях вложности, ну и играл белыми на бегиннере и черными на среднем ;)



Страницы: 1 2 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.032 c
14-1093455128
Ertong
2004-08-25 21:32
2004.09.12
Процесс System


3-1092680067
_Dragon
2004-08-16 22:14
2004.09.12
Обновление записей


3-1092641231
Ted
2004-08-16 11:27
2004.09.12
самая отказоустойчивая сетевая база


14-1093507742
pasha_golub
2004-08-26 12:09
2004.09.12
Заземление. ГОСТ


1-1093502707
Ven
2004-08-26 10:45
2004.09.12
DDE или OLE?