Sinn und Zweck ist es, die Grundlage für verschiedene
Verschieberätsel zu bilden, in denen man einen bestimmten
Stein durch Umschieben von anderen Steinen befreien soll.
Ich habe die Aufgabe so vage formuliert, um keine Wege zu
verbauen.
Die Fortsetzung wird dann die Anwendung auf konkrete
Problemfälle sein. Wenn man also etwa einen objekt-
orientierten Ansatz gewählt hat, dann definiert man dann
etwa ein Spielobjekt, dem man die Feldgrößen, die Steine
und ihre Beschaffenheit sowie die Art, in der diese bewegt
werden dürfen mitgibt. (Und welches Problem gelöst werden
soll.)
Das Lösen solcher Puzzle wird dann eine weitere Aufgabe
sein, vielleicht auch das Erstellen eines Interfaces für
Menschen.
Ich werde außer bei großer Resonanz aber die Folgeteile
nicht unmittelbar auf diese Aufgabe folgen lassen.
Die Splittung in mehrere Aufgabenteile hat mehrere
Vorteile:
1) Die Aufgaben bleiben überschaubar.
2) Man kann an einem hinteren Aufgabenteil teilnehmen,
ohne einen vorderen gelöst zu haben, dafür verwendet
man einfach die Lösung, die einem am besten gefällt.
3) Man sitzt nicht so lange an ein und dem selben
Aufgabentyp.
Ich versuche die Aufgaben zu streuen, diese lässt sich
wohl nicht vernünftig golfen, aber solche werden auch
wieder kommen.
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