![]() |
Re: Mein erstes Spiel: Tic, Tac, Toe!
öhm zu den Problemen die auftreten, das wer gewonnen hat obwohl es nicht geht, habt ihr da zufällig ein neues Spiel angefangen und in dem ist das dann passiert?
Wenn ja könnte es sein, dass die Variablen net gelöscht werden wenn man ein neues Spiel anfängt, bzw. sie net alle auf 0 gesetzt werden nach dem initalisieren... :wink: vielleicht hilft das ja ^^ MFG Keda Edit hatte net gesehen das es schon behoben worden ist 8) |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Liste der Anhänge anzeigen (Anzahl: 2)
@malo,
also das Spiel an sich sollte eigentlich keine Probleme machen -.- Die "KI" ist das schwierigere. Ach ja, wenn du schon so nette Zahlen auf den Tasten hast, dann könntes du es doch auch so einrichten, dass man dein programm auch per Tastatur steueren kann. Tipp: onKeyPress und KeyPreview (vom Form) (aber vorher noch die Zahlen etwas tauschen >> von der Telefontastatur zum Computer-Nummernblock hin) @dizzy, na ja, geht so. Also wenn du für die Spieler (und das leere Fehld) durchweg die selbe Nummer verwendest und über was anderes, dann ürde es übersichtlicher sein und du könntest sogar massig vereinfachen. Und deine "KI" ... also nach ein paar Runden hab ich nurnoch gewonnen, oder zumindestens unentschieden ... die ist ja sowas von vorhersehbar -.- Und so wie's aussieht versucht sie in den 2 niedrigeren Stufen auf jedenfall zu verlieren? Bei leicht geht die einem immer aus dem Weg ... ih wah immer mit genaz 3 Zügen gewonnen - konnte also immer ohne behinderung gerade durchziehen (egal in welche Richtung) Bei Mittel stellte sie sich zwar öfters in den weg, aber versuche immer noch alles um keinen 3er zu bekommen, selbst wenn sie die Chance zum Gewinnen hätte - man muß die ja schon fast dazu zwingen mal zu gewinnen. Schwer ist zwar schwerer, aber wenn man halt mal 'ne Zugfolge zum Gewinnen raus hat, dann kann man nicht mehr verlieren, das die "KI" ja immer das selbe macht. So, und hier mal 'ne geänderte Unit: Spiele und so überall vereinheitlicht (Spieler=-1, leer=0, KI=1) und so einiges vereinfacht :) [edit] so, da ich ein bissl lange Weile hatte, hier nochmal mit Tastatursteuerung. (123456789 0 /*-) und/oder (123456789 0n qwe) - was was ist, findet ihr schon noch raus :roll: |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Zitat:
Zitat:
Zitat:
Prinzip meiner KI ist ein Spielbaum nach MiniMax-Prinzip. Nur hab ich 2 Varianten im Netz gefunden: 1) Die Bewertung eines Knotens ist der Durchschnitt der Bewertung seiner Kind-Knoten 2) Die Bewertung eines Knotens ist die beste Bewertung die einer seiner Kind-Knoten hat Als Freund der Arithmetik hab ich mich für 1) entschieden :), und auch der Prof meinte, dass das nicht sooo prall sei, und das "echte" MiniMax auf 2) beruht. Wie dem auch sei -> Die Klausur für die ich die Zusatzpunkte brauchte hab ich am Montag geschrieben ^^. Und es ist halt nur ein (kaum optimierter) Prototyp um eine grobe Vorstellung davon zu bekommen wie man daran gehen könnte. Das eigentliche Game ist in Java, und längst von meiner Platte verschwunden ^^. Aber grundsätzlich ist MiniMax wohl das Mittel der Wahl bei derartigen Games. nachti, Fabian |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Zitat:
mal ist Spieler=-1, KI=1 und leer=2 (z.B. rateField) dann ist plötzlich Spieler=0 und KI=1 (z.B. player in buildTree) und auf einmal ist leer=-1, Spieler=0 und KI=1 (z.B. in getValue, getSymbol & btn11Click) ... Und nachdem das einheitlich war, ließen sich viele Abfragen uns Zuweisungen, welche meherere Felder betrafen über ganz kurze Schleifen ausführen. PS: da es ja mehrere gute Lösungen gibt, würde sich ein bissl Zufall ganz gut machen und die "KI" wäre nicht mehr so vorhersehbar. |
Re: Mein erstes Spiel: Tic, Tac, Toe!
So, mal zu den Fragen an mich:
KI kann man jetzt erstmal nicht von mir verlangen, ich bin schon froh, wenn das Spiel überhaupt läuft :roll: Wenn jemand ein gutes Tutorial kennt, wo man KIs lernen kann, kann er es mir gerne zeigen. Vielleicht wird es dann irgendwann mein Tic, Tac, Toe auch mit KI geben :mrgreen: Wegen dem disablen muss ich mir noch was überlegen... vielleicht irgendwie in ein If-Paketchen packen und das disablen rausnehmen... naja, mal schaun. Wegen dem "schnell gewinnen"-bug hab ich ja was zu geschrieben... ich hab es mir nämlich beim onclick auf dem Neustarten-Button einfach gemacht und einen Befehl, den ich 9 mal in verschiedenen Variationen brauchte, einfach 9 mal kopiert und die gewünschten Parameter geändert... dabei hab ich 2 Zahlen vergessen zu ändern :roll: naja, ist ja jetzt behoben. @himitsu: Man darf niemals vergessen, dass ich noch totaler Anfänger bin und erstmal klein anfangen muss... ich weiß, dass die KI das schwierigste ist, aber ich hatte schon genug Probleme mit dem Spiel selbst... wenn ich mich gut genug auskenne, mach ich bei Gelegenheit mal 'ne KI dazu ;) Ich werd dann auch mal gucken, dass ich die Zahlen ändere und eine Steuerung per Tastatur erlaube, nur fürchte ich, wird es dann etwas unübersichtlich, weil ich ja die Buttons in der Reihenfolge angelegt hab... Naja, auch darum kümmere ich mich. Vielleicht unter OnCreate die Captions ändern, dann hab ich in meinem normalen Form immer noch die normalen Zahlen ;P So, ich hoffe, ich hab alle Fragen beantwortet... heute hab ich nicht so viel Zeit, aber ich kümmere mich spätestens morgen drum ;) |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Zitat:
Aber so hatte ich im Vorfeld in einer schönen Sprache herausfinden können wo ich nochmal ans Konzept ran musste, bevor ich mich zusätzlich noch mit diesem Java rumärgern musste :D. Sollte ja auch nur eine kleine Anregung sein - eigentlich steht mein Prog hier ja garnicht zur Debatte :mrgreen: (Aber trotzdem ganz ganz herzlichen Dank für deine Korrekturen/Verschönerungen! Gute Beispiele zu haben ist immer wertvoll.) schönen Gruss, Fabian |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Soeben habe ich die version 0.0.0.5 vollendet...
Zu den Neuerungen: Ein Info- sowie ein Anleitungs-Button sind nun verfügbar. Buttons sind nach der Nutzung unsichtbar, stattdessen nimmt ein Label ihren Platz ein. Dadurch wird die Lesbarkeit gefördert. Die Zahlenfolge auf den Buttons hat sich nun zur Telefon-Wahlscheibe-Reihenfolge geändert. Ein "Beenden"-Button ist nun verfügbar. Noch nicht erschienen: KI und Tastatursteuerung. Viel Spaß dabei ;) |
Re: Mein erstes Spiel: Tic, Tac, Toe!
Liste der Anhänge anzeigen (Anzahl: 1)
Hm es fängt schon an:
|
Re: Mein erstes Spiel: Tic, Tac, Toe!
Die Zahlenreihenfolge hätte ich nicht geändert... schau dir mal den Nummernblock deiner Tastatur genau an :zwinker:
|
Re: Mein erstes Spiel: Tic, Tac, Toe!
Zum Bug: Bitte sagen, ob der vor, oder nach einem Neustart des Spiels kam!
@dizzy: Die erste Zahlenfolge hatte jedoch eine ganz andere Reihenfolge... meinetwegen kann ichs aber gerne zur Ziffernblock-Folge ändern, obwohl ich die nicht so gerne mag... :roll: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz