Autor Beitrag
Namenlosnameless
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Mo 03.01.11 21:46 
Hallo!

Darf ich euch mein neustes Projekt vorstellen?

Der Sudoku Creator!


Falls ihr die Anzahl an verbleibenden Zahlen manuell einstellt sollten für die Lösbarkeit nicht weniger als 25 Zahlen verbleiben.



aktuelle Version: 3.0

Features:

-Manuelles lösen am Computer!
-Farbunterscheidung von Zahleneingaben
-Eingabe zu Testzwecken
-Überprüfung ob eingegebene Zahl stimmen kann
-Laden funktioniert ohne verlust, von eingegebenen Zahlen
-Möglichkeit zur Eingabe von Kandidaten
-Eingabe mit der Tastatur

Features die geplant bzw. in Arbeit sind:


-Ausgabe von Sudokus die sicher Lösbar sind.


pic4



Nutzung der Lösemöglichkeit:

-mit klick auf ein Feld, dass nicht vom Computer vorgegebenwurde, dieses selcetieren.
-mit weiterem Klick auf dieses Feld, keyboard öffnene
-Kandidaten oder Zahlen eintippen (Kandidaten mit "Bestätigen" in das Sudoku eintragen, Zahlen einfach mit Klick darauf).
Wenn man statt einer Zahl Kanditaten eintragen will muss zuerst ein leeres Feld (durch Klick auf das rote X) erzeugt werden

Erklärung der Farben:
-schwarz: vom Computer vorgegebene Zahl
-blau: manuell eingegebene Zahl, die theoretisch stimmen kann
-rot: manuell eingegebene Zahl, die sicher nicht stimmt
-grün: nur zu Testzwecken eingefüllte Zahl

ACHTUNG: wenn eine Zahl blau ist, heißt dass nicht, dass das automatisch die richtige Zahl ist, nur dass momentan keine Regelverletzung vorliegt!
Grüne Zahlen werden nicht in die Berechnung, der möglichen Zahlen mit einbezogen, also sind niemals auslöser für eine Regelverletzung

Tastatureingabe
mit den Pfeiltasten bzw. W,A,S,D kann man über das Spielfeld navigieren.
Eingabe von Zahlen, mit dem Ziffernblock oder den Nummerntasten über den Buchstaben
Kanditaten können mit Alt+Zahl eingegeben werden.

Die Eingabemöglichkeit mit der Maus bleibt weiterhin erhalten!

viel Spaß!



Für Verbesserungsvorschläge, konstruktive Kritik, Lob usw. bin ich immer offen ;D
Einloggen, um Attachments anzusehen!
_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>


Zuletzt bearbeitet von Namenlosnameless am Mo 10.01.11 22:31, insgesamt 18-mal bearbeitet
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 03.01.11 22:15 
Hallo,
na, sieht doch ganz nett aus. Für meinen Geschmack sind die beiden Buttons "Erstellen" und "Drucken" ziemlich groß geraten. Und die beiden Buttons für das Laden und Speichern sollten deutsche Labels erhalten, wenn denn alles im Programm deutsch ist.
Jedenfalls ist der Creator gut für jemanden, der nicht genug von Sudokus bekommen kann.
[Ich bewunder die Leute immer, denn soviel Langeweile habe ich nicht]

Ansonsten fehlt noch ein bisschen Fehlerbehandlung beim Speichern und Laden der Dateien. Ja, musste mal wieder den Extremtest machen. Was habe ich alles hinbekommen:
- eine FormatException
- eine IndexOutOfRangeException

Aber sonst sehr stabil, gut gemacht! Auch die Druckfunktion ist gut geraten.
LG, Marko

Für diesen Beitrag haben gedankt: Namenlosnameless
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Mo 03.01.11 22:32 
Danke!

Das Problem mit der Format-Exeption wäre behoben!

Jz müsste ich noch wissen, wie du die IndexOutOfRange-Exeption ausgelöst hast!

Lg Christoph

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mo 03.01.11 22:49 
Die IndexOutOfRange-Exception tritt auf, wenn ich aus einer beliebigen Zeile der Datei einen Wert entferne.
Also die Anzahl der Zahlen, die durch das Semikolon gertrennt sind, zu gering sind. Wenn ich eine ganze Zeile entferne, dann gibt es eine NullReferenceException

Ich will wirklich nicht Dein Projekt schlecht machen, weiss aber, dass es beim Arbeiten mit Dateien meistens zu Problemen kommen kann. Und die wenigsten Benutzer spielen warscheinlich so in den Dateien rum...
Bin jedenfalls auf die nächste Version gespannt. Meinst Du mit "Resolver", dass man die erstellten Sodokus in dem Programm zu lösen versuchen kann, oder soll es möglich sein, ein Sodoku dort einzutragen, was automatisch gelöst wird? Das mit dem automatisch lösen hatte ich mal in Delphi programmiert.
LG
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Mo 03.01.11 22:53 
wow an das herumspielen in Datein hab ich ned gedacht ;D

ich will beides machen!
Also die erstellten Sudokus im Programm manuell lösen
und auch welche eintragen, die dann der Computer macht!

Dann brauch ich nur noch einen neuen Namen für das Programm :D

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Regan
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 2157
Erhaltene Danke: 72


Java (Eclipse), Python (Sublimetext 3)
BeitragVerfasst: Mo 03.01.11 23:01 
Ist das Programm in .NET geschrieben oder benötigt man irgendwelche .NET Bibliotheken? Ich kann das unter Wine gar nicht problemlos öffnen :gruebel:
Des Weiteren wäre ein Screenshot nicht schlecht.
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Mo 03.01.11 23:09 
Ja das Programm ist in .Net geschrieben. Ich habe nur Windows-eigene Bibliotheken verwendet.

Screenshots sind auf dem Weg ;D

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 04.01.11 00:07 
user profile iconRegan hat folgendes geschrieben Zum zitierten Posting springen:
Ich kann das unter Wine gar nicht problemlos öffnen :gruebel:
Schon mit Mono probiert ;) ? Bei einem so einfachen Programm erwarte ich keine Kompatibilitätsprobleme.

_________________
>λ=
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 04.01.11 06:56 
user profile iconNamenlosnameless hat folgendes geschrieben Zum zitierten Posting springen:
ich will beides machen!
Also die erstellten Sudokus im Programm manuell lösen
und auch welche eintragen, die dann der Computer macht!
Ja, sowas hatte ich auch schon programmiert, aber ich fand das Lösen deutlich einfacher als das Erstellen. ;-)
So gut wie bei dir hat das Erstellen bei mir nicht geklappt. :zustimm: (Ist schon ein paar Jahre her, habs auch nicht wirklich schön gemacht.)
Ob die dann lösbar waren, hab ich einfach mit meinem Solver festgestellt. ;-)
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Di 04.01.11 10:37 
Wenn ich auf Solver umstellen will, muss ich ca 5 Zeilen + eine if-Abfrage im Code ändern

Das mit der Lösbarkeit und dem Solver drüberrennen zu lassen ist so eine Sache, da ein Computer jedes Sudokus lösen kann, einfach indem er probiert. Ein Mensch jedoch kann nicht probieren und verwerfen, also müsste ich im Programm Vorgangsweisen implementieren, die den Suchweisen von Menschen gleichen! Das ist nicht soo einfach.

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Di 04.01.11 10:43 
Naja, das mit dem Lösen würde ich nicht durch rumprobieren machen.
Jedes Sudoku kann ja quasi durch Ausschlussverfahren gelöst werden.
So habe ich es (wenn ich mir denn mal ein Sudoku vorgenommen habe) auch immer gemacht.
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Di 04.01.11 10:49 
Naja, nicht jedes Sudoku!
Das Mag bei leicht und mittel noch stimmen! Allerdings bei schwer wird man mit dem Ausschlussprinzip, irgendwann nicht mehr weiterkommen. Teilweise werden Logische Denkmuster benutzt, die das einfache "Schauen, für welches feld die Zahl nur eine Möglichkeit hat" weit übersteigen

hierzu: de.wikipedia.org/wiki/Sudoku unter Lösungsmethoden

Neue Version mit den Fehlerbehandlungen ist da!

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Trashkid2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 561
Erhaltene Danke: 137



BeitragVerfasst: Mi 05.01.11 21:25 
user profile iconNamenlosnameless hat folgendes geschrieben Zum zitierten Posting springen:
Naja, nicht jedes Sudoku!
Das Mag bei leicht und mittel noch stimmen! Allerdings bei schwer wird man mit dem Ausschlussprinzip, irgendwann nicht mehr weiterkommen. Teilweise werden Logische Denkmuster benutzt, die das einfache "Schauen, für welches feld die Zahl nur eine Möglichkeit hat" weit übersteigen
So langsam glaube ich das auch, wenn ich ein schweres Sudoku sehe, das generiert wurde. Da muss der Algo schon sehr gut sein, um das zu lösen..
user profile iconNamenlosnameless hat folgendes geschrieben Zum zitierten Posting springen:
Neue Version mit den Fehlerbehandlungen ist da!
Gut gemacht! Habe jetzt auch keinen Fehler hinbekommen.
Marko
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 05.01.11 21:30 
user profile iconTrashkid2000 hat folgendes geschrieben Zum zitierten Posting springen:
So langsam glaube ich das auch, wenn ich ein schweres Sudoku sehe, das generiert wurde. Da muss der Algo schon sehr gut sein, um das zu lösen..
Ich habe da zuerst das Ausschlussverfahren benutzt und dann einfach Backtracking. Geht aber auch noch besser, aber da hatte ich keine Lust und keine Zeit. ;-)

Ja, Fehler sehe ich soweit auch keine mehr.
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Do 06.01.11 01:17 
okay Wenn ich mit Backtracking löse, heißt das ja nicht zwingend, dass es für den Menschen der es lösen will, lösbar ist!

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Do 06.01.11 08:17 
Doch, denn prinzipiell kann man auch als Mensch das so ausprobieren. Der Mensch macht das vielleicht etwas logischer als ein Algorithmus, aber prinzipiell genauso.
Ich habe da schon versucht logische Gewichte für die verschiedenen Möglichkeiten zu vergeben, aber besonders viel schneller ging das noch nicht.
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Do 06.01.11 21:42 
Okay der nächste Schritt in Richtung vollständigkeit ist getan ;D

Version 2.0 ist Online (zu den Änderungen: bitte oben schaun)

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Fr 07.01.11 02:01 
Wieder neue Version! 2.1

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>
fireworker
ontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 28



BeitragVerfasst: Fr 07.01.11 11:06 
Hallöchen, :-)

die neuen Features klingen interessant, würde sie gerne auch testen wollen.
Kriegen wir auch einen neuen Download? :-D

lg

_________________
Statistik ist die mathematische Form der Lüge.
Namenlosnameless Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 259
Erhaltene Danke: 6

Windows XP Home Edition, Windos Vista
C#
BeitragVerfasst: Fr 07.01.11 11:46 
Ohh hab gerade gesehen, dass ich beim Raufladen, den Post nicht "Abgesendet" habe ;D

okay zur Nutzung der Features:
-mit klick auf ein Feld, dass nicht vom Computer vorgegebenwurde, dieses selcetieren.
-mit weiterem Klick auf dieses Feld, keyboard öffnene
-Kandidaten oder Zahlen eintippen (Kandidaten mit "Bestätigen" in das Sudoku eintragen, Zahlen einfach mit Klick darauf).
Wenn man statt einer Zahl Kanditaten eintragen will muss zuerst ein leeres Feld (durch Klick auf das rote X) erzeugt werden

Jz sollte alles oben sein

_________________
1:<<Life sucks!!>> 2:<< Well okay>> 1: <<Just Yours>> 2:<<Ohmph>>


Zuletzt bearbeitet von Namenlosnameless am Fr 07.01.11 11:48, insgesamt 1-mal bearbeitet