Anregung/Anstoß für ein Sudoku gesucht
Anregung/Anstoß für ein Sudoku gesucht
Nachdem ich mich in der letzten Zeit mehr als eigentlich ein wenig geplant mit MingW und Eclipse beschäftigt habe, blieb dort als eines von 3 "Themen" sprich Programmen in fünf verfügbaren Sprachen (C,C++,objective-c, Fortran und Ada) u.a. ein Sudoku übrig, wo ich ein bißchen an der Ein/Ausgabe und am Algorithmus gebastelt habe. Super gut war nicht mein Anspruch, nur identisch in den o.g. 5 Sprachen.
Nun erwächst aber in mir doch der Wunsch, das noch mal ordentlich zu machen und natürlich mit GUI. Anbieten würde sich für mich Java oder Python - da war ich davor "dran" und wüßte noch ungefähr wie ich so einem Button Eigenschaften gebe, viel anders als bei einem Taschenrechner wird es nicht sein. Excel will ich nicht - also fiel meine Wahl auf Lazarus. Aber bevor ich beginne das Rad zum 999.Mal neu zu erfinden, wollte ich fragen, ob mir jemand einen Recherche-Tip geben kann. In den Lazarus/Free-Pascal Beispielen habe ich so auf Anhieb nichts gefunden. Welchen Ansatz würdet Ihr wählen?
Nun erwächst aber in mir doch der Wunsch, das noch mal ordentlich zu machen und natürlich mit GUI. Anbieten würde sich für mich Java oder Python - da war ich davor "dran" und wüßte noch ungefähr wie ich so einem Button Eigenschaften gebe, viel anders als bei einem Taschenrechner wird es nicht sein. Excel will ich nicht - also fiel meine Wahl auf Lazarus. Aber bevor ich beginne das Rad zum 999.Mal neu zu erfinden, wollte ich fragen, ob mir jemand einen Recherche-Tip geben kann. In den Lazarus/Free-Pascal Beispielen habe ich so auf Anhieb nichts gefunden. Welchen Ansatz würdet Ihr wählen?
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Anregung/Anstoß für ein Sudoku gesucht
9x9-Grid?
81 TEdit's?

81 TEdit's?


Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Anregung/Anstoß für ein Sudoku gesucht
Array dynaisch in Labels, Frames oder BitButton umrechnen. Damit würde das Spielfeld sich je nach Arraygröße anpassen.
Wenn du dann noch ein Tag richtig zuweist, dann reicht eine Ereignisbehandlung aus.
Wenn du dann noch ein Tag richtig zuweist, dann reicht eine Ereignisbehandlung aus.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Anregung/Anstoß für ein Sudoku gesucht
Wieso umrechnen? Direkt nutzen.af0815 hat geschrieben: Di 17. Dez 2024, 12:10 Array dynaisch in Labels, Frames oder BitButton umrechnen. Damit würde das Spielfeld sich je nach Arraygröße anpassen.
Wenn du dann noch ein Tag richtig zuweist, dann reicht eine Ereignisbehandlung aus.
Code: Alles auswählen
//Feldvariable der Form selbst
MeinArray: Array[1..9,1..9] Of TEdit; //Oder welches control auch immer
Danach kann man direkt mit dem Array arbeiten.
btw: Kann man eigentlich Controls einem Array in der Deklaration direkt zuweisen?
Also im Sinne von
Code: Alles auswählen
MeinArray:Array[1..3] Of TEdit=(TEdit1, TEdit2, TEdit3);
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
-
- Beiträge: 47
- Registriert: Fr 21. Feb 2020, 19:17
- OS, Lazarus, FPC: Win10/64
- CPU-Target: 64 Bit
- Wohnort: Osterholz-Scharmbeck
Re: Anregung/Anstoß für ein Sudoku gesucht
Array und Zeichendarstellung und Eingabemöglichkeit und nur eine Komponente: tStringGrid
-
- Beiträge: 6899
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Anregung/Anstoß für ein Sudoku gesucht
Code: Alles auswählen
MeinArray: Array[1..9,1..9] Of TEdit; //Oder welches control auch immer
Code: Alles auswählen
MeinArray: Array[0..8,0..8] Of TEdit;
Solche Array fangen immer bei 0 an. Einzige Ausnahme ist der String.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Anregung/Anstoß für ein Sudoku gesucht
Ich kenne die Diskussion, und ehrlich? Halte ich mal gar nix von.Mathias hat geschrieben: Di 17. Dez 2024, 13:36Ich fange eine array immer bei 0 an.Code: Alles auswählen
MeinArray: Array[1..9,1..9] Of TEdit; //Oder welches control auch immer
Das hat den Vorteil, wen du mal auf die Idee kommst, die Felder dynamisch zu verändert,Code: Alles auswählen
MeinArray: Array[0..8,0..8] Of TEdit;
Solche Array fangen immer bei 0 an. Einzige Ausnahme ist der String.
Arrays fangen bei mir an, da von wo ich will. Basta!
Mal ist es von 0, mal von 1, mal von woanderst.
Ausser dynamisch erzeugte Arrays. Klar, die fangen bei 0 an. zumindest in Freepascal.
Ich kenne es aus VB6, dass man sogar dynamisch erzeugte Arrays anfangen lassen konnte von wo man will
Diese Diskussionen "Arrays fangen bei 0 an..." halte ich für nicht zielführend und verwirrend
Und dieses "Arrays beginnen bei 0" stammt aus der "C-Ära", da die Adresse der Array-Variablen selbst immer gleich war mit der Adresse des ersten ("0"-ten) Elements.
So dass man den Index des Arrays quasi als "Offset" zur Adresse (Beginn Speicherbereich) betrachten konnte
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
- juelin
- Beiträge: 237
- Registriert: Sa 24. Jul 2021, 18:03
- OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
- CPU-Target: 64Bit
- Wohnort: Mannheim
Re: Anregung/Anstoß für ein Sudoku gesucht
Habe mal in Delphi Sudoku geschrieben.
Wenn das was für dich ist, kannst du es haben.
Gruß
Jürgen
Wenn das was für dich ist, kannst du es haben.
Gruß
Jürgen
Re: Anregung/Anstoß für ein Sudoku gesucht
Hallo und erstmal vielen Dank für eure Denkanstöße. Das mit dem StringGrid erscheint mir am aussichtsreichsten, daß auch ich es verstehe... wengleich ich das Control in meinem Lazarus noch nicht gefunden habe. Ich wollte jetzt zur Übung mal erstmal schnell das C-Programm nach Pascal umschreiben, was ich im MingW verbrochen habe (Datei einlesen, Sudoku lösen, ausgeben). Damit ich einen Anfang habe. Danach das Projekt von Grund auf neu aufsetzen.
Danke @juelin, das würde mich in der Tat interessieren - ich hoffe ich kann es dann nach Lazarus importieren. In einer PN geht gleich meine E-Mail an dich heraus.
Danke @juelin, das würde mich in der Tat interessieren - ich hoffe ich kann es dann nach Lazarus importieren. In einer PN geht gleich meine E-Mail an dich heraus.
- Zvoni
- Beiträge: 363
- Registriert: Fr 5. Jul 2024, 08:26
- OS, Lazarus, FPC: Windoof 10 Pro (Laz 2.2.2 FPC 3.2.2)
- CPU-Target: 32Bit
- Wohnort: BW
Re: Anregung/Anstoß für ein Sudoku gesucht
alfware17 hat geschrieben: Di 17. Dez 2024, 15:08 .. wengleich ich das Control in meinem Lazarus noch nicht gefunden habe.
Ein System sie alle zu knechten, ein Code sie alle zu finden,
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Eine IDE sie ins Dunkel zu treiben, und an das Framework ewig zu binden,
Im Lande Redmond, wo die Windows drohn.
Re: Anregung/Anstoß für ein Sudoku gesucht
Zum Spicken: Es gibt ein Sudoku-Programm für Lazarus auf ccr: https://sourceforge.net/p/lazarus-ccr/s ... ns/sudoku/
-
- Beiträge: 15
- Registriert: Fr 28. Aug 2015, 17:00
- OS, Lazarus, FPC: Ubuntu 24.04.1 LTS (L 3.6 FPC 3.2.2)
- CPU-Target: 64Bit
Re: Anregung/Anstoß für ein Sudoku gesucht
Sehr interessant und lehrreich https://www.behrenhoff.de/.
Der Quelltext ist für Delphi.
Damit es mit den Hintergrundfarben bei den TEdit's klappt habe ich TMemo's genommen.
Der Quelltext ist für Delphi.
Damit es mit den Hintergrundfarben bei den TEdit's klappt habe ich TMemo's genommen.
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Anregung/Anstoß für ein Sudoku gesucht
Ich hab auch mal ein Sudoku gemacht, dort wurde alles via Canvas von Hand gemalt..
--
Just try it
Just try it
Re: Anregung/Anstoß für ein Sudoku gesucht
Vielen Dank für eure Tips und Beispiele. Für mich ergibt sich nun erstmal folgender Plan, Delphi in einer Virtualbox installieren und gucken und versuchen zu verstehen, dann mein C-Programm umbauen und dann mal mich an dem GUI probieren... Ob das nun unbedingt über Weihnachten klappt 
