Hallo an alle,
nach langer Zeit habe ich wieder mal meinen alten Psion 5mx ausgegraben. Habe wieder an ihn gedacht, als ich auf der Suche nach einem Dominion Set-Generator war. Für alle die sich fragen, Dominion ist ein bekanntes Brettspiel ( http://de.wikipedia.org/wiki/Dominion_%28Spiel%29 ). Ein Art Deck-building Spiel. Ich bin mir sicher, der eine oder andere hier im Forum hat schon etwas davon gehört.
Den Besten mir bekannten Set-Builder findet man unter http://www.poeppelkiste.de/suche/dominion/generator1.php
Mein Idee wäre, ob man die Funktionalität dieses Generators auf dem Psion per OPL nachbilden könnte. Ich vermute mal, das müsste prinzipiell möglich sein. Da ich kein Notebook besitze, wäre der Psion einfach ideal, da ich ihn dann zu den Spieleabenden mitnehmen könnte.
Leider ist Programmierung und im speziellen OPL Programmierung keines meiner Steckenpferde. Deswegen habe ich mir gedacht, vielleicht könnte der eine oder andere Fachmann hier im Forum mir die eine oder andere kleine Hilfestellung geben.
Ich erwarte sicher nicht, dass mir jemand den Code schreibt. Ich könnte allerdings etwas Hilfe bei der Richtungsfindung gebrauchen.
Stand der Dinge ist, dass ich mich schon ein bisschen in die OPL Programmierung eingelesen habe, aber mir an der einen oder anderen Ecke das Verständnis fehlt, wie ich gewisse Sachen umsetze.
Den Code zur Generierung von 10 Zufallszahlen (ein Set besteht immer aus 10 Königsreichkarten) habe ich schon erarbeitet. Nun stecke ich aber fest.
Ich möchte vor dem Ziehen der Karten festlegen, aus welchen Erweiterungen ich die 10 Karten ziehen möchte. Von dem was ich bisher gelesen habe, scheint wohl eine Datenbank mit allen Karten die beste Lösung zu sein. Ich verstehe nur nicht, wie ich die 10 Zufallszahlen mit einer wechselnden Anzahl an Datensätzen (wenn z.B. nur die Karten aus dem Basisspiel und einer Erweiterung gezogen werden) verknüpfen soll.
Würde ich alle Karten von 1 - ... durchnummerieren und dann auf einmal nur Basisspiel und sagen wir 3 Erweiterung nehmen, hätte ich Karten von 1 - 25 und zusätzlich 64 - 88. Was wenn nun eine der Zufallszahlen sagen wir 35 wäre? An dem Problem kaue ich mir gerade die Nägel ab.
Muss ich aus der großen Tabelle irgendwie dynamisch eine neue generieren, diese nummerieren und darauf dann die Zufallszahlen anwenden?
Ich hoffe ich konnte mein Problem einigermaßen beschreiben und hoffe jemand kann mir einen guten Tipp geben, wie ich das Problem löse oder sogar eleganter angehen kann.
Gruß
Martin
88 Views und niemand kann mir einen Tipp geben? Bin ich vielleicht im falschen Forum? Kennst sich jemand von euch mit OPL Programmierung aus?
Momentan versuche ich z.B. herauszufinden, wie man diese Dialoge in OPL erstellt, die mehrere Tabs anzeigen. Siehe z.B. in der Systemsteuerung unter "Wählen". Finde dazu überhaupt nichts im OPL Userguide.
Hat jemand einen Tipp oder einen Vorschlag für ein deutsches Psion OPL Forum?
Hallo Martin,
ich denke, auf Deutsch ist das hier schon das richtige Forum. Aber vielleicht kennt niemand das Spiel Dominion.
Wenn Du auch bereit wärest, auf Englisch zu korrespondieren, könntest Du mit Damian Walker Kontakt aufnehmen. Er ist meines Wissens der Einzige, der in der letzten Zeit noch neue Spiele für Psion herausgebracht hat, und vielleicht kann er Dir ja helfen.
Grüße,
Fritz
Hallo Fritz,
zuerstmal vielen Dank für deine Rückmeldung. Aber zur Sache. Es ist vielleicht anhand meiner Zeilen nicht ganz klar geworden, aber ich möchte überhaupt kein Spiel für den Psion programmieren. Lediglich ein kleines Hilfsprogramm für das Brettspiel Dominion.
Über "Dominion" muss man in dem Fall auch nur Wissen, das es im Fall des Basisspiels 25 Königsreichkartenstapel à 10 Karten enthält, aus denen per Zufall bei Spielbeginn 10 Stapel ausgewählt werden, mit denen die Partie dann bestritten wird. Die restlichen Stapel gehen zurück in die Schachtel und werden nicht verwendet. Mein Ziel ist ein kleines Programm, dass mir das Auslosen der 10 Stapel abnimmt. Wenn du so willst ein kleines "Würfelprogramm". Nichts anderes macht der Set-Generator unter http://www.poeppelkiste.de/suche/dominion/generator1.php
Diesen Set-Generator möchte ich auf dem Psion nachbauen, damit ich diesen anschließend zu den Spieleabenden mitnehmen kann. Ich wollte nun einfach wissen, wie man das am besten mit OPL realisiert.
10 Zufallszahlen habe ich schon per OPL ermitteln können. Mir ist nur nicht klar, wie ich diese verwende, um die Kartenstapel zu erhalten. Mit allem was ich bisher vom OPL Userguide gelesen habe, dachte ich, eine Datenbank aller Kartenstapel wäre die beste Herangehensweise. Mir ist nur nicht klar, wie ich beides miteinander verbinde.
Wie wähle ich aus einer Datenbank z.B. den 4. Datensatz aus? Ich suche einfach jemanden, der sich ein bisschen mit OPL auskennt, und mir den einen oder anderen Tipp geben kann, in welche Richtung ich gehen muss. Ist eine Datenbank die beste Lösung?
Hier wurden versehentlich einige Zeilen als kompletter Beitrag abgespichert. Ich bitte um Nachsicht.
2-mal bearbeitet. Zuletzt am 2011:12:07:23:08:07.
Hallo Martin,
keine große Hilfe, dafür sind andere kompetenter, aber immerhin: Nachdem ich jetzt Deine Wünsche etwas besser verstehe, war meine spontane Idee: Wäre nicht eine Tabelle das einfachste Mittel? Man kann ja in den Tabellen-Berechnungen auch OPL-Befehle verwenden. Nachdem es Dir bereits gelungen ist, Zufallszahlen zu erzeugen, müßte das auch in einer Tabelle klappen.
Weitere denkbare Herangehensweise: Alle möglichen Kartensätze durchzählen und irgendwie kennzeichnen (z. B. numerieren)! Den Bereich der möglichen Zufallszahlen (Zahlenraum zwischen 0 und 1) in die Gesamtzahl der Kartensätze unterteilen und jedem Teilbereich möglicher Ergebnisse einen bestimmten Kartenstapel zuordnen! Also etwa: Wenn 0,37 kleiner als RND kleiner gleich 0,41, dann X=13.
Dann könntest Du Deine Zufallszahlen erzeugen und bekämest bestimmte Kartenstapel ausgewählt. Wenn ich das richtig sehe, müßtest Du nur noch dafür sorgen, daß bei Wiederholungen das Ziehen so oft wiederholt wird, bis 10 verschiedene Kartensätze ausgewählt sind.
So etwa könnte ich mir das Ganze - ohne jegliche Programmierung - vorstellen. HTH!
Anmerkung: Ich hatte im ersten Anlauf die üblichen mathematischen Symbole für "kleiner als" usw. verwendet, dabei wurde der ganze folgende Text des Absatzes vom Psionwelt Editor verschluckt; deshalb die ungewöhnliche Schreibweise!
Grüße,
Fritz
1-mal bearbeitet. Zuletzt am 2011:12:07:21:38:41.
Hallo Martin,
Um einen der Kartenstapel auszuwählen ist es ungefähr so, wie Fritz schon gesagt hat. Du lässt dir eine Zufallszahl zwischen 0 und 1 erstellen. Diese multiplizierst du mit der Anzahl der Zahlen die du am Ende haben willst und addierst eins dazu, also in deinem Fall RND*25 + 1. Wenn du das Ergebnis nun abrundest bekommst du Zufallszahlen zwischen 1 und 25. Du musst dabei nur nachlesen, ob die RND Funktion die Zahl eins ausschließt, sonst gibt es ärger, weil dann die Zahl 26 auch möglich ist. In meiner OPL Anleitung steht, dass die 1 ausgeschlossen ist.
Wenn der Generator eine Zahl ausspuckt, die ungültig ist, dann wird einfach nocheinmal eine Zahl erzeugt, solange bis er eine gültige erzeugt hat. Nach der Wahrscheinlichkeitsrechnung ist dann jede gültige Zahl gleich wahrscheinlich.
Die Programmierung würde ich folgendermaßen realisieren:
Wenn du das OPL Handbuch nicht hast, dann gib mir bescheid. Ich kann es dir schicken (Ist von meinem Netbook, könnte aber auch auf einem serie 5 laufen.)
Grüße Dominik