Probleme mit Sudoku
Halli hallo Leute Ich soll für den Unterricht ein Programm schreiben, und habe mich für ein Sudoku entschieden aber es stellt sich als schwerer heraus als ich dachte.
Ich habe ja bereits angefangen und eine Startseite erstellt mit einer ComboBox um den Schwierigkeitsgrad zu bestimmen und bei dem Startbutten werden in der Form2 9x9 editfelder generiert. wie kann ich im Form2 ein sudoku einer bestimmten Schwierigkeitsgrad zuordnen und generieren lassen?
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) CBSchwGrad: TComboBox; BtStart: TButton; EdName: TEdit; PaUeberschrift: TPanel; procedure FormCreate(Sender: TObject); procedure BtStartClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation Uses Unit2; {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin CBSchwGrad.AddItem('Leicht', Self); CBSchwGrad.AddItem('Mittel', Self); CBSchwGrad.AddItem('Schwer', Self); end; procedure TForm1.BtStartClick(Sender: TObject); begin Application.CreateForm(TForm2, Form2); Form2.ShowModal; end; end.
Delphi-Quellcode:
Also ich merke gerade, dass ich keine Ahnung von Delphi habe. Ich danke schon mal und hoffe jmd kann mir helfen.
procedure TForm2.setposition(spalte:Integer; zeile:Integer; editfeld:Integer);
begin felder[editfeld].Font.Size:=22; felder[editfeld].Width:=50; felder[editfeld].Height:=50; felder[editfeld].AutoSize:=False; felder[editfeld].Top:=(8*zeile)+(50*(zeile-1)); felder[editfeld].Left:=(8*spalte)+(50*(spalte-1)); end; procedure TForm2.FormCreate(Sender: TObject); var editfeld,spalte,zeile:Integer; begin editfeld:=0; For spalte:=1 to 9 do begin For zeile:=1 to 9 do begin felder[editfeld]:=TEdit.Create(Form2); felder[editfeld].Parent:=Form2; setposition(spalte,zeile,editfeld); end; end; end; |
AW: Probleme mit Sudoku
Hallo und willkommen im Forum ;-)
Zitat:
Jedenfalls musst du dir erst einmal darüber klar werden wie du die Sudokus überhaupt generieren willst. Danach kannst du anfangen das in Delphi umsetzen. |
AW: Probleme mit Sudoku
Danke für die schnelle Antwort,
Ich wollte mir das für den Unterricht nicht zu kompliziert machen. Ich wollte einfach aus einer Zeitschrift schon fertige Sudokus nehmen, und im Hintergrund das gelöste. und die eingaben sollen mit dem gelösten einfach verglichen werden. Ich weiß nun leider nicht wie ich ein schon fertiges (ungelöstes) Sudoku nach der Auswahl des Schwierigkeitsgrades anzeigen lassen kann. |
AW: Probleme mit Sudoku
Wäre es nicht vllt. einfacher ein Programm zu schreiben, das Sudokus löst?
Da gibt's hier im Forum doch schon einige Ansätze, wo man sich Ideen holen kann. Jenachdem welche Lösungsvariante man wählt, könnte man sich so auch ein bißchen mit Rekursion beschäftigen. Und mit Arrays, denn man sollte hier Anzeige (z.B. via Grid) von der Logik trennen. Wäre halt eine gute Übung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz