Ronny
Moderatot
Moderator
Inlägg: 342 | |
|
Sv:Re:Möjlighet att kunna spela online schack här. - 2010-10-10 17:13
Oj, ser att det här förbättringsförslaget var bland de första som skrevs 2008-03!
Att programmera en sådan funktion är ett relativt omfattande och komplext projekt.
Grov beskrivning av schackklienten: - Vara helt baserad på standard webläsarteknik (html/css/javascript) - Ingen installation behövs. - Vara lättdriven, kunna köras även i telefoner via webb. - Regelmotor ligger i klienten. - Endast giltiga drag kan utföras. - Kommunikation mot server sker genom ajax-anrop. - Att som gäst kunna se andra pågående partier live. - Ställbar tidsintervall. - Alla partier sparas i databas. - Sparas som PGN eller FEN till klienten. - m.m
Men nu är jag på G i alla fall. Började med att skriva något så enkelt som att få upp ett bräde med pjäser som gick att flytta runt. Insåg ganska snart att konstruktionen av programmet hade för dålig grund för att kunna utvecklas vidare.
Så skrev jag om i stort sett hela programmet med lite andra ideer, tids nog tyckte jag att även det inte var rätt modell.
Nu är jag inne på tredje konstruktionen, och känner att jag har hittat en modell som jag verkligen känner för.
I tredje modellen så separerades html/presentationslagret och schackmotorlogiken helt.
Ett stort framsteg var också att representationen av schackbrädet i minnet sker efter en metod som kallas 0x88, enkelt uttryckt så lägger man två bräden bredvid varandra, så man får rutor från 0 till 127. Men endast ena halvan används. Detta är mycket listigt då man med enkel boolesk logik bitvis kan avgöra om en pjäs flyttats utanför brädet exempelvis.
Representation av pjäser sker också med binär teknik, allt detta för att på snabbast möjliga tid kunna hitta vilka legala rutor en pjäs kan flytta till. Ex. när man flyttar en pjäs till någon ruta så måste man inom bråkdelen av sekund få ett svar på (ifrån regelmotorn) om det var ett giltigt drag eller ej.
Så en hel del programmering har skett utan att det syns på brädet än. Senare när regelmotorn är klar så går jag vidare med att lägga till resterande rent grafiskt, även kommunikationen med servern kommer senare.
mvh //Ronny
Pröva alltid med en schack först |