zufällige Types

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Goodjee

Betreff: zufällige Types

BeitragDi, Jan 17, 2006 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
nehmen wir mal an, ich habe 100 Types vom Typ Monster erstellt.
Jetzt will cih ein zufälliges auswählen, also z.B. das 33. Wie kann ich das machen? Ich lgaube, es gibt keinen Befehl dafür, oder???
Hat jemand eine Idee???
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/

Firstdeathmaker

BeitragDi, Jan 17, 2006 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Zähle die Anzahl der existierenden Types und setze diese in die Zufallsfunktion Rand() ein. Danach hangelst du dich entsprechend der Anzahl durch die Liste.

Code: [AUSKLAPPEN]
SeedRnd MilliSecs()


Type deintype
   Field nummer
End Type


tmpzahl = Rand(5,200)
For i=1 To tmpzahl
 d.deintype = New deintype
 d\nummer=i
Next


i=0
For d.deintype = Each deintype
 i=i+1
Next
Local r=Rand(0,i)
selected.deintype = First deintype

For i=0 To r
 selected.deintype = After selected
Next

Print selected\nummer

WaitKey()
End
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon
Gewinner des BCC #57 User posted image

Goodjee

BeitragDi, Jan 17, 2006 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
das schaut doch gut aus, thank! Very Happy
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/
 

c64

BeitragDi, Jan 24, 2006 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Speicher all deine erstellten Objecte in ein HandleArray .. ach viel worte wenig sinn ....


schau hier


Code: [AUSKLAPPEN]


;///////////////////////////////////// Type anlegen

Type test
 
  Field txt$

End Type

;///////////////////////////////////// function neues Object erstellen

Function newobject(txt)

 mytest.test=New test
 mytest\Txt=txt

 Return Handle(mytest)

End Function

;///////////////////////////////////// Array mit my Array zum speichern der Objecte + Schleife zum erstellen von 100 Objecten

Dim myarray(100)

For x=1 To 100

myarray(x)=newobject(x)

Next

;///////////////////////////////////// Die Schleife zum anzeigen ,, und als beweis ;)

For x=1 To 500

obj.test=Object test(myarray(Rand(1,100)))

Print obj\Txt

Next



und wenn deine Objecte keine Statische Anzahl haben setzt du einfach n Zähler bei jedem erstellen +1 und beim löschen -1 Wink .. also so könnte man es auch machen !

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group