Thread RDW #6 - Rätsel der Woche 6 (21 answers)
Opened by Crian at 2004-08-13 15:11

Crian
 2004-08-14 17:44
#49257 #49257
User since
2003-08-04
5870 Artikel
ModeratorIn
[Homepage]
user image
So, meine Lösung kann jetzt auch mit der Variante umgehen. Beispieldatei hierzu:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#
# Test 1
#

columns = 5
rows = 5

stone 1 = (2, 0), (2, 1)
stone 2 = (2, 2), (3, 2)
stone 3 = (4, 1), (4, 2)
stone 4 = (0, 2), (1, 2)
stone 5 = (3, 3), (4, 3)
stone 6 = (1, 3), (2, 3)
stone 7 = (0, 3), (0, 4)

goal = 1, (2, 3), (2, 4)

type = car

# Koordinaten beginnen links unten mit 0,0
# Die erste Koordinate ist die Zeile, die
# zweite die Spalte.
#
# +---+---+---+---+---+
# 4 | 0 | 3 | 3 | 5 | 0 |
# +---+---+---+---+---+
# 3 | 0 | 0 | 2 | 5 | 0 |
# +---+---+---+---+---+
# 2 | 1 | 1 | 2 | 6 | 0 | ->
# +---+---+---+---+---+
# 1 | 0 | 0 | 4 | 6 | 0 |
# +---+---+---+---+---+
# 0 | 0 | 0 | 4 | 7 | 7 |
# +---+---+---+---+---+
# 0 1 2 3 4
#
# Eine minimale Loesung ist
# 3-l, 2-u, 4-u, 7-l, 7-l, 7-l, 4-d, 6-d, 1-r, 1-r, 1-r


Zu finden hier:
http://www.perl-community.de/rdw/rdw06/f3.field

Wie man sieht, habe ich die Zeile type = car hinzugefuegt, um diese Variante zu spezifizieren. Fehlt die type Information oder ist sie auf 'standard' gesetzt, so wird das normale Verhalten spezifiziert.

Mein Programm findet dazu die Lösung 3-l, 2-u, 4-u, 7-l, 7-l, 6-d, 7-l, 4-d, 1-r, 1-r, 1-r (also auch 11 Schritte).

Im Moment habe ich eine Ausgabeklasse, die das Ergebnis auf der Konsole anzeigt. Ich hab aber auch schon Rümpfe für eine Tk-Präsentation des Ergebnisses. Wenn ich noch genug Lust habe, programmiere ich die noch bis Montag, sonst liefer ich das mal später nach.


Ich hoffe es trügt der Eindruck, dass dieses Rätsel ausser mir niemanden interessiert?!
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite

View full thread RDW #6 - Rätsel der Woche 6