Combozähler
Übersicht

![]() |
JamaginBetreff: Combozähler |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zuerst einmal möchte ich mich bei allen bedanken die mich immer mit guten Tips und Denkansätzen bzw. Lösungsvorschlägen unterstützt haben. Besonderer Dank geht an D2006!!
Nun, melde ich mich auch wieder mal mit einer etwas einfachen aber doch komplexen Frage. Ich komm einfach nicht dahinter! Ich mache ein Projekt so ähnlich wie das Bejeweled Blitz und nun hab ich das Problem, einen Combozähler, sprich ein Zähler, der mitzählt wieviele Reihen bzw. Spalten aufgelöst werden ohne erneuten Mausklick bzw. Steinetausch. Soweit hab ich das aber schon, nur das Problem ist, wenn ich nun 2 andere Steine tauschen möchte, sollte der Combozähler trotzdem weiterlaufen bis sich keine Steine mehr auflösen bzw. Neu beginnen, wenn beim Tausch von 2 Steinen wieder was aufgelöst wird! Der Frage nach, könnte ich das mit einem DIM Feld versuchen oder hat jemand schon mal ein ähnliches Problem gehabt! Oder doch mit einem Type-Counter? lg. Jamagin ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ganze beruht eigl. auf simplen IF Abfragen und einer Zähl Variable. Hierzu mal eine Pseudocode :
Code: [AUSKLAPPEN] If SteineGetauscht = 1 Then ;Wenn die Steine getauscht sind (jedes mal)
If SteineReihe = 1 Then ;Wenn es eine "Steinreihe" gibt, die punkte bringen ;Zusätzlich könnte man noch einbauen mit überprüfung der Farbe (Weiß ja nicht was du machen wilst) Combo = Combo + 1 Else Combo = 0 Endif Endif So einfach ist das ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo ToeB!
Klingt echt einfach, ist es aber nicht! Hab mich vielleicht nicht ganz korrekt ausgedrückt, also ich versuch es einfacher zu erklären! Das Spielfeld hat 8x8 Felder. Nehmen wir an der Spieler löst die ersten 3 Steine in der 8 Reihe auf. Nun fallen von oben wieder Steine ins Spielfeld. Nun müßte ich praktisch das Signal für den Combozähler setzen. Gut. Werden beim Nachrutschen der Steine wieder Gleiche gefunden die sich auflösen, wird der Combozähler erhöht. Soweit hab ich das ja. Das Problem nun, was ist wenn der Spieler während der Combozähler zählt und Steine nachrutschen zB. auf der rechten Feldeite auch wieder 3 Gleiche zusammenfindet, welche sich auflösen? Das kann ich ja nicht zum Combozähler dazuzählen, also müßte da ein neuer Combozähler erstellt werden, damit der der was schon läuft nicht gelöscht wird. Sonst wäre es ja einfach viele Combos zu machen! Huuuh, das ist so einfach und trotzdem blick ich in den Wald....! ![]() lg. Jamagin NB: Hab natürlich deinen Denkansatz sehr angenommen, was auch logisch klingt!!! |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
Hummelpups |
![]() Antworten mit Zitat ![]() |
---|---|---|
üblicherweise wird die Benutzereingabe beim nachfallen und zerstören der
Bälle gesperrt das du, würde durch das ständige nachfallen eine ständige Combo enstehen, keine Eingaben machen kannst. So hätte ich es gemacht |
||
blucode - webdesign - Ressource - NetzwerkSim
BlitzBasic 2D - BlitzMax - MaxGUI - Monkey - BlitzPlus |
- Zuletzt bearbeitet von Hummelpups am Fr, Dez 03, 2010 19:20, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann sollte der Spieler einfach nicht eingreifen dürfen, solange Steine nachrutschen - oder der Combozähler wird genullt wenn er das macht. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Hummelpups:
Ja, meine erste Version war so aufgebaut, daß man keine Steine tauschen konnte wenn Steine nachrutschen, da war es ein leichtes den Combozähler einzubauen. Das Manko dabei war aber der Spaßfaktor. Der blieb da auf der Strecke, denn ich habe auch einen Timemodus eingebaut und wenn man während des Nachrutschens nichts klicken kann, verliert das Spiel sehr schnell den Spaßfaktor. Da habe ich dann nach einer besseren Lösung gesucht und die bekam ich von D2006 (Natürlich mußte ich alles neuschreiben um die neue Technik zu verstehen) und muß sagen, das ist voll super mit array und types zusammen zu arbeiten. Beispiel: map.Tfeld(8,8), mit direkten Feldzugriff geht alles viel viel schneller und ich kann auch während Steine nachrutschen im Feld umherklicken und Steine tauschen. Natürlich nur dort wo keine Nullfelder sind, diese muß man ja sperren, da sonst eine MAV kommt oder was auch immer! @xeres: aha, das wäre natürlich das Beste. Aber meinst du nicht das sich dann der Spieler betrogen vorkommt. Zb. du spielst das Spiel und würdest einen fetten Combo machen und du klickst währenddessen woanders im Feld und der Combo ist dahin. So hast du nur einen 3er Combo und hättest viel. einen 7er Combo geschafft! Das wär doch auch ein Frustfaktor. Natürlich könnte man den Spieler darauf hinweisen in der Spielanleitung, aber dann hätte der Timemodus auch keine Bedeutung mehr? Oder ich baue einfach einen Geschwindigkeitszähler ein, der die Punkte erhöht, wenn man in einer gewissen Zeitdistanz klickt. zB. bei Spielstart ist der Clicktimer auf 300ms und bei jedem klick wird dieser um 1 oder mehr minimiert, nebenbei läuft ein Timer, zB. der alle 40ms den Clicktimer um 1 oder mehr erhöht bis er wieder auf 300 ist. Nur als Beispiel, dann könnte ich den Combo weglassen! lg. Jamagin ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jede Variante funktioniert prinzipiell und führt zu einem anderen Spielablauf... Wenn man nur eine bestimmte Zeit lang spielen kann, kann man für die Dauer der Combos die Zeit anhalten oder dem Spieler ggf. Bonuszeit gutschreiben.
Im Zweifelsfall alles mal an einem Testpublikum ausprobieren. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
@xeres:
Ich habe mich nun entschieden, den Comozähler zu nullen, sobald der Spieler wieder klickt! Das ist die einfachste Variante. Andererseits betrachtet man eh das Partikelfeuerwerk wenn man Combos sammelt. Und das war jetzt wirklich einfach zum umsetzen! Bzgl. Testpublikum, klar, warum nicht aber noch ist es nicht soweit!! Danke für Eure Tips!! lg. Jamagin NB: Das BlitzBasicForum ist einfach unschlagbar!! |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
In ZooKeeper(Bejeweld aufm DS) ist es so, dass es keinen combo-zähler gibt, sondern quasi einen timer, sodass man allein durch schnelles manuelles combo-bauen diesen schon anwerfen konnte.
Fand ich eigentlich ganz nett, da man so etwas mehr "action" einbauen konnte. |
||
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
@BtbN
Aha, du meinst also so was wie einen Speedcounter? Wie ich oben weiter in einem Beitrag erklärte. Beispiel: Bei jedem Click wird der Wert für den Speedcounter um 1 oder mehr Zähler subtrahiert. Nebenbei läuft ein Timer der alle 40ms den Speedcounter wieder um den Wert der abgezogen worden ist, dazuzählt. Je kleiner der Speedcounter um so mehr Pünktchen gibt es. Meinst du sowas? lg. Jamagin NB: Klingt auch ganz interessant |
||
Bevor du etwas neues beginnst, erledige das alte |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group