Archiv verlassen und diese Seite im Standarddesign anzeigen : [RM2k3] Memory (Minispiel)
"Kleines" Problem, vermutlich denke ich einfach mal wieder zu kompliziert...
Will ein Memory-Spiel einbauen, mit 9 Bilderpaaren (Bodenplatten) zum zusammenbringen - krieg's aber irgendwie nicht hin...
Wäre gut, wenn mir jmd. (wenn möglich in "RM2k3 Sprache" , da ich beim übersetzen vom 2000er schonmal Schwierigkeiten habe) sagen könnte, wie ich des am einfachsten mache ohne mir mit den Abfragen in die Quere zu kommen...
makenshi
26.02.2011, 18:05
Der 2000 und der 2003 nutzen dieselbe "Sprache". Die Befehle vom 2003 sind stellenweise mit mehr Optionen ausgestattet, das war es aber auch schon.
Wo genau liegt denn dein Problem beim erstellen eines Memoryspiels?
ich würde sagen, du brauchst bloß 18 + 2 Variablen.
Da die Karten ja immer neu gemischt werden, musst du erst mal die ersten 18 Variablen nen zufälligen Wert zuweisen, dabei ab der dritten Variable jedes mal überprüfen, ob diese Variable schon mehr als 2 mal existiert, wenn ja, ein Switch einschalten.
Und dann auch noch lässt du jedes mal, wenn Karte X umgedreht wird, den Variablen Wert von Karte X = Karte 1 und die zweite Karte Y = Karte 2 und überprüfst dann, pb Karte 1 = Karte 2 ist.
Erklären kann ich es nicht so gut, aber evt. verstehst du ja, was ich mein xD
Erstmal entschuldigt bitte die lange Abstinenz - war leider viel zu tun. Danke für die Antworten.
@ makenshi: Die Begriffe sind aber (zumindest für mich) auch auf den 5. Blick nicht unbedingt zu identifizieren, da manchmal eben ein ganz anderer Name benutzt wurde.
Mein Problem ist, was SMWma so ziemlich beschrieben hat (auch wenn ich's noch nicht so ganz verstehe) - kriege es halt nicht hin, des alles korrekt abgefragt wird - meist löst sich das Spiel von selbst auf oder bleibt an einer Stelle hängen.
ich würde sagen, du brauchst bloß 18 + 2 Variablen.
Da die Karten ja immer neu gemischt werden, musst du erst mal die ersten 18 Variablen nen zufälligen Wert zuweisen, dabei ab der dritten Variable jedes mal überprüfen, ob diese Variable schon mehr als 2 mal existiert, wenn ja, ein Switch einschalten.
Und dann auch noch lässt du jedes mal, wenn Karte X umgedreht wird, den Variablen Wert von Karte X = Karte 1 und die zweite Karte Y = Karte 2 und überprüfst dann, pb Karte 1 = Karte 2 ist.
Erklären kann ich es nicht so gut, aber evt. verstehst du ja, was ich mein xD
Hmm...also die Zufallswerte werden dann durch das betreten der Bodenplatten zugeteilt.
Aber wieso erst ab der 3. überprüfen? Ist es so unwahrscheinlich, schon beim 1. Versuch 2 passende Bilder zu finden?
Und wie überprüfe ich denn, ob eine Variable existiert? (Bin nicht sicher, was du meinst.)
Das 2. verstehe ich irgendwie nicht...dann nochmal 18 Variablen oder wie?
Wäre es zu viel verlangt, mir ein praktisches Beispiel (zum ansehen im Maker) zu geben?
(Verständnismäßig hab ich halt des Problem, einfach Anfänger zu sein, seht's mir bitte nach - gemachte Tutorials hin oder her.)
Hallo Lorinor!
Ich glaube du hast SMWma nicht ganz verstanden, wobei seine Erklärung und vorgehensweise auch imo nicht grad anfängerfreundlich ist, aber das ist ne andere Geschichte.
Generell zum Thema Technik und Skripten:
Was du da machen willst ist im Grunde simple Datenverarbeitung ohne Parallelität, das macht es für einen Anfänger gut durchschaubar, da hast du dir mit “Memory” ein gutes Startprojekt ausgesucht.
Was man beim Skripten ja macht ist eine Vorstellung von etwas in einen technischen Ablauf umzusetzen. Was hilft ist also, die Handlungen, die beim Memory passieren als einzelne technische Abfolgen zu sehn.
Wie macht man ein Memory?
Schritt #1:
Was braucht man für ein Memory? Zuerst einmal musst du wissen, wieviele Bilderpaare du willst. 9? Okey. Daraus ergibt sich, dass dein gesamtes Spielfeld 18 einzelne Felder hat. Auf jedem dieser Felder befindet sich ein Bild. Jedem Bilderpaar solltest du eine Nummer zuweisen. Da es 9 Bilderpaare gibt, bieten sich die Zahlen 1 bis 9 an. Da es von jedem Bild 2 Karten auf dem Feld gibt enthält dein Spielfeld jeweils zwei mal die 1, die zwei , die drei und so weiter.
Diesen Zustand gilt es zuerst einmal zu erzeugen. Das ist Schritt 1 der technischen Umsetzung. Erstelle also 18 Variablen. Dann weist du diesen Variablen die Zahlen 1 bis 9 zu, jeweils 2 mal. Nachher soll die Anordnung zufällig sein, aber das ist erst Schritt 2, fang damit an, sie so zuzuweisen:
Feld #1 = 1
Feld #2 = 1
Feld #3 = 2
Feld #4 = 2
Bis hin zu…
Feld #18 = 9
Wenn das getan ist: teste es! Wenn du dein Spiel aus dem Maker heraus startest kommt du in den Testspielmodus. Wenn du im Testmodus F9 drückst bekommst du die Variablen und Switches angezeigt und welche Werte sie gerade haben. Starte dein Spiel und kontrolliere, ob die Variablen, deines Spielfeldes wie gewünscht gefüllt wurden.
Ja? Dann weiter zu Schritt 2! Nein? Dann musst du schaun, wo der Fehler ist. Wichtig ist, das Memoryspiel in seine Einzelteile zu zerlegen und Stück für Stück zu testen, ob es funktioniert.
Schritt #2:
Die Bilder sollen zufällig verteilt sein, oder? Okey, also bringen wir zufall ins Spiel. Es gibt eine Variablenfunktion, die es erlaubt, eine zufällige Zahl zu generieren. Verwende sie und generiere eine Zahl zwischen einschliesslich 1 und 18. Hat das funktioniert? Enthält deine Variable jeweils eine andere Zahl zwischen 1 und 18? Wenn ja, gut!
Nun erstelle noch eine zweite Variable und fülle sie ebenfalls mit einer Zufallszahl.
Du hast nun zwei Zahlen zwischen 1 und 18. Das sind die Nummern, der Felder, die getauscht werden sollen.
Baue nun eine Funktion, die das tut. Wie? Ach komm, das kriegste schon hin. Schau dir die Variablenfunktionen an, schau im eBook nach, was sie machen. Wenn du glaubst, dass es funktioniert, dann teste es!
Was sollte jetzt passieren?
Die Felder 1 bis 18 werden mit den Zahlen 1 bis 9 gefüllt.
Es werden 2 Variablen mit Zufallszahlen gefüllt z.B. 5 und 2
Der Inhalt von Feld #2 und und Feld #5 wird getauscht.
Wenn das alles klappt. Weiter zu Schritt #3.
Schritt 3#
Es soll nicht nur einmal zufällig getauscht werden, sondern mehrfach! Du brauchst eine Schleife. Schau dir die Makerfunktionen an. Es gibt Clycles, Break, Condition, und Jump-Befehle. Damit wirst du ja wohl eine Schleife hinkriegn, oder? Bau eine Schleife. Lass in der Schleife eine Textbox anzeigen und kontrollieren, ob die Textbox 3 mal erscheint, wenn du die Anzahl der Schleifenwiederholungen auf 3 setzt.
Klappt das? Wenn ja, weiter zu Schritt 4!
Schritt #4
Kopiere die Zufallsvertauschung aus Schritt #2 in die Schleife. Diese Funktion wird dann zB 100 mal aufgerufen. Kontroliere nachher, ob nach dem 100-fachen zufälligen Veränderung noch die Zahlen 1 bis 9 jeweils 2 mal in den 18 Feldvariablen vorhanden sind.
Und weiter?
Ich werde jetzt nicht alles zuende erklären. Wenn du das bis hier her geschafft hast solltest du einen Eindruck bekommen haben, wie man Sachen im Maker angehen kann. Immer gleich: Die große Aufgabe zerlegen in Einzelfunktionen, diese bauen und testen, immer sichergehen, dass jeder Einzelabschnitt funktioniert. Lieber jede Kleinigkeit 3 mal testen als alles reinhacken und sich am Ende fragen „ey, irgendwie geht irgendwas nicht…warum?“
______________________
Was die Begriffe angeht: Die verschiedenen 2K und 2k3 Versionen sind von unterschiedlichen Leuten übersetzt worden, mal mehr und mal weniger treffend. Daher unterscheiden sich die Begriffe, die Funktionen sind aber oft gleich oder stark ähnlich.
Mfg ^^
Klingt gut, mal sehen, ob ich's hinkriege. Danke für die Mühe.
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.