Zurück   Flashforum > Flash > ActionScript > Spielkonzepte und Spieleprogrammierung

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 18-08-2009, 20:47   #1 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 177
Spielothek Spiele Auswertung der Linien

Hallo,

ihr kennt sicher Spiele von Spielautomaten wie z.B. Book of Ra, Dolphins Pearl und was es nicht sonst noch alles gibt.

Nun ich habe vor ein solches Spiel selber zu entwickeln und bin grad am Konzept am grübeln.
Zum spielablauf: Es drehen sich 5 Walzen und stoppen nacheinander. Dann wird auf den Gewinnlinien geschaut was zusammenpasst. Wenn z.B. diese Combo kommt:

[A][B][C][E][D]
[B][C][S][C][E]
[C][S][B][V][C]

sieht man von links unten diagonal nach Mitte oben und wieder nach rechts unten ein [C]

Das wären dann 5 in einer Reihe. Sagen wir mal Gewinnlinie 4.
Es würden auch die 3 waagerechten Linien und noch eine umgekehrte Gewinnlinie geben. usw.

Dann gibt es noch Scatter und Joker. Joker ersetzen alles ausser Scatter und wenn man 3 Scatter hat gibt es Bonusspiele.

So nun die frage wie setzt man das am besten um ??
Für die Walzen würde ich evtl. einen Container über dem Sichtbaren Feld platzieren und dann mit den Symbolen füllen und nach unten tweenen lassen.

Aber wie mach ich dann am besten die Auswertung ??

Hat vielleicht jemand erfahrung mit solchen Spielen (also der Entwicklung der Spiele) ?

Würde mich über Tipps freuen

Danke im Vorraus.

MfG
zirag ist offline   Mit Zitat antworten
Alt 19-08-2009, 10:45   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
das hört sich aber stark nach einem 'einarmigen banditen' an.

das prinziep ist so: man ermittelt zuerst, was angezeigt werden soll und danach werden die walzen so lange gedreht, bis sie genau das anzeigen.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 19-08-2009, 16:48   #3 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 177
Hi,

ist nicht ganz der "einarmige Bandit".

Es sind 5 Walzen, die eine definierte Zeit laufen und alle kurz nach einander stehen bleiben. siehe hier

Also habe ich eine definierte Anzahl an Symbolen, die runter scrollen bis zum Stop. Soweit ja auch kein Problem. Es geht hier eigentlich nur um die dann folgende Auswertung.

MfG
zirag ist offline   Mit Zitat antworten
Alt 19-08-2009, 19:07   #4 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
meine antwort ist dennoch richtig und komplett ;-)

für genauere antworten müsste man sehen, was du wie programmierst.

die daten der walzen gehören natürlich in arrays und welches symbol gerade vorne steht wird jeweils in einem indexzeiger vermerkt.
und über die indexzeiger kann man die daten der walzen -arrays auslesen um die gewinnkonstellation zu berechnen ...
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 19-08-2009, 19:43   #5 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 177
Hallo nochmal,

danke für deine bisherigen Antworten. Was genau meinst du mit "Indexzeiger" ?

Es geht mir in diesem Thread ja darum, Ideen zu sammeln, wie man sowas am besten löst. Deswegen muss man noch nicht sehen, wie ich was programmiere.

Vielleicht gibt es ja hier jemanden, der was Ähnliches schon mal gemacht hat. Oder jemand, der einfach ne super Idee hat, wie man so eine Auswertung realisieren könnte.

MfG
zirag ist offline   Mit Zitat antworten
Alt 20-08-2009, 11:39   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 16.326
var walzensymbole:Array = ['hund','katze','maus','esel','fisch','mamagei'];
var index1:int = 1;
var index2:int = 2;
var index3:int = 0;

trace(walzensymbole[index1]);

deine walzensymbole in einem array. entweder je walze ein array und für's drehen immer das hinderste symbol wegnehmen und forne wieder drann.
oder wesentlich einfacher: welches symbol jeweils in der mitte angezeigt wird mit einem index definieren.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 20-08-2009, 19:21   #7 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 177
Ich denke ich werde alle Symbole in ein 2D Array packen. Und dann so die Auswertung machen.

Falls noch jemand andere Vorschläge hat, trotzdem her damit


mfg
zirag ist offline   Mit Zitat antworten
Alt 20-08-2009, 19:47   #8 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Ich würde das mit einer Art "Agent" machen. Wenn die Felder so festliegen, wie du es im ersten Post aufgeschrieben hast, trägst du die in ein 2D-Array ein, und dann bastelst du dir eine Schleife über alle möglichen Startpunkte von Linien (schätze mal die linken drei Felder)
In jedem Schleifendurchgang entscheidest du, welche Laufrichtungen möglich sind (nur horizontal, oder zusätzlich schräg) und "spawnst" dann für jede Richtung einen "Agenten". Ein der Agent "läuft" dann solange weiter in die aktuelle Richtung, wie die Felder übereinstimmen und er kein Endfeld erreicht hat. Erreicht er ein Endfeld, gibt es Punkte. Läuft er schräg und erreicht eine Kante (oben/unten) wechselt er die vertikale Richtung. Ändert sich das Feld, gibt er auf (keine Reihe).

Ein Agent kann einfach eine Funktion sein, die du mit Startposition und Startrichtung aufrufst, könnte aber auch eine eigene Klasse sein.

Man kann das sicher auch einfacher machen, aber ich denke es ist sehr anschaulich, wie es funktioniert, leicht erweiterbar (zusätzliche Moves ermöglichen), und Performance dürfte ohnehin unkritisch sein.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 20-08-2009, 20:24   #9 (permalink)
Neuer User
 
Registriert seit: Mar 2006
Beiträge: 177
Sowas in der Art habe ich auch vor. Danke für deine Antwort
Ich werde einfach mal anfangen und denn mal sehen.

MfG
zirag ist offline   Mit Zitat antworten
Alt 21-08-2009, 08:31   #10 (permalink)
Neuer User
 
Registriert seit: Nov 2005
Beiträge: 548
Das kommt ganz auf deine möglichen Gewinnlinien an, ob man das mit einem einfachen Algo lösen kann.

Ein paar Beispiele für "Algorithmusfreundliche" Gewinnbedingungen, ist nahe dem Beispiel mit den verschiedenen Agenten, außer dass hier nur einer sich selbst seine Richtung "sucht".

- Einfachster Fall: Wenn es z.B. immer eine 5er-Linie sein muss und die auch im Zickzack verlaufen oder eine schräge Linie plötzlich gerade weiterlaufen darf (Richtungswechsel auch mitten im Feld möglich):
Links oben starten, dann jeweils in der nächsten Walze das Feld auf gleicher Höhe sowie darüber/darunter prüfen. Wenn davon gar keins gleich (und auch kein Joker etc.) ist gibt es hier keine Gewinnlinie. Falls eines gleich ist, dieses Feld als neuen Ausgangspunkt nehmen und mit nächster Walze rechts daneben fortfahren. Dasselbe dann mit Reihe 2 und 3 als Start durchführen.

- Wenn Richtungswechsel der Linien nur an den Kanten erlaubt sind: Beim ersten gefundenen Feld die Richtung merken (ist es daneben, darüber oder darunter?). Taucht im nächsten Schritt wieder irgendwo ein gültiges Feld auf, wird nur weitergemacht wenn die Richtung übereinstimmt oder ein Rand erreicht ist und die Gegenrichtung eingeschlagen wird.

- Wenn Linien auch irgendwo am Rand oder mitten im Feld anfangen dürfen, muss man eben entsprechende zusätzliche Bedingungen und Startpositionen einbauen.

- usw., wird also komplexer je nachdem wie die Gewinnmuster sind. Auch Straßen (A,B,C,D,E) kann man so prüfen: statt auf Gleichheit testet man auf Differenz und merkt sich die zuerst eingeschlagene "Richtung" (z.B. gültig: 0,+1 oder -1).
joeydee ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele