AW: [Python-de] Meine Denksportaufgabe
Gerson Kurz
Gerson.Kurz at t-online.de
Tue Oct 15 21:14:28 EDT 2002
> War da nicht noch was mit Minimalabstaenden? ;)
>
> -schorsch
Shit ;) Der Fehler tritt bei meinen sonstigen Tests sehr selten auf (warum,
siehe unten), und gerade in dem Beispiel, das ich posten will sehe ich ihn
nicht! Ärgerlich...
Erstens, ich habe jetzt einen hack eingebaut, um die Zufallszahlen
vorhersagbar zu machen, man kann den random seed an der k-zeile angeben.
Ansonsten war das Reproduzieren von Fehlern Glücksspiel...
Zweitens, Ich hatte zwar überprüft, ob der Startpunkt einer Figur frei ist,
aber nicht, ob er auch komplett frei liegt. Beispiel: Gegeben
o*
**
*
dann liegt der Startpunkt o zwar frei, aber es gibt keine gültige Figur für
diesen Punkt.
=> Fehler 1: Startpunkt muß ganz frei sein.
=> Fehler 2: Wenns' vom Startpunkt net weiter geht, stirbt diese Figur.
Dritters, der Fehler schlechthin: wenn ein punkt nicht passt, nicht auf den
Punkt zuvor zurückgehen, sondern zwei Punkte!!! Das war der eigentliche
Fehler. Nimm folgende Figur
|------(Bildschirmrand)
|oooo
|
|********
o möchte nach unten und stösst in Zeile drei auf "*". Dann hat bisher der
Algorithmus Zeile zwei erlaubt, weil die Punkte auf der Linie lagen (-1).
Jetzt "erkennt" der A daß das nicht geht und bricht die Figur ab. Damit
scheints erheblich besser zu funktionieren. Auf dem Bildspace
Mit kasterl -x=75 -y=25 -r=1860 -s=1860 >test.txt
kriegt man (nach geraumer Denkpause) jetzt z.b. das hier:
222 22222 1111111111111111 6666 ddd
2 22222222222 2 2 1 1 6 6 d d
2 2 2 2 1 eee 1 6 6 000000 d d 00000 000
2 22222222222 2 2 1 e e 4444444644644444 0 0 ddd 0 0 0 0
2 2 2 99999 1 0000 eee 4 1 6 6 444 0 0 0 0 0 0
222222222222222 9 2 9 1 0 0 4 1 6 6 4 0 000000000 000000
2 9999999999999999 4 1 6666 0004000 0 0 0
222222222222 2 9 1 0 0 9 4 1 0 4 5555 0 0 0
2 2 9 1 0 0 9 4 1 0 4 5 5 0 0 0
888888 2 999999 1 000000900400010000000000004000000050050000000 0
8 8 2 9 2 1 0 9 4 1 0 4 5 5 0 0 0 0
1111811118111219112111111111111911411111111 0 4 ccccccccccccccccccc
1 8 8 2 9 2 1 0 9 4 1 1 0 4 c 5 5 0 0 0 0 c
1 888888 2 9 2 1 0 9 4 1 1 00040000c0050050000000 0 c
1 2 9 2 1111 0 9 4 1 1 4 c 5 5 0 0 0 c
1 333333 2 9 2 1 0 9 4 1 1 77777777 ccccccccccccccccccc
1 3 3 2 9 2 1 0 99 4 1111111 7 4 7 5 5 0 0 0
1 3 333 2292222222222 0 9 4 1 1 7 44744 5 5 0 0 bbbbbb
1 3 33 9 2 1 2 0 9 4 aaa 1 1 7 7 4 5 5 0 0 b 0 b
1 333 999999999 2 00900 4 a a 1 1 777777 7 4 5 5 0 0 bbbbbb
1 2 1 9 2 9 0 4 aaa 111 777 4 5555 0 0 0
1 22222922 99 0 4 4 0 000000
111111111 1 9 9 0040000000000000000000040000000000
1111111111111 9 9 4 4
9999999 4444444444444444444444
Sehr schön sind die Linien 2 und 0. (Nochmal nachguck, ob diesmal auch
wirklich nix anstössiges dabei ist ;) Ich spiels gleich auf den Server...
More information about the Python-de
mailing list