Bloc 1.0
So, von mir gibts auch mal wieder ein kleines Programm, diesmal ein Spiel. Meistens fange ich irgendwas an, und nach ner Woche verrottets irgendwo auf der Festplatte. Bei Bloc bin ich schonmal relativ weit gekommen, mal sehen obs irgendwann fertig wird.
Beschreibung:
Bloc ist ein einfacher
SameGame-Klon mit integriertem Solver, der den besten Lösungsweg sucht. Geschrieben hab ich ihn in C#, das .NET-Framework muss also installiert sein. Es wird sowohl das Erstellen, Laden und Speichern von Levels unterstützt, als auch das Spielen eines Levels sowie die automatische Suche nach dem besten Lösungsweg. Im Vordergrund steht eigentlich hauptsächlich die Entwicklung des Solvers, weshalb der Spielmodus nicht besonders ausgebaut wurde. Der Lösungsalgorithmus ist ein einfacher Brute-Force-Algorithmus, der lediglich jede n-te Möglichkeit ausprobiert. Der lässt sich auf jeden Fall noch weiter optimieren, ist im Moment noch alles andere als effizient. Geplant ist außerdem eine heuristische Lösungsmethode, da muss ich aber erst noch überlegen, wie die genau funktionieren soll (jemand ne Idee?).
Jede Gruppe von gleichfarbigen Blöcken bekommt eine ID zugewiesen, die sich auch über das Menü einblenden lässt. Wird ein Lösungsweg gefunden, werden die IDs der gefundenen Gruppen in der Reihenfolge in einer Liste angezeigt.
Spielregeln:
Die Spielregeln sind die selben wie beim originalen
SameGame, das warscheinlich die meisten von euch kennen. Das Spielfeld besteht aus verschieden-farbigen Blöcken (unterstützt werden derzeit maximal 7 verschiedene Farben), die zufällig angeordnet sind. Grenzen mehrere Blöcke der selben Farbe aneinander, so bilden diese eine Gruppe, die entfernt werden kann, während die darüberliegenden Blöcke nachrutschen. Ziel ist es, so viele Blöcke wie möglich zu entfernen, mit so wenig Schritten wie möglich.
Funktionen:
- Erstellen eigener Levels, Laden und Speichern von Levels
- Spielen eines Levels
- Lösen eines Levels durch den Computer
- Abspeichern des gefundenen Lösungsweges (noch ausbaufähig..
)
- Geplant: Optimierungen des Brute-Force-Algorithmus
- Geplant: Heuristischer Lösungsalgorithmus
Bedienung
Bedienung sollte eigentlich klar sein. Im Spielmodus kann eine Gruppe durch einen Mausklick darauf gelöscht werden. Beim Erstellen eines Levels wechselt ein linker Mausklick die Farbe des Blocks, ein rechter Mausklick bewirkt genau das Gegenteil. Ein mittlerer Mausklick gibt dem Block die zuletzt verwendete Farbe, sehr praktisch für größere Flächen mit der selben Farbe.
Hoffe euch gefällts.
