Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.032 c
1-1093798757
Stas_on
2004-08-29 20:59
2004.09.12
Как зарегистрировать своё расширение из Delphi


4-1090918020
aval0n
2004-07-27 12:47
2004.09.12
сообщения Windows


14-1093067803
syte_ser78
2004-08-21 09:56
2004.09.12
Вопрос по DMClient


11-1080553866
Неуловимый Джо
2004-03-29 13:51
2004.09.12
RegKeyGetValueNames


11-1080456464
puky
2004-03-28 10:47
2004.09.12
Как перетаскивать иконки в ListView ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский