| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #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 |
| | |
| | #2 (permalink) |
| Techniker 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 |
| | |
| | #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 |
| | |
| | #4 (permalink) |
| Techniker 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 |
| | |
| | #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 |
| | |
| | #6 (permalink) |
| Techniker 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 |
| | |
| | #8 (permalink) |
| muh 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!) |
| | |
| | #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). |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |