Autor Beitrag
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Fr 18.01.19 12:24 
Moin,
Rekuto ist ein japanisches Logikrätsel: Zerlege das Muster in Rechtecke
die sich NICHT überlappen. Die Summe aus Länge und Breite muß genau
so groß sein wie die Zahl im zu findenden Rechteck vorgibt.
RekutoScreen
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
neue Rekutogröße    : ein neues leeres Muster wird zentriert ausgegeben
Rekuto erzeugen     : ein Rekuto wird generiert
Rekuto konstruieren : ein Rekuto kann selbst definiert werden, wenn das Muster gefüllt ist
                      kann gespielt und gespeichert werden
Rekuto lösen        : der Benutzer versucht die Rechtecke zu finden, die Rechtecke werden 
                      farblich markiert. Der Lösungsversuch kann wiederholt werden
Rekuto speichern    : ein Rekuto wird gespeichert wenn das Muster vollständig ist.
Rekuto laden        : ein Rekuto wird geladen, es kann sofort mit einem Lösungsversuch begonnen werden.
RekutoLösung
Die Dateinamen MÜSSEN folgenden Aufbau aufweisen <ColCount>x<RowCount>_Nr<laufende Nummer>.rek
Beim konstruieren MUSS der User aufpassen dass sich die Rechtecke NICHT überschneiden, Sorgfalt ist also angebracht!
Falls man sich beim Lösen geirrt hat kann man es noch einmal versuchen.
Viel Spaß beim Testen.
Gruß Fiete

Rev. 1: die Zugrücknahme ist implementiert, beim Lösen und Konstruieren ist die Rücknahme jetzt möglich
Rev. 2: das Programm erkennt jetzt jede Lösungsmöglichkeit
Einloggen, um Attachments anzusehen!
_________________
Fietes Gesetz: use your brain (THINK)


Zuletzt bearbeitet von Fiete am Sa 26.01.19 15:46, insgesamt 4-mal bearbeitet

Für diesen Beitrag haben gedankt: jasocul, Mathematiker, Narses
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Fr 18.01.19 14:47 
Hätte es mir gerne mal angesehen. Leider ist der Anhang nicht verfügbar.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 18.01.19 15:11 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Fr 18.01.19 15:36 
Moin,
Frühlingsrolle hat recht mit "Mhm, hier ist irgendetwas schief gelaufen."
Habe die zip-Datei noch einmal hochgeladen.
Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 21.01.19 09:48 
Jetzt konnte ich das mal testen.
Das Spiel ist interessant. Ich mag solche Spiele.

Anregungen:
user profile iconFiete hat folgendes geschrieben Zum zitierten Posting springen:

Die Dateinamen MÜSSEN folgenden Aufbau aufweisen <ColCount>x<RowCount>_Nr<laufende Nummer>.rek

Die Spielfeldgröße kannst du doch sicher mitspeichern. Das würde manuelle Fehler beim Dateinamen verhindern und ist mMn anwenderfreundlicher.
user profile iconFiete hat folgendes geschrieben Zum zitierten Posting springen:

Beim konstruieren MUSS der User aufpassen dass sich die Rechtecke NICHT überschneiden, Sorgfalt ist also angebracht!

Da würde ich mir wünschen, dass das vom Programm automatisch verhindert wird. Man kann sicher eine gewisse Sorgfalt vom Anwender erwarten, aber man kann mit der Maus auch mal abrutschen.
Da komme ich gleich auf meinen nächsten Vorschlag:
Mirt fehlt da eine Rückgängig-Funktion. Die muss nicht mehrere Schritte beinhalten, aber ich habe beim Testen gemerkt, dass man schnell mal einen kleinen Fehler gemacht hat, den man gerne beheben möchte, ohne gleich das ganze Rekuto neu starten zu müssen.
Evtl. kann man das auch mit der rechten Maustaste auf ein Zahlenfeld lösen. Also die zugehörigen Felder wieder freigeben.
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Mo 21.01.19 18:30 
Moin jasocul,
die Dateinamen werden automatisch vorgegeben, die Nummer kann ja verändert werden, die Größen hätte ich auch mit in die Datei aufnehmen können - habs diesmal
anders gelöst. :wink:

Beim Konstruieren testet das Programm etwaige Überschneidungen, hab den Hinweis nur zur Sicherheit mit angegeben. :!:

Eine Rückgängig-Funktion ist in Arbeit, müßte ich in dieser Woche noch schaffen, der Handball lenkt mich zur Zeit ab. :dance2:

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)

Für diesen Beitrag haben gedankt: jasocul
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 22.01.19 13:42 
Moin Fiete,

bisher hatte ich nur wenig Zeit, mir deinen Source genau anzusehen.
Deine Source-Formatierung liegt mir auch nicht so. :wink:

Ich hatte jetzt schon zwei mal eine Lösung, die das Programm als unzulässig betrachtet hat. Es scheint so, als gäbe es ein Problem, wenn es mehrere Lösungen gibt, die nach den Regeln erlaubt sind.
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Di 22.01.19 15:31 
Moin jasocul,
die Zugrücknahme ist fertiggestellt.

Es ist nicht ausgeschlossen, dass mehrdeutige Aufgaben entstehen.
Durch die Rücknahmemöglichkeit der Züge kann der Spieler die Computerlösung erhalten.
Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mi 23.01.19 08:08 
user profile iconFiete hat folgendes geschrieben Zum zitierten Posting springen:
die Zugrücknahme ist fertiggestellt.

Danke :zustimm:

user profile iconFiete hat folgendes geschrieben Zum zitierten Posting springen:

Es ist nicht ausgeschlossen, dass mehrdeutige Aufgaben entstehen.
Durch die Rücknahmemöglichkeit der Züge kann der Spieler die Computerlösung erhalten.

Hmm. Kann man natürlich so machen. Ich fände es besser, wenn ein Programm auch andere Lösungen als Richtig akzeptiert, wenn sie den Regeln entsprechen. Die vordefinierte Computer-Lösung als einzig korrekte zu betrachten, halte ich für ungünstig.

Ich hoffe ich nerve dich nicht zu sehr mit meiner "Kritik". :wink:
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Mi 23.01.19 18:08 
Moin jasocul,
Deine "Kritik" ist schon berechtigt. Ich habe beim Testen selbst die Erfahrung gemacht dass eine Lösung nicht als solche vom Programm erkannt wurde.
Jetzt werde ich mich aufraffen und eine Testroutine entwickeln, eine Idee hab ich zwar schon, die Umsetzung kann ein paar Tage dauern. :gruebel:

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)

Für diesen Beitrag haben gedankt: jasocul
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 24.01.19 08:04 
Mach dir keinen Stress.
Hätte ich Zeit für private Projekte, hätte ich schon mitprogrammiert.
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Sa 26.01.19 15:48 
Moin jasocul,
die neue Version ist fertig zum Testen, habe sie hochgeladen.

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)

Für diesen Beitrag haben gedankt: Horst_H, jasocul
Horst_H
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1652
Erhaltene Danke: 243

WIN10,PuppyLinux
FreePascal,Lazarus
BeitragVerfasst: Sa 26.01.19 17:58 
Hallo,

den Schaltknopf "Rekuto selbst lösen" könnte man vielleicht größer machen und/oder fablich absetzen, oder oben/unten setzen.Wahrscheinlich bin ich kantenfixiert ;-)
Ich gebe zu, über Bedienbarkeit habe ich mir nie Gedanken gemacht.

Gruß Horst
P.S.:
Lazarus kennt scheinbar TColorBox nicht.
Zitat:
Rekuto.pas(24,13) Error: Identifier not found "TColorBox"
Rekuto.pas(24,22) Error: Error in type definition
Rekuto.pas(24,5) Error: Symbol cannot be published, can be only a class
Fiete Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 601
Erhaltene Danke: 339

W7
Delphi 6 pro
BeitragVerfasst: Sa 26.01.19 18:14 
Moin Horst_H,
bei diesem Programm habe ich die Schaltknöpfe gleich groß gestaltet :wink: , die Farbe für die Rechtecke sollte der Spieler selbst bestimmen können. :D
Wenn in Lazarus keine TColorBox existiert könnte die Komponente vielleicht durch ein konstantes äquivalentes Array[0..14] of TColor ersetzt werden.

Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: So 27.01.19 08:00 
Hallo Horst_H,

laut TColorBox sowie ColorBox sollte diese auch bei Lazarus (FreePascal) existieren (evtl. bei den LCL-Komponenten, ansonsten direkt Lazarus Code and Component Repository - ColorBox).
ub60
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 762
Erhaltene Danke: 127



BeitragVerfasst: So 27.01.19 13:36 
TColorBox funktioniert in Lazarus wunderbar. Lediglich die ShellExecute-Zeile müsste man (für Windows) ändern:

ausblenden Delphi-Quelltext
1:
ShellExecute(0nil, PChar('cmd'),PChar('/c start https://www.janko.at/Raetsel/Rekuto/Beispiel.htm'), nil0);					

ub60