Autor Beitrag
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 617
Erhaltene Danke: 364

W7
Delphi 6 pro
BeitragVerfasst: Mo 05.01.09 16:40 
Frohes neues Jahr,
endlich bin ich fertig und ihr könnt testen.

Zu den Spielregeln und dem Spielfeld näheres hier: de.wikipedia.org/wiki/M%C3%BChle_(Spiel)
Eine Mühle wird durch drei Steine auf einer Linie gebildet,

Jeder Spieler hat zu Beginn 9 Spielsteine, die abwechselnd auf jedes freie Feld gesetzt werden können. Wer eine Mühle schließt, muß einen gegnerischen Stein nehmen, jedoch nicht aus einer geschlossenen Mühle. Hat der Gegner nur geschlossene Mühlen kann also kein Stein weggenommen werden!

Die Position geschlagener Steine wird mit einem roten x, ein gesetzter Stein mit einem blauem Quadrat markiert.

Wenn jeder seine 9 Steine platziert hat, wird abwechselnd auf ein freies Nachbarfeld gezogen. (per drag&drop) Auch hier können durch Bilden von Mühlen gegnerische Steine geschlagen werden (s.o.).


Hat ein Spieler nur noch drei Steine, darf er seine Steine beliebig auf freie Felder setzen (springen).

Wer keinen Zug ausführen kann oder nur noch zwei Steine besitzt, hat das Spiel verloren.

Das Spiel endet spätestens nach 100 Zügen mit Remis oder der Spieler bricht das Spiel vorher ab.

Das Programm arbeitet NICHT mit einer Datenbank wie Mr. Data von Peter Stahlhacke, sondern nur mit Bewertungskriterien, die in Mühle.ini gespeichert sind.

Menue-Struktur:
Spiel
Stellung öffnen
Stellung speichern
Spielabbruch
Beenden

Es gibt 11 Level

Einstellungen
Mensch gegen Mensch
Computer beginnt
Mensch beginnt

Service
Zugrücknahme.....aktuellen Spielerzug zurücknehmen
Zugvorschlag..... Vorschlag für den Spieler, o.G.
Zugbewertung..... Blick ins Gehirn
Spielprotokoll... Spielzüge werden angezeigt
Sound............ Spielkram, Musik beim Starten, Beenden und Siegermittlung
Parameter........ hier kann der Spieler die Bewertung ändern, sie wird in Mühle2.ini gespeichert. Falls Mühle2.ini besser sein sollte als Mühle.ini muß der User selbst die Dateien umbenennen oder die Inhalte umkopieren.

Möglichkeiten zum Experimentieren in der Prozedur Computerzug:

ausblenden Delphi-Quelltext
1:
2:
3:
   // if Feld.Status[Computer].Modus=Setzen then Level:=Max(3,Tiefe);
   // if Feld.Status[Computer].Modus=Springen then if Level<5 then inc(Level,2);
   // if Feld.Status[Computer].Steine-Feld.Status[Mensch].Steine>2 then inc(Level,2);

Viel Spaß
Fiete

Moderiert von user profile iconNarses: Beitragsformatierung überarbeitet.

Edit1: Zeile 747 verbessert - 19 statt 18
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)


Zuletzt bearbeitet von Fiete am Do 12.03.09 11:47, insgesamt 1-mal bearbeitet

Für diesen Beitrag haben gedankt: Art-Mühle-11, MarkusR
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 05.01.09 17:04 
Wenn ich das Programm noch beenden könnte außer über den Taskmanager wäre es schön...
Beim Beenden kommt nur diese Meldung, danach bleibt das Programm offen...
Zitat:
In C:\Programme\Mühle\\Mühle2.ini kann nicht geschrieben werden.

Abgesehen von den doppelten Backslashes hält es sich also nicht an die Systemstandards, funktioniert deshalb nicht, und ist also erstmal unbrauchbar. :nixweiss:

// EDIT:
Und die doppelten Backslashes kommen daher:
ausblenden Delphi-Quelltext
1:
ExtractFilePath(Application.ExeName)+'\Mühle.ini'					
ExtractFilePath fügt selbst einen an. ;-)
Xabitire
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 114

Win Xp, Win Vista
D6 PE, D7 PE
BeitragVerfasst: Mo 05.01.09 18:00 
Hi, sehr anschaulich muss ich sagen! :zustimm:

Hab früher oft Mühle gespielt, aber so einen starken Gegner, wie deine KI hab ich bisher noch nicht getroffen. :D Die kennt ja alle Tricks! Zumindestens mal alle, die ich kenne! Aber dann hab ich ja wenigstens einen Grund zum üben :wink:

Was mich allerdings ein wenig stört sind die kleinen Felder zum Auswählen! Vor allem, beim Schlagen treff ich meistens nicht direkt beim ersten mal, weil ja noch die Steine drüber liegen! Und dann jedes mal die Showmessage wegzuklicken, ist ein bisschen nerftötend!

Muss mir mal bei Gelegenheit noch den Source angucken! Vor allem den Teil mit der KI :wink:

MFG Blackbird8690
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 617
Erhaltene Danke: 364

W7
Delphi 6 pro
BeitragVerfasst: Di 06.01.09 11:59 
Danke ihr Tüftler,
@jaenicke: den Fehler kann ich nicht reproduzieren(Delphi6 pro mit XP), hab den Backslash erstmal entfernt :?

@blackbird8690: die Clickfelder hab ich jetzt vergrößert, Prozedur SpielFeldAusgabeMouseDown, der Wert 20 muß durch einen anderen ersetzt werden

Hochladen werde ich die neueste Version aber erst nach weiterer Überarbeitung.

Bis dahin weiter viel Spaß
Fiete

_________________
Fietes Gesetz: use your brain (THINK)
rd3
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 06.01.09 13:11 
Hallo,

super gelungen... bin gespannt, wie das update aussieht...

viele grüße
klabri
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 50



BeitragVerfasst: Di 06.01.09 13:56 
Hallo,
und wann kommt das Update?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19312
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 06.01.09 15:11 
user profile iconFiete hat folgendes geschrieben Zum zitierten Posting springen:
@jaenicke: den Fehler kann ich nicht reproduzieren(Delphi6 pro mit XP), hab den Backslash erstmal entfernt :?
Der Fehler liegt nicht am Backslash, das funktioniert anscheinend auch mit doppelten, aber ob das immer geht weiß ich nicht, deshalb hab ich es erwähnt. Das Problem sind die fehlenden Rechte. Leg das Programm einfach unter c:\programme und erstelle ein neues eingeschränktes Konto.
Mit dem Konto wird dir das gleiche passieren. Es wird nicht funktionieren.

Funktionieren tut das nur als Admin. Und damit unter Vista bei jedem neu installierten System schon nicht mehr. Bei XP funktioniert es ja, solange man sein System nicht richtig einrichtet und nicht mehr als Admin arbeitet. (Bei Mehrbenutzerbetrieb funktioniert es sowieso nicht, außer beim Admin.)

Das habe ich hier auch nochmal erklärt, an einer einfachen Lösung ohne dass man sich viel drum kümmern muss arbeite ich gerade. (Das wird dann in dem Beitrag verlinkte Beitrag, aber der ist noch in Arbeit.)
www.delphi-library.d....php?p=541636#541636
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 617
Erhaltene Danke: 364

W7
Delphi 6 pro
BeitragVerfasst: Sa 10.01.09 11:38 
Moin blackbird8690
die Felder sind jetzt größer, die nervtötenden Meldungen habe ich durch Beep ersetzt und Backslash rausgenommen, war syntaktisch nicht ok.
Die Änderungen sind hochgeladen.

Gruß
Fiete

_________________
Fietes Gesetz: use your brain (THINK)
mimi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3458

Ubuntu, Win XP
Lazarus
BeitragVerfasst: Sa 14.02.09 20:14 
Läuft sogar unter wine *G*. Ist nicht schlecht. Nur gab es anscheint ein unentschieden *G*. Der Computer hat das Spiel beendet als er nur noch drei hatte und nur noch von einer Mühle zu nächsten Spingen konnte bei mir *G*

_________________
MFG
Michael Springwald, "kann kein englisch...."
AndyH
Hält's aus hier
Beiträge: 4

Win NT 4.0, Win 2000, Win XP
Delphi 7
BeitragVerfasst: Mi 11.03.09 21:18 
Hallo,

tolles Programm, hab aber gerade einen Fehler entdeckt. In folgender Partie hat der Computer mit Level 6 begonnen.
1 ) S: B6
2 ) W: D6
3 ) S: F4
4 ) W: D2
5 ) S: B4
6 ) W: B2
7 ) S: F2
8 ) W: F6
9 ) S: D7
10 ) W: E4
11 ) S: C5
12 ) W: D3
13 ) S: D1
14 ) W: E3
15 ) S: C3
16 ) W: E5 x C5
17 ) S: D5
gewonnen hat der PC!

Hier sagt das Programm "gewonnen hat der PC!" obwohl ich noch einen Stein setzen darf.


Andreas
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 617
Erhaltene Danke: 364

W7
Delphi 6 pro
BeitragVerfasst: Do 12.03.09 11:42 
Moin Andreas,
danke für den Tip.
In Zeile 747 steckt der Fehler: es muß heißen
ausblenden Delphi-Quelltext
1:
if ZugNummer<19 then exit;					

vorher stand hier eine 18 :autsch:

Die neuen Versionen lade ich noch hoch.

Gruß
Fiete

_________________
Fietes Gesetz: use your brain (THINK)