Autor |
Beitrag |
Fiete
Beiträge: 604
Erhaltene Danke: 341
W7
Delphi 6 pro
|
Verfasst: Mi 11.08.10 15:50
Moin,
gespielt wird auf einem 11*11-Feld, in dem jeder 30 Brückenpfeiler besitzt.
Die Spieler verbinden abwechselnd ihre Brückenpfeiler(waagerecht bzw. senkrecht).
Brücken können sich nicht kreuzen.
Der Mensch muß von einem Brückenpfeiler auf der linken Seite eine Brücke zu einem Brückenpfeiler auf der rechten Seite bauen oder umgekehrt.
Der Computer muß von einem Brückenpfeiler auf dem unteren Rand eine Brücke zu einem Brückenpfeiler auf dem oberen Rand bauen oder umgekehrt.
Wer es als erster geschafft hat, der ist
S i e g e r !!!
Viel Spaß!!!
Edit1: Die Fenstergröße ist über <Ansicht> wählbar.
Xions Hinweis habe ich realisiert. Stufe:=1; ist jetzt in Formcreate verschoben.
Die Änderungen liegen jetzt vor.
Einloggen, um Attachments anzusehen!
_________________ Fietes Gesetz: use your brain (THINK)
Zuletzt bearbeitet von Fiete am Sa 21.08.10 14:09, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: Hidden
|
|
Xion
Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Fr 13.08.10 14:09
Cooles Spiel erstmal. Ab "Könner" ist die KI auch ganz gut. Nur ist sie irgendwie anfällig bei vertikalen Verbindungen. (KI ist "Genie")
Einloggen, um Attachments anzusehen!
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
Fiete
Beiträge: 604
Erhaltene Danke: 341
W7
Delphi 6 pro
|
Verfasst: Do 19.08.10 18:29
Moin Xion,
est mal danke für Deine Mühe.
Den "Fehler" konnte ich auf Level 5, PC beginnt, nicht reproduzieren.
Im 3. Zug setzt das Programm auf (6|4) , nicht auf (10|4)
Die KI ist so programmiert, daß der PC immer gewinnt wenn er auf Stufe 5 beginnt!
Die KI sieht so aus
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| If Random(100)<20*Stufe Then Begin Strategiezug(ACol,ARow,X,Y); If Not Erlaubt(X,Y) Then Zufallszug(ACol,ARow,X,Y); End Else Zufallszug(ACol,ARow,X,Y); |
Gruß
Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Xion
Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: Do 19.08.10 19:44
Kann es sein dass du beim Klick auf neues Spiel die Stufe nicht korrekt setzt?
Edit:
Hihi, ich weiß warum Eigentlich ganz einfach wenn mans erstmal weiß.
Delphi-Quelltext 1:
| procedure TBridge.LevelClick(Sender: TObject); |
Dort ist logischerweise der Schweinehund (da ja nur dort Stufe gesetzt wird).
Problem:
Du überprüfst dabei den Sender, setzt aber Inital Stufe auf 1 (warum eigentlich?) Gleichzeitig hast du dem "Level"-Knopf im MainMenu auch das Event zugewiesen, welches natürlich dann nicht in der Sender-If-Struktur ist. Also wird Stufe auf 1 gesetzt, wenn ich nur die ausgewählte Stufe angucke
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
FinnO
Beiträge: 1331
Erhaltene Danke: 123
Mac OSX, Arch
TypeScript (Webstorm), Kotlin, Clojure (IDEA), Golang (VSCode)
|
Verfasst: Fr 20.08.10 13:46
Also Wenn man als Spieler anfängt, ist das Genie sehr einfach zu schlagen. Andersherum hab ich da allerdings immer versagt. Alle Anderen Stufen gewinnt man auf Anhieb.
Aber sehr spannendes spiel. Erinnert mich an die vorletzte Software-Challenge
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Fr 20.08.10 13:57
Hi -
Ein schönes Spiel, nur ein bisschen klein.
Ich persönlich möchte als User eigentlich immer die Fenstergröße bestimmen dürfen, ließe sich das einrichten, und die Spielfläche dann entsprechend skalieren? (Auf Bitmap zwischenzeichnen, dann per StretchDraw() auf Paintbox/etc).
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Fiete
Beiträge: 604
Erhaltene Danke: 341
W7
Delphi 6 pro
|
Verfasst: So 22.08.10 10:37
Moin Hidden,
die gewünschten Änderungen liegen vor.
Gruß
Fiete
_________________ Fietes Gesetz: use your brain (THINK)
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: So 22.08.10 11:49
Danke
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Horst-Dieter
Beiträge: 91
Erhaltene Danke: 16
|
Verfasst: Do 21.10.10 09:09
Ich habe mir erlaubt, Deine Spielidee zu verwenden und das Programm in der Oberfläche (Verwendung von TImage an Stelle von TDrawGrid) zu verändern. Es wird meines Erachtens dadurch übersichtlicher. Außerdem ist die Spielfeldgröße veränderbar und die Züge werden protokolliert und können rückgängig gemacht werden. Sieh es Dir doch einmal an (Thema: Brücken).
|
|
Hidden
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: Do 21.10.10 14:03
Hat hier jemand nach einem Link gerufen?
www.delphi-forum.de/viewtopic.php?t=102173
Okay, dann war das wohl in meinem Kopf. War aber echt laut..
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
Xearox
Beiträge: 260
Erhaltene Danke: 3
|
Verfasst: Do 21.10.10 15:02
hab einen Bug gefunden.
Stufe Genie.
CPU Fängt an.
1-2-3-4-5-6-7-8-9-0-11
---------------------|
0-x-0-x-0-x-0-x-0-x-A|1
x-0-x-0-x-0-x-0-x-0-A|2
0-x-0-x-0-x-0-x-0-x-A|3
x-0-x-0-x-0-x-0-x-0-A|4
0-x-0-x-0-x-0-x-0-x-A|5
x-0-x-0-x-0-x-0-x-0-A|6
0-x-0-x-0-x-0-x-0-x-A|7
x-0-x-0-x-0-x-0-x-0-A|8
0-x-0-x-0-x-0-x-0-x-A|9
x-0-x-0-x-0-x-0-x-0-A|0
C-C-C-C-C-C-C-C-T-C-F|11
so, baut man da hin, wo die "A"s sind seine Felder auf, und wenn die CPU das Feld T erreicht, baut man das der CPU in den Weg, also das Feld F, und baut seine Felder weiter nach unten.
Sobald die Reihe voll ist, gewinnt keiner, obwohl eine korrekte linie Gebaut wurde.
Edit: Theoretisch würde der Spieler gewinnen. Du hast ja weiter oben geschrieben, das bei Genie, die CPU immer gewinnt.
Kann ja sein, das da was Falsch ist, irgendeine Abfrage oder so, bzw. überprüfst du bei Genie überhaupt, ob der Spieler eine Reihe voll hat?
|
|
|