KINGx - Das inoffizielle PlayStation Forum & News Portal

Normale Version: Zufall
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich arbeit grad noch an ein Projekt und habe jetz 10 Datein (1.lua,2.lua......)
So und ich möchte jezt das die Zufällig aufgerufen werden sprich (3.lua,8.lua.... oder iwie anders).
Wie mach ich das?

Lg
http://tinyurl.com/mhahxj

gleich der erste eintrag sollte Interessant für dich sein


Hier die Mathe-Operatoren auf Bumuckl:
http://lua.bumuckl.com/index.php?page=psplua_matheoperationen
Also der erste Tipp war eintfach nur shit..
Weil dort in diesen Befehl so ziemlich alles fehlte...
Das 2 kannte ich schon war aber doch iwie hilfreich...

Aber danke
du kannst es folgendermaßen machen:

Code:
zufall = math.random(8)

while true do
  if zufall == 1 then
    dofile(1.lua)
  end

  if zufall == 2 then
    dofile(2.lua)
  end

  if zufall == 3 then
    dofile(3.lua)
  end

[...]
end

hmm...dann wählt er sie aber nicht zufällig aus sondern öffnet immer nur 1.lua
dann ist der zufall halt immer lua1^^

mom ich muss mal etwas suchen
Hey,
werde auch in den Ferien mal Lua anschauen.
@ Dreiundanchzig, zu deinem Code habe ich eine Frage.

Für was ist die (8) bei math.random(8)
(Sry bin totaler neuling)

Lord_Keks :
Hey,
werde auch in den Ferien mal Lua anschauen.
@ Dreiundanchzig, zu deinem Code habe ich eine Frage.

Für was ist die (8) bei math.random(8)
(Sry bin totaler neuling)


der Befehl heißt

Code:
math.random(min, max)


Beispiel:

Code:
random = math.random(1, 8)

Das bewirkt, dass eine Zahl von 1 bis 8 zufällig gewählt wird, wobei 1 und 8 mit berücksichtigt werden, also auch verwendet werden.

Verwendet man

Code:
random = math.random(8)

bewirkt es dasselbe wie

Code:
random = math.random(1, 8)

fängt aber immer bei 1 an.

Man kann natürlich auch

Code:
random = math.random(3, 8)

verwenden, dann wird eine Zahl von 3 bis 8 generiert.

Hoffentlich verständlich genug

Aber es soll ja immer eine andere Datei sein...
Es ist immer nur 1 oder 3 oda so...
Ich will aber im Index auf Los klicken und dann soll z.b File 1,2 oder 3 abgehn.
Und wenn ich dann in 2 bin soll es dann eben 1 oder 3 sein
mir ist gerade etwas aufgefallen..

hast du die " bei dofile() gesetzt?

eigentlich müsste meine Methode funktionieren...
ja habs gesetzt..
geht trotzdem net so ganz
Naja Bumuckl hilft mir grad
//sry für doppelpost iwie lädt mein Inet wieder ewig wenn ich auf edit geh

Also ich hab ne Lösung gefunden und zwar diesen code:

Code:
function round(xnumber)
    afterpoint=xnumber-math.floor(xnumber)
    if afterpoint>=0.5 then return math.ceil(xnumber)
    else return math.floor(xnumber) end
end

function random(xfrom, xto)
    return (round(math.random()*(xto-xfrom))+xfrom)
end

selected_dir="auto/"

files=System.listDirectory(selected_dir)
luafiles={}
filecounter=0

for index, file in ipairs(files) do
    _,_,extension=string.find(string.lower(file.name),"\.([^\.]+)$")
    
    if extension=="lua" then
        luafiles["file"..filecounter]=file.name
        filecounter=filecounter+1
    end
end

if filecounter>0 then
    random_number=random(0, (filecounter-1))
    lua_script=selected_dir..luafiles["file"..random_number]
else
    -- no lua file found; return etc
end

dofile(lua_script)

Referenz-URLs