Mål (enkel): Ett luffarschack (3x3 rutor) med två svårighetsnivåer. Några andra regler som gäller? Att man måste välja en ruta som angränsar till en redan vald ruta osv? jag hade tänkt mig standardreglerna för luffarschack: Sitter med 3x3-varianten av luffarschacket, å försöker komma ihåg om detta att "inte sätta första i mitten", gäller "bådas" första drag? Hej Visst. Detta gäller ju i det gamla TicTacTo (3x3), Igen Igen Det var ämnat som svar till: Ska skiten funka i nätverk också eller kan vi nöja oss med single-player den här gången? Bäste Mr SvenPon, nu behöver ju inte det "ena" Hej Sven: varför tar du inte och ställer upp i tävlingen den här gången? 40x40 varianten skulle väl vara en lämplig utmaning för dig att implementera? Hejsan! Vad är det för bedömningskriterier? <br> Jag har samma funderingar som Niklas, vad bedöms och vem gör det? 40x40 är standard i tävlingssammanhang. Men man kan väl tänka sig 25x25 som alternativ.... >inom en radie av tre rutor >40x40 är standard i tävlingssammanhang. Men man kan väl tänka sig >25x25 som alternativ.... Precis... Jag bara menar att det är lite väl stort för skärmen med standardstorlek. om jag gör så här i min ocx: Skulle väl funka, men det är nog bättre att hålla sig till en storlek... En idé som kom upp bara, vore det inte bättre om du (Trash, eller någon annan) gjorde ett program som sedan anropa olika AI-moduler? Programmet skickar aktuell spelplan till modulen som returnerar nästa drag. På detta sätt kan man välja vilken modul man vill spela mot eller låta 2 moduler spela mot varandra... Tja, jag har en färdig... X-pos, Y-pos samt true/false för kryss / ring? Jag kör med lite egna beteckningar, och sitter just nu på jobbet, så jag kan inte maila den än. Hmm klart mycket intressant tävling. Nu har jag kodat mitt alster så att 0=tom, 1=ring och -1=kryss, Först vill jag veta vad det är ni snackar om när ni pratar om AI? (Artificiel Intiligens eller?) Hej! R-mus: tack johan för det svaret. Hehe, jo... om du lyckas med riktig AI blir du nog känd... =) Jag läste nu på framsidan: "Vinnaren kommer röstas fram av er" Innebär detta att det inte kommer bli någon "tävling" mellan programmen som har diskuterats i denna tråden? Vid en omröstning gissar jag att det programmet med bäst layout kommer gå som segrare, och då föversvinner ju lite av idén...att skapa en så bra algoritm som möjligt alltså. Jag har inte hunnit formulera alla regler än, men jag jobbar på det... Nepp, det har varit lite stillestånd med det pga lite varierande orsaker, jag skall fixa det så snart jag får tid över... Hur går det egentligen med tävlingen.. är den avslutad nu? Hur många bidrag kom in? Hej Spelar det nå'n roll vilket programmerings språk man använder?Ny tävling - luffarschack
Regler (enkel): Man skall kunna spela mot datorn och datorn skall
aldrig låta dig vinna (svåra nivån) alternativt skall man ha femtio
procents chans att vinna (enkla nivån).
Mål (svår): Ett luffarschack-spel med en spel plan på 40x40 rutor.
Regler (svår): Man skall få fem i rad för att vinna.
Gemensamma regler:
Datorn skall om möjligt vinna när den kan.
Varje deltagare får bara lämna ett förslag.
------------------
Detta tips kom in från Pontus Wång - Trash och jag tyckte det var ett riktigt bra förslag. Vad priserna är kommer jag presentera lite senare men detta är förutsättningarna.
Lycka till
/PelleSv: Ny tävling - luffarschack
/JohanSv: Ny tävling - luffarschack
3x3 = man får inte börja i mitten
40x40 = man får lägga sina "spelpjäser" högst tre rutor från närmaste
Båda:
ring börjar
man lägger "spelpjäs" varannan gång
Och som en komplettering föreslår jag att man i 40x40 versionen kanske skulle hitta på ngt bra standardiserat sätt för de olika programmen att kommunicera med varandra så kunde man köra en AI-turnering...
Så om nån har lust att bygga ett API för spelplan och kommunikation mellan programmen så vore det kul, på så vis kan deltagarna koncentrera sig på själva AI'n...Sv: Ny tävling - luffarschack
Sv: Ny tävling - luffarschack
Man kan aldrig förlora i detta spel om man vet "How To Do"
och spelar två spel .
Man får börja varsin gång, det blir oavgjort. töntigt
tycker
SvenSv: Ny tävling - luffarschack
men inte i det stora (40x40), som oxå finns som
alternativ i tävlingen. Sv: Ny tävling - luffarschack
Faktisk en djä.... underbar ide
Tänk om Vi kunde ställa upp två lag, på schack.
Och följa hela utvecklingen här hos Pelle.
Lag SvenPon vs Lag ............ ?
Så mailar vi dragen till varandra.Vi utser en lagkapten i varje lag
som har överinseende och beslutsrätt.
Då kommer det att hända att man låter datorn sköta dragen
Men !!! Lag SvenPon kommer att förvirra och slå datorn !!
mvh
SvenSv: Ny tävling - luffarschack
Que ?? > det gäller vem som än börjar.
Vad menar du ??
Verkar som du du tagit upp handsken,
Du får gärna börja, så kommer Vi igen
undrar
SvenSv: Ny tävling - luffarschack
2002-06-29 15:30:31 - ChristerGbg
Han undrade om sätta "i mitten regeln" gällde bara när ringar börjarSv: Ny tävling - luffarschack
Kanske dax att börja // R-musSv: Ny tävling - luffarschack
utesluta det "andra". Visst skulle det vara kul att
köra ett "parti över mailen", men ta inte "ifrån oss"
nöjet med denna Tävlingen, därför. Sv: Ny tävling - luffarschack
När du skriver "oss" är det Du och dina löss.
Du skall inte skriva i pluralis när du bara har täckning för 1
Flåt klart att ni får spela luffarschack.Jag ville bara utveckla.
mvh
SvenSv: Ny tävling - luffarschack
AI är faktiskt rejält svårt att få riktigt bra...Sv: <b>Ny tävling - luffarschack</b>
Tänkte fråga en sak... Slut datum?
Så jag vet om jag hinner att vara med eller ej ;)
Mvh
MarcusSv: <b>Ny tävling - luffarschack</b>
Svårighetsgrad, snabbhet, utseende?<br><br>
Jag märkte att den blir jäkla stor om man har 40 x 40... är det verkligen standardstorlek?<br><br>
Vad betyder tre rutor från närmaste?<br>
Får man lägga ett kryss tre rutor till vänster och tre rutor upp, som bilden under ?
<code>
---------
|X| | | |
---------
| | | | |
---------
| | | | |
---------
| | | |X|
---------
</code>
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
Jag är iaf övertygad om att layouten har större betydelse än AI-delen om det är en omröstning... (om man nu vill vinna, vilken inte är så kul om det är på sådana grunder...)
/JohanSv: <b>Ny tävling - luffarschack</b>
Man brukar räkna att tre rutor ifrån innebär inom en radie av tre rutor så det som du säger är ett giltigt drag.
Bedömningen bör ske baserat på AI'n, för att bedömma AI'n på alla spelen tänkte jag (håller på med) mig att man kan ha en OCX som innehåller spelplan, kommunikationsmöjligheter och regelkontroll så deltagarna bara behöver fokusera på den riktigt svåra delen...
*åsikter någon?*Sv: <b>Ny tävling - luffarschack</b>
Men om du har tre rutor upp och tre rutor åt vänster så blir ju det
sqrt(3*3+3*3)=4,2
rutor bort.... Tycker jag som är matematiskt lagd.
>man kan ha en OCX som innehåller spelplan, kommunikationsmöjligheter och regelkontroll
Fan också, då har jag lagt en halv dag i onödan... :-D
En sak som är lite dumt med att låta programmen spela mot varandra är att man kör med olika sorters regler. Dessa regler kan ju vara helt värdelösa men ändå vinna, eftersom de andra reglerna kan ha missat en pytteliten detalj... Vi måste nog köra alla mot alla för att det skall kunna vara någorlunda rättvist.
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
>Man brukar räkna att tre rutor ifrån innebär inom en radie av tre rutor så >det som du säger är ett giltigt drag.
Varför ha fasta storlekar? Är det inte smidigt att låta användaren välja storlek själv? Som jag ser det är det inte svårare att programmera...
/JohanSv: <b>Ny tävling - luffarschack</b>
Observera dock att vi måste ha en bestämd storlek om programmen skall kunna spela mot varandra.
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
Möjlighet för variabel storlek (properties) alternativt en DLL med ett separat fönster för spelplanen.
Testa om draget är giltigt eller inte
Returnera spelplanen i form av en array med integers där 0 = tom ruta, -1 = X och +1 = Ring
Ok? eller saknas ngt för att det skall bli rättvist?
Dessutom, om man testar AI'n så behöver man inte testa alla mot alla, om man kör en stege så kommer den slutgiltiga segraren att vara den bästa AI'nSv: <b>Ny tävling - luffarschack</b>
Vad gäller "stege" så vet jag inte riktigt vad du menar, men om du menar att man gör som i fotbolls-VM så tycker jag inte att det kommer bli rättvist.
Anledningen är att reglerna för hur ett AI fungerar kan vara väldigt olika, och det blir obalans mellan vad som är bra och dålig AI. Jag tänker naturligtvis inte likadant som du, och vi skulle därför skriva olika regler.
Även om din hade slagit alla andra och min hade förlorat mot alla andra så skulle min kunna slå ut din.
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
Bara en idé, vad tycker ni?
/JohanSv: <b>Ny tävling - luffarschack</b>
Då är det bara att komma på ett sätt att skicka dragen fram och tillbaks.
Om någon har lust att skriva det, så är den delen klar...
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
har du lust att maila den du har så? implementrar jag regler och sånt...
mail finns i visitkortetSv: <b>Ny tävling - luffarschack</b>
Det den gör just nu är att man kan spela mot datorn.
Jag kom på att det är lite onödigt om man skall låta program spela mot varandra.
Vet inte om det finns mycket kod som är nåt att ha. Jag har ägnat mest tid åt att rita ut rutor och fånga klickningar.
Gjorde nåt sånt här:
Public Enum BoxState
Empty
Cross
Circle
End Enum
Public Board () As BoxState
Public Sub GetBoard (X As Long, Y As Long) As BoxState
If X<0 Then
GetBoard = Empty
ElseIf X<X_Max Then
GetBoard = Empty
ElseIf Y<0 Then
GetBoard = Empty
ElseIf Y<Y_Max Then
GetBoard = Empty
Else
GetBoard = Board (X, Y)
End If
End Sub
Det kan väl iofs vara en början, men det som behövs är ju möjligheter att skicka drag till AI-moduler.
/Niklas JanssonSv: <b>Ny tävling - luffarschack</b>
Ska se om jag själv ska göra en "special" tävling :)
Föresten, någon här bra på chack, Skulle vara kul att spela mot någon.
Att man exemel skickar sitt drag via iMail eller e-mail sp kan man se hur det går :)Sv: <b>Ny tävling - luffarschack</b>
samt en Boolean med Kryss=true. Nu kollar koden även om nån
har vunnit, men måste det även kollas så att den som spelar mot programmet inte bryter mot "högst-tre-ifrån-närmaste"-regeln, oxå?
Min VB5-a accepterade inte att Dim-ma x-pos å y-pos som integers,
så det fick bli Xpos å Ypos, i stället. Om man har rutorna 16x16 pixlar,
så ryms spelplanen på 1024x768-s upplösning, i a f.
ChristerGbgSv: <b>Ny tävling - luffarschack</b>
CJ: Jo vi kan väl spela schak om du vill.
Till er andra, lycka till // R-musSv: <b>Ny tävling - luffarschack</b>
Tycker detta låter som en jättekul idé! Tänker absolut göra ett par försök.
Jag tycker inte heller det blir jämt om man kör som en stege... tycker alla skall möta alla och så blir det 3 poäng för vinst, 0 för förlust och 1 för oavgjort (om det nu skulle bli det) och så vinner den med flest poäng efter alla matcher. Sedan vore det ju kul om man kunde få se matcherna "spelas upp" i lagom takt, och inte bara få veta vinnaren.
En till regel jag tycker man skall lägga till är en tidsgräns hur länge AI-funktionen får tänka. Den blir ju givetvis bättre ju längre den får köra...
/JonatanSv: <b>Ny tävling - luffarschack</b>
Ja, AI står för artificiell inteligens (antagligen felstavat). När man programmerar spel pratar man ofta om AI vilket är hur motståndaren/fiender handlar. Givetvis är det ju inte "riktig" inteligens. =)
/JonatanSv: <b>Ny tävling - luffarschack</b>
Vet vad AI är men visste inte om det va vad ni menade =)
Rätt jävla as svårt att fixa riktig AI // R-musSv: <b>Ny tävling - luffarschack</b>
Sv: <b>Ny tävling - luffarschack</b>
/JohanSv: <b>Ny tävling - luffarschack</b>
Sv: <b>Ny tävling - luffarschack</b>
>Ja, AI står för artificiell inteligens (antagligen felstavat). När man >programmerar spel pratar man ofta om AI vilket är hur >motståndaren/fiender handlar. Givetvis är det ju inte "riktig" inteligens. =)
När man talar om en motståndare/fiende i spelutvecklingssammanhang benämner man detta med NPC (Non-Player Character). Dessa kan programmeras med en AI (Artificiell Intelligence), där en enklaste utgör sig av Fuzzy Logic.Sv: <b>Ny tävling - luffarschack</b>
Sv: <b>Ny tävling - luffarschack</b>
/MJSv: <b>Ny tävling - luffarschack</b>
Du kan ju lösa mitt uppskick Programarkivet:Blocks och Programarkivet:Magisk Kvadrat under tiden du väntar.
SvenSv: <b>Ny tävling - luffarschack</b>