unknow chess (alpha) pb 5.50
-
- Beiträge: 283
- Registriert: 18.08.2012 19:18
- Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
- Wohnort: Worms
- Kontaktdaten:
unknow chess (alpha) pb 5.50
Heyhey,
hier mein letztes Projekt (unknow chess noch namenlos) in welchem ich versucht hatte eine Chess KI auf die beine zu stellen.
Leider bin ich nun an einem Punkt an welchem ich nicht mehr weiter komme und so stelle ich euch hier den aktuelln stand bereit.
Eventuell hat hier ja jemand lust daran sich zu versuchen ich würde mich freuen
hier eine kleine übersicht was fehlt bzw was integriert ist.
programm Status: alpha
bewegungen: integriert
regeln: fehlen alle
gui: 80% (hier fehlt die zeitanzeige)
ki: 50%
gfx: ist alles vorhanden (spielfeld,figuren,farbliche farkierung für zielfeld)
was fehlt nun noch bei der KI:
ich habe hier versucht das alpha beta pruning zu intergrieren wem das nicht sagt dies ist ein algo welche für jeden spieler des besten nutzen aus dem zug holt.
quelle: https://chessprogramming.wikispaces.com/Alpha-Beta
Man müsste die Methoden/Prozeduren Makemove unmakemove/copyboard integrieren.
quelle: https://chessprogramming.wikispaces.com/Make+Move
ebenso fehlt die berechnung der position
quelle: https://chessprogramming.wikispaces.com/Evaluation
copyrigh von den Grafiken geht an http://graphicriver.net , die grafik darf nicht verkauft werden
bild vom chess.
compiler: pb 5.50 windows
download: (alles enthalten , source grafik)
https://www.dropbox.com/s/hmnz31pvbqyyw ... s.rar?dl=0
__________________________________________________
Link zum Originalbild hinzugefügt
01.12.2016
RSBasic
hier mein letztes Projekt (unknow chess noch namenlos) in welchem ich versucht hatte eine Chess KI auf die beine zu stellen.
Leider bin ich nun an einem Punkt an welchem ich nicht mehr weiter komme und so stelle ich euch hier den aktuelln stand bereit.
Eventuell hat hier ja jemand lust daran sich zu versuchen ich würde mich freuen
hier eine kleine übersicht was fehlt bzw was integriert ist.
programm Status: alpha
bewegungen: integriert
regeln: fehlen alle
gui: 80% (hier fehlt die zeitanzeige)
ki: 50%
gfx: ist alles vorhanden (spielfeld,figuren,farbliche farkierung für zielfeld)
was fehlt nun noch bei der KI:
ich habe hier versucht das alpha beta pruning zu intergrieren wem das nicht sagt dies ist ein algo welche für jeden spieler des besten nutzen aus dem zug holt.
quelle: https://chessprogramming.wikispaces.com/Alpha-Beta
Man müsste die Methoden/Prozeduren Makemove unmakemove/copyboard integrieren.
quelle: https://chessprogramming.wikispaces.com/Make+Move
ebenso fehlt die berechnung der position
quelle: https://chessprogramming.wikispaces.com/Evaluation
copyrigh von den Grafiken geht an http://graphicriver.net , die grafik darf nicht verkauft werden
bild vom chess.
compiler: pb 5.50 windows
download: (alles enthalten , source grafik)
https://www.dropbox.com/s/hmnz31pvbqyyw ... s.rar?dl=0
__________________________________________________
Link zum Originalbild hinzugefügt
01.12.2016
RSBasic
i7,12gb ram , Windows 10 ,Purebasic 5.50
Re: unknow chess (alpha) pb 5.50
PS: Ich habe den von dir eingefügten Screenshot zusätzlich zum Originalbild verlinkt, damit man besser sehen kann, wie dein Spiel aussieht.
Re: unknow chess (alpha) pb 5.50
Habe das Spiel getestet.
Hier mein Feedback:
Bugs:
- Kein Schließen-X?
- Sehr hohe CPU-Last (ein Kern läuft stets auf 100% - durch dieses Spiel)
- Das Schachbrett ist spiegelverkehrt. Die Koordinate A8 ist oben links oder unten rechts (je nachdem, auf welcher Seite man sitzt)
- Die Koordinaten (Zahlen/Buchstaben) um das Schachbrett herum sind nicht mittig und auch teilweise abgeschnitten
- Mein erster Startversuch war, auf "Start new game" im Screen zu klicken. Es irritiert etwas, dass der Klick nicht angenommen wird und man über Game/New... gehen muss.
- "Choose your color, yes = white, no = black" -> Warum das? Warum nicht "Choose your color" mit einem Button "Black" und einem Button "White"?
- Die KI hat bei mir keinen einzigen Zug gemacht, obwohl ich die Frage "Player vs KI" bejaht habe.
- Die Seitenwahl ist funktionslos, wenn beide Seiten von menschlichen Spielern gesteuert wird. Weiß fängt IMMER an.
- Die beiden großen Bauern unterscheiden sich zu schlecht von den kleinen. Idee: Normalerweise hat der große einen eingekerbten Kopf.
- Die großen Bauern lassen sich nicht bewegen.
- Wenn ich eine Figur anklicke, kann ich zwar sehen, wohin ich sie setzen kann, aber es wäre evtl. besser, wenn auch angezeigt werden würde, welche Figur überhaupt ausgewählt wurde.
- Teilweise sind die Anzeigen rechts abgeschnitten
- Total Playtime. Hier sollte die Formatierung der Zeit imho so aussehen: 00:00:00. Die bisherige Anzeige ist eher für Videoschnittprogramme geeignet.
- Entweder sollte das eine nicht korrekt funktionierende Schach-Matt-Erkennung sein, oder der König wird nicht richtig gezogen.. Das kannst du dir jetzt aussuchen. (https://postimg.org/image/nwd0jd66t/)
- Die Chessclock führte bei mir dazu, dass alle 3 Stellen (h, m und s) in rasender Geschwindigkeit rückwärts liefen
- Wozu ist der Menübutton "Actions"? Der ist bei mir immer leer.
- Ich kann den eigenen König schachsetzen, wenn ich eine Figur so bewege, dass eine gegnerische Figur dadurch den König im nächsten Zug schlagen kann
- Klick auf die Last-turns-Liste führt gelegentlich zu verbuggten Anzeigen auf dem Spielfeld. Vermutlich alte Züge werden angezeigt, die aber nie stattgefunden haben.
- Die Querlatte vom Kreuz des weißen Königs ist verschwommen
Es fehlen noch wichtige Spielregeln (darum wahrscheinlich noch Alpha):
- En passant (Am gegnerischen Bauern vorbeigelaufener eigener Bauer kann von diesem nachträglich geschlagen werden)
- Ein bis zum Ende durchgelaufender Bauer kann durch eine zuvor verlorene Spielfigur nach Wahl ersetzt werden
- Rochade bei ungezogenem König/Turm
- Eine Figur, die man auswählt, muss man dann theoretisch auch setzen MÜSSEN (im realen Leben ist es so, dass du die Figur auch wirklich setzen musst, wenn du sie angefasst hast)
- Wenn ein König geschlagen worden ist, ist das Spiel zuende und derjenige hat gewonnen, der seinen König noch hat.
Anregungen:
- Vielleicht dunkles Grün oder dunkles Rot anstatt das Schwarz als Hintergrund? Ich finde den Kontrast auf Dauer sehr anstrengend.
- Das Spielbrett kann locker die doppelte Größe haben.
- Ich finde das Spiel grafisch ziemlich hässlich. Ein schönes Holzbrett und schöne Figuren würden das Spiel für mich schon viel attraktiver machen.
Ich hoffe, dir helfen diese Infos weiter.
Hier mein Feedback:
Bugs:
- Kein Schließen-X?
- Sehr hohe CPU-Last (ein Kern läuft stets auf 100% - durch dieses Spiel)
- Das Schachbrett ist spiegelverkehrt. Die Koordinate A8 ist oben links oder unten rechts (je nachdem, auf welcher Seite man sitzt)
- Die Koordinaten (Zahlen/Buchstaben) um das Schachbrett herum sind nicht mittig und auch teilweise abgeschnitten
- Mein erster Startversuch war, auf "Start new game" im Screen zu klicken. Es irritiert etwas, dass der Klick nicht angenommen wird und man über Game/New... gehen muss.
- "Choose your color, yes = white, no = black" -> Warum das? Warum nicht "Choose your color" mit einem Button "Black" und einem Button "White"?
- Die KI hat bei mir keinen einzigen Zug gemacht, obwohl ich die Frage "Player vs KI" bejaht habe.
- Die Seitenwahl ist funktionslos, wenn beide Seiten von menschlichen Spielern gesteuert wird. Weiß fängt IMMER an.
- Die beiden großen Bauern unterscheiden sich zu schlecht von den kleinen. Idee: Normalerweise hat der große einen eingekerbten Kopf.
- Die großen Bauern lassen sich nicht bewegen.
- Wenn ich eine Figur anklicke, kann ich zwar sehen, wohin ich sie setzen kann, aber es wäre evtl. besser, wenn auch angezeigt werden würde, welche Figur überhaupt ausgewählt wurde.
- Teilweise sind die Anzeigen rechts abgeschnitten
- Total Playtime. Hier sollte die Formatierung der Zeit imho so aussehen: 00:00:00. Die bisherige Anzeige ist eher für Videoschnittprogramme geeignet.
- Entweder sollte das eine nicht korrekt funktionierende Schach-Matt-Erkennung sein, oder der König wird nicht richtig gezogen.. Das kannst du dir jetzt aussuchen. (https://postimg.org/image/nwd0jd66t/)
- Die Chessclock führte bei mir dazu, dass alle 3 Stellen (h, m und s) in rasender Geschwindigkeit rückwärts liefen
- Wozu ist der Menübutton "Actions"? Der ist bei mir immer leer.
- Ich kann den eigenen König schachsetzen, wenn ich eine Figur so bewege, dass eine gegnerische Figur dadurch den König im nächsten Zug schlagen kann
- Klick auf die Last-turns-Liste führt gelegentlich zu verbuggten Anzeigen auf dem Spielfeld. Vermutlich alte Züge werden angezeigt, die aber nie stattgefunden haben.
- Die Querlatte vom Kreuz des weißen Königs ist verschwommen
Es fehlen noch wichtige Spielregeln (darum wahrscheinlich noch Alpha):
- En passant (Am gegnerischen Bauern vorbeigelaufener eigener Bauer kann von diesem nachträglich geschlagen werden)
- Ein bis zum Ende durchgelaufender Bauer kann durch eine zuvor verlorene Spielfigur nach Wahl ersetzt werden
- Rochade bei ungezogenem König/Turm
- Eine Figur, die man auswählt, muss man dann theoretisch auch setzen MÜSSEN (im realen Leben ist es so, dass du die Figur auch wirklich setzen musst, wenn du sie angefasst hast)
- Wenn ein König geschlagen worden ist, ist das Spiel zuende und derjenige hat gewonnen, der seinen König noch hat.
Anregungen:
- Vielleicht dunkles Grün oder dunkles Rot anstatt das Schwarz als Hintergrund? Ich finde den Kontrast auf Dauer sehr anstrengend.
- Das Spielbrett kann locker die doppelte Größe haben.
- Ich finde das Spiel grafisch ziemlich hässlich. Ein schönes Holzbrett und schöne Figuren würden das Spiel für mich schon viel attraktiver machen.
Ich hoffe, dir helfen diese Infos weiter.
-
- Beiträge: 283
- Registriert: 18.08.2012 19:18
- Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
- Wohnort: Worms
- Kontaktdaten:
Re: unknow chess (alpha) pb 5.50
danke für deine Kritik. und das ausführliche Testen.
Eins hatte ich vielleicht vergessen zu erwähnen ich bin kein schach spieler demnach kann ich das nicht so nachempfinden was wichtig ist.
werde einige punkte davon umsetzten
thema grafik:
Bei dem spiel war eher mein Ziel mich dem Thema chess KI zu widdmen weshalb ich die grafik minimal gehalten habe.
Ich hätte für die figuren auch platzhalter lassen können.
Grüße
Eins hatte ich vielleicht vergessen zu erwähnen ich bin kein schach spieler demnach kann ich das nicht so nachempfinden was wichtig ist.
werde einige punkte davon umsetzten
thema grafik:
Bei dem spiel war eher mein Ziel mich dem Thema chess KI zu widdmen weshalb ich die grafik minimal gehalten habe.
Ich hätte für die figuren auch platzhalter lassen können.
Grüße
i7,12gb ram , Windows 10 ,Purebasic 5.50
Re: unknow chess (alpha) pb 5.50
Ich bin auch kein Schachspieler.
Ich spiele mal aus Jokus Schach mit jemandem, der genauso wenig Ahnung hat. Dann wirds aber Räuberschach (mit Schlagzwang)
Habe meine Schachfiguren vor Jahren selber aus Holz geschnitzt, weil ich zu geizig war, welche zu kaufen.
Wenn dir nur die KI wichtig ist, wäre es vielleicht eine Überlegung wert, das entsprechende .pb in eine DLL auszulagern, die in ein bestehendes Schachspiel eingebaut werden kann.
Dann wäre die DLL das "wertvolle" und die GUI drumherum nur Beiwerk zum Testen.
Schade, dass du das Projekt mehr oder weniger aufgegeben hast.
Ich spiele mal aus Jokus Schach mit jemandem, der genauso wenig Ahnung hat. Dann wirds aber Räuberschach (mit Schlagzwang)
Habe meine Schachfiguren vor Jahren selber aus Holz geschnitzt, weil ich zu geizig war, welche zu kaufen.
Wenn dir nur die KI wichtig ist, wäre es vielleicht eine Überlegung wert, das entsprechende .pb in eine DLL auszulagern, die in ein bestehendes Schachspiel eingebaut werden kann.
Dann wäre die DLL das "wertvolle" und die GUI drumherum nur Beiwerk zum Testen.
Schade, dass du das Projekt mehr oder weniger aufgegeben hast.
-
- Beiträge: 283
- Registriert: 18.08.2012 19:18
- Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
- Wohnort: Worms
- Kontaktdaten:
Re: unknow chess (alpha) pb 5.50
hm , zum thema aufgeben. ich habe da bestimmt schon viel zeit in die KI gesteckt.
jedoch ist es da schwierig hilfe zu bekommen.
mache jetzt mal ein zwischen projekt und dann vielleicht weiter
demotiviert wenn man in einem projekt nicht wirklich selbst weiterkommen kann
jedoch ist es da schwierig hilfe zu bekommen.
mache jetzt mal ein zwischen projekt und dann vielleicht weiter
demotiviert wenn man in einem projekt nicht wirklich selbst weiterkommen kann
i7,12gb ram , Windows 10 ,Purebasic 5.50
Re: unknow chess (alpha) pb 5.50
Haste denn mein simples Schachprogramm hier ein paar Seiten weiter angeschaut? Habe das eben für Unicode aktualisiert:
http://www.mdcc-fun.de/k.helbing/Little-Timpetu/LT.zip
Wenn Grafik weniger wichtig ist kann man für Unicode auch die dort enthaltenen Schach-Figuren-Symbole verwenden; simples Beispiel:
Einfach mal das Fenster vergrößern usw.
Übrigens, die großen Bauern mit Schlitz nennt man Läufer...
http://www.mdcc-fun.de/k.helbing/Little-Timpetu/LT.zip
Wenn Grafik weniger wichtig ist kann man für Unicode auch die dort enthaltenen Schach-Figuren-Symbole verwenden; simples Beispiel:
Code: Alles auswählen
;Unicode einschalten für ältere PB-Versionen!
;Unicode-Schachfiguren:
;Weisser König = 9812
;Weisse Dame = 9813
;Weisser Turm = 9814
;Weisser Läufer = 9815
;Weisser Springer = 9816
;Weisser Bauer = 9817
;Schwarzer König = 9818
;Schwarze Dame = 9819
;Schwarzer Turm = 9820
;Schwarzer Läufer = 9821
;Schwarzer Springer = 9822
;Schwarzer Bauer = 9823
Procedure Brettmal(Pixel.f, Width.i, Height.i, StartPosX.i, StartPosY.i)
FontHigh = Int(Pixel / (GetDeviceCaps_(GetDC_(WindowID(0)), #LOGPIXELSY) / 96.0)) ;Font anpassen
LoadFont(0, "Arial Unicode MS", FontHigh)
;LoadFont(0, "Arial Unicode MS Bold", FontHigh) ;Geschmacks-Sache
Font0 = FontID(0)
PosX = StartPosX
PosY = StartPosY
Feldfarbe = $ffffff ;Weiss
Restore Grundstellung
Restore Figuren
For i = 0 To 63 ;64 Felder
Feld = PeekB(?Grundstellung + i) & $FF
Select Feld
Case $11 ;weisser Bauer usw.
Figur = PeekW(?Figuren)
Case $12
Figur = PeekW(?Figuren + 2)
Case $13
Figur = PeekW(?Figuren + 4)
Case $14
Figur = PeekW(?Figuren + 6)
Case $15
Figur = PeekW(?Figuren + 8)
Case $16
Figur = PeekW(?Figuren + 10)
Case $81
Figur = PeekW(?Figuren + 12)
Case $82
Figur = PeekW(?Figuren + 14)
Case $83
Figur = PeekW(?Figuren + 16)
Case $84
Figur = PeekW(?Figuren + 18)
Case $85
Figur = PeekW(?Figuren + 20)
Case $86
Figur = PeekW(?Figuren + 22)
Default
Figur = 32 ;Leerfeld
EndSelect
If i > 0 And (i % 8 = 0)
PosX = StartPosX
PosY + Height
Feldfarbe ! ($ffffff - $cc99) ;Wechsel Weiss <> Grün
EndIf
TextGadget(i, PosX, PosY, Width, Height, Chr(Figur))
SetGadgetFont(i, Font0)
SetGadgetColor(i, #PB_Gadget_BackColor, Feldfarbe)
PosX + Width
Feldfarbe ! ($ffffff - $cc99) ;Wechsel Weiss <> Grün
Next
EndProcedure
OpenWindow(0, 0, 0, 360, 400, "Schach-Figuren Unicode", #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget | #PB_Window_SizeGadget)
Brettmal(24.0, 40, 45, 20, 20)
While Event <> #PB_Event_CloseWindow ;zum Test als Schleife
Event = WaitWindowEvent()
If Event = #PB_Event_SizeWindow
Breite = WindowWidth(0)
Hoehe = WindowHeight(0)
If Breite >= 700 And Hoehe >= 700 ;Testwerte, willkürlich. Selber anpassen!
Brettmal(40.0, 60, 65, 20, 20)
ElseIf Breite >= 600 And Hoehe >= 600
Brettmal(36.0, 55, 60, 20, 20)
ElseIf Breite >= 500 And Hoehe >= 500
Brettmal(32.0, 50, 55, 20, 20)
ElseIf Breite >= 400 And Hoehe >= 450
Brettmal(28.0, 45, 50, 20, 20)
ElseIf Breite < 400 Or Hoehe < 450
Brettmal(24.0, 40, 45, 20, 20)
EndIf
EndIf
Wend
End
DataSection
Grundstellung:
Data.b $84, $82, $83, $85, $86, $83, $82, $84
Data.b $81, $81, $81, $81, $81, $81, $81, $81
Data.b $00, $00, $00, $00, $00, $00, $00, $00
Data.b $00, $00, $00, $00, $00, $00, $00, $00
Data.b $00, $00, $00, $00, $00, $00, $00, $00
Data.b $00, $00, $00, $00, $00, $00, $00, $00
Data.b $11, $11, $11, $11, $11, $11, $11, $11
Data.b $14, $12, $13, $15, $16, $13, $12, $14
Figuren:
Data.w 9817, 9816, 9815, 9814, 9813, 9812 ;wB, wS, wL, wT, wD, wK
Data.w 9823, 9822, 9821, 9820, 9819, 9818 ;sB, sS, sL, sT, sD, sK
EndDataSection
Übrigens, die großen Bauern mit Schlitz nennt man Läufer...
-
- Beiträge: 283
- Registriert: 18.08.2012 19:18
- Computerausstattung: Windows 8 64bit .Profan x2,Purebasic 5.5
- Wohnort: Worms
- Kontaktdaten:
Re: unknow chess (alpha) pb 5.50
@Helle gute Arbeit wenn du das alles alleien und selbst programmiert hast
jedoch bringt mir das ja alles nichts da ich es selbst hinbekommen wollte danke trotzdem.
wie lange hast du für das ganze so gebraucht bis alles lief ?
jedoch bringt mir das ja alles nichts da ich es selbst hinbekommen wollte danke trotzdem.
wie lange hast du für das ganze so gebraucht bis alles lief ?
i7,12gb ram , Windows 10 ,Purebasic 5.50
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten: