Шах програма

24 отговора 1039 прегледа
#1

Шах програма

В клуб "Шах" на [линк] някой изяви желание да пише шах-програма. Там поставих въпроса какво мислят хората за евристична функция за "окастряне" на дървото на възможните ходове. Не съм получил още задоволителен отговор. Искам да ви питам какво мислите вие за следната задача.

Да се опише клас на Паскал за Делфи 5.0, със следните методи
1 EnterPos - въвеждащ позиция от външната за класа среда и страна (бели или черни) която е на ход
2 NewPos - генериращ списък с всички възможни ходове за страната която е на ход
3 Heuristic - евристична функция с аргументи - позиция и ход и резултат цяло неотрицателно число (нула или положително), такова, че за по-добрите ходове резултата да е по-голямо число.

Оценка на програмата:
1 За 10 произволно избрани шахматни задачи - средното място на което е първия ход на решението, евентуално сред мащабиране (все пак не е все едно 3-то място от 5 възможни хода или 5-то от 25)
2 Скорост на Heuristic и NewPos
3 Размер на "дъската"

Отговор
в отговор на ДъpвeнФилocoф #2

Re: Шах програма

Kakvo razbirash pod "razmer na dyskata"? Ako e 10x10 peshkite shte sa po 10, OK, ami kakvi novi figuri shte slojish otzad?

Отговор
в отговор на Potencialen emigrant #3

Re: Шах програма

Как какви? Пешки, царици, топове, от всичко по-малко. И няколко резервни царя. Ако му матират единия, продължава да играе с останалите. Направо fault tolerance в действие.

Отговор
в отговор на ДъpвeнФилocoф #4

Re: Шах програма

ти си роден за шеф бре.

> Не съм получил още задоволителен отговор.
хохо. що не си завреш тази задача отзад?

а за класа - това не е клас, това е СПИСЪК ОТ ТРИ НЕЩА. Нещо, което се пише в Word...

Отговор
в отговор на Potencialen emigrant #5

Правила

Вземи да прочетеш една книжка как и на каква дъска се играе шах. Имах предвид размера на представянето на позицията в паметта. Съжалявам за недоразумението - предположих, че кавичките са достатъчни ...

Отговор
в отговор на xoxo #6

Re: Шах програма

Кое не е клас? Къде съм казал "е тва е клас тука"?

Отговор
в отговор на ДъpвeнФилocoф #7

Re: Шах програма

a na DELPHI3 mojeli?
i obektite(klasovete) zadaljitelni li sa?

nema da sedna da pisa de! samo se zaiajdam! :-)

Отговор
в отговор на ДъpвeнФилocoф #8

Re: Шах програма

da - ti nishto ne si kazal.

[линк], Search -> "Chess".
Moje i Search -> "Chess and Delphi and (3 or 4 or 5 or 6) and "stupid class""

Отговор
в отговор на ДъpвeнФилocoф #9

Re: Шах програма

Sqdam da pisha vednaga i sled chas i polovina, ako ne mi se schupi klaviaturata shte ti pratq reshenieto. Ako mi vqrvash, mi prati tvoj e-mail addr, ICQ # i edna majna - che da znam de da pratq pri nujda. Ako pyk ne mojesh da mi pratish adrr na shefa si, che da mu pisha az s kvi neshta se zanimavash, na mesto da si vyrshish rabotata. Ako otgovora pyk ne e "задоволителен" mojesh da izpolzvash drugi sredstva za celta.
Aide i ako se poqvi i druga zadachka zakachka izobshto ne se stesnqvaj da q kajesh, che da mogat sichki v kluba da izpitat udovolstvieto da ti pomognat, 4ei ti da si zadovolen.
Ne mi blagodari molq.

"We, who are not as others"
Отговор
в отговор на CALL-151 #10

Демокрация

Демокрацията демократична дело на всеки - може бе, само да не е Паскал да под DOS и да е преносимо
Пък не те карам да пишеш решение - кажи какво мислиш за задачата

Отговор
в отговор на Machie #11

Re: Шах програма

Шефа тука няма нищо общо. Не, че те карам да я решаваш, ама можеш да я пуснеш в клуба. Кажи за задачата какво мислиш, остави решението, ако не можеш да я решиш ...
Няма сега да ти благодаря щом не щеш я

Отговор
в отговор на ДъpвeнФилocoф #12

Re: Шах програма

Syjalqvam - ne sam q reshaval zadachata. Interesna e, no ima dosta za pomislqne. Edva li nqkoj she q prieme naseriozno. I opredeleno e interesno da se pozaqdeme za neq :).

"We, who are not as others"
Отговор
в отговор на Machie #13

Re: Шах програма

Прав си - никой не я приема на сериозно. Дори в един друг клуб лично модератора взе да ми чете лекция, че имало разлика между алгоритъм - нещото което в същност ми било трябвало (брех, да му се не види - кой му е казал) и реализация, а също и че алгоритъма не зависи от конкретния език за програмиране.

Отговор
в отговор на ДъpвeнФилocoф #14

Re: Шах програма

Прав е бил модератора ... А и ти какво очакваше да ти каже?! Ако търсиш конкретна реализация - забрави. И сам знаеш, че е трудно и никой не би седнал да ти го напише в свободното си време. Друг е въпроса ако търсиш идеи, насоки и/или съвети. Тогава (може би) просто трябваше да формулираш питането малко по-различно.

P.S. Лично мое мнение, не се заяждам.

Mixy
Отговор
в отговор на ДъpвeнФилocoф #15

Re: Шах програма

Tova che mnogo hora, otkrili po edin ili drug nachin toplata voda, a nqkoi -dori i koleloto - se opitvat da gi pokajat na drugarchetata si tuk e polojitelen faktor za prosperiteta na malkoto IT obshtestvo tuk, taka che az lischno se radvam. I zatova: daj moderatore (s smisal - ne gi iztrivaj) da ima oshte mnogo takiva postingi tuka. A pyk nali znaesh - ot topla - do topla voda - ima si razlika . Tova go znam ot edin eskimos, deto si kopuvashe hladilnik.

"We, who are not as others"
Отговор
в отговор на Mixy #16

Re: Шах програма

Очаквах да ми каже какво мисли за задачата, а не да ми рецитира учебник за първокурсници ...

Отговор
в отговор на ДъpвeнФилocoф #17

Относно "размера на дъската"

Ето ти едно възможно описание на дъската:
Предварително определен ред за описание на полетата, по две в байт;
БЕли фигури:
Пешка -0001
Кон -0010
Офицер -0011
Топ -0100
Царица -0101
Цар -0110
Черни фигури:
Пешка -1001
Кон -1010
Офицер -1011
Топ -1100
Царица -1101
Цар -1110
Празни полета - 0000 ако на ход са белите
- 1000 ако на ход са черните
Или общо 64полета по 4 бита = 32 байта;

Отговор
в отговор на Eдин #18

Re: Относно "размера на дъската"

Ще трябва да добавиш и понятията "преместван цар", "преместван топ", "пешка местена 2 хода".

Контрольорите приличат на Супермен.
Отговор
в отговор на Mixy #19

Re: Има конкретна реализация в

инсталационния пакет на Borland Pascal 6.0 и 7.0.

Отговор
в отговор на Colombino #20

Re: Относно "размера на дъската"

Верно не се бях сетил.
Значи (например):
старшия бит на първото свободно поле указва кой е на ход,
старшия бит на второто - местен бял цар, третотоместен един топ, и т.н.
Свободни полета - колкото искаш....
Ама не се сещам защо ти е да описваш "пешка местена две полета"

Отговор