Laden...

AnySudoku

Erstellt von Floste vor 15 Jahren Letzter Beitrag vor 13 Jahren 8.054 Views
Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren
AnySudoku

So ich bin der Meinung, dass sich mein neuestes Projekt, für das ich Excite auf Eis gelegt habe, bereits sehen lassen kann: AnySudoku.

Wie der Name schon sagt hat das was mit Sudokus zu tun:
-Es generiert Sudokus
-Es löst Sudokus
-Man kann damit Sudokus selber lösen
-Es überprüft Sudokus

das ganze in verschidenen Größen und Formaten, bis jetzt gibts folgende:
Blöcke/Spielfeldgröße
33 /99 :das Standardsudoku schlechthin
32 /66
22 /44
34 /1212
33 /99 Samurai

Backtracking und Ausdünnen werden verwendet.

Die generierten Sudokus sind zwar immer mit Logik eindeutig lösbar aber nicht immer ganz einfach, da das Programm ziemlich effektiv ausdünnt und davon ausgeht, dass man das auch macht.

hier ein Screenshot mit einem samurai Sudoku drauf:

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren

Was geplan ist:
-weitere Formate (x sudoku, 1616/ 44, 2 ineinander geschachtelte...)
-unterschidliche Schwierigkeitsgrade für die generierten Sudokus
-speichern Funktion
-Chaossudoku und ein Editor dafür
-eventuell Webservice

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

S
401 Beiträge seit 2008
vor 15 Jahren

Hallo,

ich hab mir dein zip-Archiv runter geladen und muss sagen "Nicht schlecht her Specht" 😉 Dein ZIP-Archiv lässt sich mit Ark unter KDE 4.1 nicht öffnen. Warum auch immer.

Jedoch vermisse ich den SourceCode.

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren

Was willst du denn mit dem Code? Da stehen eh kaum Kommentare drin und zum reinschauen reicht doch auch reflector.

Wenn jemand helfen will: Ich kann eine Komponente, die Anfragen über http beantwortet gut gebrauchen:
-extra Thread,sodass man nur eine Startmethode aufrufen muss
-soll bei einer Anfrage eine methode aufrufen, die dann einen string zurückgibt und das las html an den Browser schicken
-soll den Standartbrowser starten können
-soll sich die addresse/port so wählen, dass es auch bei 2 Instanzen gleichzeitig keine probleme gibt
-keine ungefangenen exceptions vonwegen ungültige Anfrage,Verbindung unterbrochen etc.

Ps: ich verwende 7zip zum packen.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

H
182 Beiträge seit 2006
vor 15 Jahren

Zu deiner Thread Sache:
Verwende doch den BackgroundWorker

Web Abfragen:
Gibt es die WebClient Class einfach mal suchen 😉

Standart Browser öffnen:
Process.Start("http://www.google.de");

Wünsche:

  • Zoom Funktion für Vollbild z.B.
  • Speicerhn & Laden von Sudokus zum späteren weiterspielen.
  • Einfachere Bedienung (hab echt ne gefunden, wie ich jetzt eins generieren kann)
    Hierfür vielleicht unterscheiden von Spielen & Lösen in z.B. getrennte GUIs

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren

@HyperteX
Threads und so bekomm ich auch alleine hin und mit der Klasse Httplistener und der doku auch den Rest. Html ist sowieso Fleißarbeit.

Allerdings hatte ich bei Netzwerkgeschichten bisher immer eine längere Testphase, weil mehrere anfragen gleichzeitig managen und alle Fehler bei der Übertragung abfangen und managen doch recht aufwändig war. Deshalb dacht ich, es könnte jemand was in der Richtung für mein Projekt schreiben.

-Für eine Zoomfunktion müsste ich einiges ändern.
-Speichern und laden ist da schon einfacher. Steht allerdings gaanz weit hinten auf meiner liste.
-Zur Bedienung: wie kann man das denn einfacher machen? Bis jetzt muss man zuerst die Form des Sudokus generieren: Das Menue mit dem Gitter als Symbol. Dann die Zahlen: Das menue mit der 1 und dem Stern.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

H
182 Beiträge seit 2006
vor 15 Jahren

Also entweder ich versteh net was Du willst, oder du stellst dir das anders vor 🙂
Du willst doch irgend was mit irgend welchen Webseiten (z.B. PHP) oder so austauschen oder? Oder Willst Du irgendwie daraus ein Netzwerkspiel für 2+ Spieler machen (jedoch bleibt mir der Sinn bei Sudoku verschleiert 🙂

Wegen der Bedienung.
Du könntest z.B. einen Wizard machen, welcher dich durch den Start begleitet. Also:
-> Modus: Generieren oder Lösen?
-> Spielfläche
-> Sonstiges
-> Und Los!

Nochmal wegen dem Threading:
Warum generierst Du net einfach im backgroundWorker oder so? das is doch wahrscheinlich ne Sache von Minuten bis das läuft 🙂

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo ihr beiden,

behandelt solche Nebenkriegsschauplätze bitte nicht in "Projekte". Macht bei Bedarf einen extra Thread dafür auf.

herbivore

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren

So jetzt gibts ne neue Version.

  • Sehr viel schneller: nurnoch 5 Sekunden statt 40 um ein Samurai 9*9 Sudoku zu erstellen.
    -Erstellen von Sudokus in einen anderen Thread ausgelagert
    -Fortschrittsbalken (fast schon wieder überflüssig)
    -Anzeige im Webbrowser zum Ausdrucken (Ich hab ein bisschen Unfug mit css getrieben, also versucht garnicht erst, 2 Sudokus auf eine Webseite zu kopieren!!)

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

H
182 Beiträge seit 2006
vor 15 Jahren

Hi,

habs grad nochmal in der neuen version gespielt = schöne Änderungen!

Ich hab noch zu meinen vorherigen Vorschlägen neue 🙂

  • Vorgegebene Zahlen lassen sich bearbeiten => Schreibschutz
  • Wenn man mehrere Fehler macht heißt es immer noch "Sie haben EINEN Fehler gemacht."
  • Was ist der Eingabemodus und was ändert er?
  • Mehrere Schwierigkeitsstufen (Je schwerer desto weniger vorgegeben Zahlen)

Gruß
HyperteX

"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger Dijkstra

S
401 Beiträge seit 2008
vor 15 Jahren

Hallo,

kennt ihr eigentlich schon die Beschreibung für das Lösen eines Sudokus

80 Beiträge seit 2007
vor 15 Jahren

nö, kannte ich noch nicht, ist mir jetzt aber zu kompliziert (viertel vor 11 bin ich noch nicht ganz wach) 😉

A
763 Beiträge seit 2007
vor 15 Jahren

Von mir auch noch ein paar Hinweise:

  • Man kann mehrstellige Zahlen in ein Feld eingeben.

  • Schön wäre es, wenn sich das Spielfeld an das Fenster anpassen würde.

  • Vllt. den Fortschrittsbalken net in ein eigenes Fenster.

  • Diesen Eingabemodus verstehe ich auch nicht.

Ansonsten schön gemacht, bin grade dabei ein Samurai-Sudoku zu lösen. =)

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 15 Jahren

So ich bin grade aus dem Urlaub zurück und muss sagen: die nächste Version veröffentliche ich wenn überhaupt frühestens in ca. 1,5 wochen.

-Ich hab noch einen Fehler gefunden, dass beim Ausdünnen bestimmte Kombinationen nicht getestet werden. Das führt dazu, dass nicht so viele Sudokus ohne backtracking gelöst werden können. (2erpaare werden alle gestestet.) Das Lösen des Fehlers verschlechtert die Performance ziemlich.
-Weitere Optimierungen, um dem entgegenzuwirken einbauen
-Außerdem will ich noch eine Weitere Lösungstechnik einbauen.
-Dann kommen noch Schwirigkeitsgrade dran. Dafür muss ich aber die Art, wie Sodokus erstellt werden, etwas verändern.

Danach kommt die Gui erst dran.

  • Man kann mehrstellige Zahlen in ein Feld eingeben.

Wie soll man sonst sudokus mit 12 oder 16 Feldern pro Block/Spalte/Zeile ausfüllen?

Hallo,
kennt ihr eigentlich schon die Beschreibung für das Lösen eines Sudokus

Weder kannte ich das, noch hab ich ernsthaft Lust mich da durchzuarbeiten.

  • Vorgegebene Zahlen lassen sich bearbeiten => Schreibschutz

Gute idee! aber gehört zu gui.

Wenn man mehrere Fehler macht heißt es immer noch "Sie haben EINEN Fehler gemacht."

Das steht ziemlich weit unten auf der Todo Liste. Ich hatte die Funktion nur in die Gui eingebaut,weil ich die entsprechenden Funktionen schon woanders gebraucht hatte.

  • Was ist der Eingabemodus und was ändert er?

Dass die Zahlen eine andere Farbe haben und gesondert behandelt werden können.

Ich überlege grade, ob ich damit Sudokuhefte herausgeben kann/soll.
*Vorschau guck* man was für ein langer Post

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!

Floste Themenstarter:in
1.130 Beiträge seit 2007
vor 13 Jahren

gepatchte exe, die sich ohne administratorrechte starten lässt.
sonst keinerlei veränderungen zur obigen version.

Projekte:Jade, HttpSaver
Zum Rechtschreiben gibts doch schon die Politiker. Aber die bauen auch nur mist!