Aktuelle Zeit: 14.12.2017 02:30

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
 Betreff des Beitrags: unknow chess (alpha) pb 5.50
BeitragVerfasst: 02.12.2016 00:38 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
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.

Bild

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 02.12.2016 00:44 
Offline
Moderator
Benutzeravatar

Registriert: 05.10.2006 18:55
Wohnort: Rupture Farms
:allright:

PS: Ich habe den von dir eingefügten Screenshot zusätzlich zum Originalbild verlinkt, damit man besser sehen kann, wie dein Spiel aussieht.

_________________
BildBildBildBild
Bild | EnableExplicit ist kostenlos und vermeidet Fehler | Gib Goto keine Chance | Schneller als die Telekom erlaubt | Avira? Nein Danke
WinAPI forever | Bei Problemen bitte Beispielcode posten | Mit Adblock werbefrei, schneller und sicherer surfen | brain.exe ist der beste Schutz | Userlibrary ohne Source = NoGo


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 02.12.2016 01:04 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
danke ;)

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 04.12.2016 02:00 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
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. 8)
- 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. :)

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 04.12.2016 17:06 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
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

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 04.12.2016 17:45 
Offline
Benutzeravatar

Registriert: 19.10.2006 12:51
Ich bin auch kein Schachspieler. :mrgreen:

Ich spiele mal aus Jokus Schach mit jemandem, der genauso wenig Ahnung hat. Dann wirds aber Räuberschach (mit Schlagzwang) :mrgreen: :mrgreen:

Habe meine Schachfiguren vor Jahren selber aus Holz geschnitzt, weil ich zu geizig war, welche zu kaufen. :mrgreen:

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. :mrgreen:

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. :|

_________________
return;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 04.12.2016 19:00 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
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 :D

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 04.12.2016 20:27 
Offline
Benutzeravatar

Registriert: 11.11.2004 16:13
Wohnort: Magdeburg
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:
Code:
;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

Einfach mal das Fenster vergrößern usw.
Übrigens, die großen Bauern mit Schlitz nennt man Läufer... :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 05.12.2016 01:36 
Offline

Registriert: 18.08.2012 19:18
Wohnort: Worms
@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 ?

_________________
i7,12gb ram , Windows 10 ,Purebasic 5.50


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: unknow chess (alpha) pb 5.50
BeitragVerfasst: 05.12.2016 01:57 
Offline
Ein Admin
Benutzeravatar

Registriert: 29.08.2004 20:20
Wohnort: Saarbrücken
Das sieht so nach 30-60 Minuten Arbeit aus.

_________________
Freakscorner.de - Der Bastelkeller | Neustes Video: Tevo Tarantula 3D-Drucker von Gearbest (Aufbau und Review)
Ubuntu Gnome 16.04.3 LTS x64, PureBasic 5.60 x64 (außerdem 4.41, 4.50, 4.61, 5.00, 5.10, 5.11, 5.21, 5.22, 5.30, 5.31, 5.40, 5.50)
"Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen – Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 13 Beiträge ]  Gehe zu Seite 1, 2  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye