PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zufallsautomat



Nordlich
31.01.2008, 20:31
Kann mir jemand bitte helfen.
Also ich wollte für meinen Projekt folgendes machen...
Also man wirft Energie(Geld hinein)...und bekommt was
also z.B
10 Geldstücke:Schwert..
20 GS:Schild:

und einen Automat wo man auch Geld hineinwirft und
was kriegt.

Es sollte zu 50% NICHTS rauskommen...40% nicht so wertvolles..10%was wertvolles....

Spark Amandil
31.01.2008, 20:37
die simpelste Variante wäre eine Variable mit dem Wert 1-10 abzufragen.
Je Nach Ergebnis ein entsprechendes Ereignis in der Fork-Condition:
1-5 Flop
6-9 Ramsch
10 Hauptgewinne

TheDude
31.01.2008, 22:39
Wie bereits gesagt kannst du die werte von 1 bis 10 machen. Zufallswerte machst du mit Change Variabel. Unten steht Rand.. Das wählst du aus und gibst anschließend 1*10 ein.

Anschließend machst du die drei Abfragen:
Fork(Zufallswert<5; dann "Flop")
else: Fork(Zufallswert<10; dann "Ramsch")
else: Hauptgewinn

Nordlich
01.02.2008, 08:12
Ich habe den Deutschen RPG-Maker.
Ich kann die drei Abfragen nich finden also mit Fork und else.
Also ich hab jetzt statt Fork Bedienungen gemacht..
ist es richtig.

Nordlich
01.02.2008, 08:29
Könnt ihr es bitte genauer beschreiben..
Sagt mir mal wie das geht...z.B so

VAR:ANDERN:006 Set Zufall 1*10
VAR:ANDERN:006 Set Zufall 1*06
Bedinung:Variable(0006)}:)ewinn-6<

MA-Simon
01.02.2008, 09:41
(Also das mit dem Geldeinwerfen, 10 münzen auf einen schlag oder hintereinander???) (Das ist kein makercode!!!^^ soll nur zeigen, wie es geht^.-)

Die 10 Münzen auf einen schalg, wären in etwa so:

Fork condition ->spieler hat 10 Münzen
->Change Money -10

Dann kommt unten dran das eigentliche Verteilerevent:

Set Random Variable "glücksrad" 1-10
Fork condition, if variable "glücksrad" is 10 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 9 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 8 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 7 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 6 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 5 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 4 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 3 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 2 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

Fork condition, if variable "glücksrad" is 1 then:
->Play sound XY
->Show message XY
->Cange Item XY

Else:

End:
End:
End:
End:
End:
End:
End:
End:
End:
End:

Nordlich
01.02.2008, 10:38
und wie kannn ich items zufällig nehmen..
Z.b
10 cent reingeworfen
man kriegt z.B solche Sachen für 10 cent.
Schwert,Kräuter,Trank.
Ich will nicht alles auf einmal kriegen..es soll durch zufall nur eins kommen.

Derc
01.02.2008, 13:14
Ey, komm...denk mal nach, wofür gibts (zufalls)variablen und Bedingungen ôÔ

Speicher einfach die Items in einer Variable...

Sollte dann in etwa so aussehen:

<>Set Variable [#0001: Itemwähler] Zufall [1-3]

<>Bedingung, wenn Variable [#0001: Itemwähler] ist [1]:
---<>Füge Item hinzu: Potion
---<>Nachricht: Potion erhalten !
-<>ansonsten:
---Bedingung, wenn Variable [#0001: Itemwähler] ist [2]:
---<>Füge Item hinzu: Waffe
---<>Nachricht: Waffe erhalten !
-----<>ansonsten:

usw.

Probiers mal aus, sollte nicht so schwer zu coden sein -_-

Orange4
01.02.2008, 17:25
Ich empfehle dir, die Zufallsvariable zwischen 1 und 100 zu setzen. Warum? Mach mal eine Zufallsvariable zwischen 1 und 2, lasse die ca. 100 mal durchlaufen und die Ergebnise ausgeben (mach das natürlich nicht wirklich, das ist zeitaufwändig) ^^ Der Punkt ist: Im zu kleinen Zahlenraum tendiert der Maker gerne mal zu einer bestimmten Zahl, was die ganze Sache nicht mehr zufällig sein lässt. (Eine der vielen Merkwürdigkeiten ^^")

Pass einfach die Abfrage daran an (z.B. anstatt exakt eine Zahl sagst du einfach "größer als")

Orange4

Nordlich
01.02.2008, 19:03
Danke....
Für die Hilfe.
Wart eine große Hilfe.

MA-Simon
02.02.2008, 19:35
Ähöm!!!!!

(: uff XD

So wie ich das gepostret habe IST es ja gerade nach zufall, ich habe den zufall der zu erhaltenden items nur auf 10 stück begrenzt, da ich nicht dachte, das du 100 verschiedene machts. Ist das doch der fall, könntest du den code eben erweiter.

übelster Held
04.02.2008, 19:32
Ich empfehle dir, die Zufallsvariable zwischen 1 und 100 zu setzen. Warum? Mach mal eine Zufallsvariable zwischen 1 und 2, lasse die ca. 100 mal durchlaufen und die Ergebnise ausgeben (mach das natürlich nicht wirklich, das ist zeitaufwändig) ^^ Der Punkt ist: Im zu kleinen Zahlenraum tendiert der Maker gerne mal zu einer bestimmten Zahl, was die ganze Sache nicht mehr zufällig sein lässt. (Eine der vielen Merkwürdigkeiten ^^")

aha...
bei 999999 durchläufen, wo sich der maker zwischen eins und zwei entscheiden muss, entscheidet er sich bei mir (also bei einen durchlauf des progs)
501037 mal für die eins und
498962 mal für die zwei...
scheint ganz klar zur eins zu tendieren... >_>

Cherry
04.02.2008, 20:06
Ich hab 10 000 000 Durchläufe gemacht und erhalten:

1 ... 4 682 119 (46,82%)
2 ... 5 317 881 (53,18%)

Also ein bisschen tendiert er schon zur 1. Aber das ist, denke ich, nicht relevant.

mfG Cherry

treeghost
07.02.2008, 13:21
Hier mal ein Skript von Isgar:
http://www.rpg-atelier.net/netzwerk/dueltower/dl/atelier/Casino_Skript.rar