Rechtecke die zufällig von oben kommen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

azureuz

Betreff: Rechtecke die zufällig von oben kommen?

BeitragSo, Dez 05, 2004 20:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,
kann mir jemand sagen wie ich in 2D zufällig ein rechteck von oben kommen lassen kann? Ich steig da noch nicht so richtig mit DIM durch.

Ich hoffe mir kann das jemand richtig erklären! Smile

Splinner

BeitragSo, Dez 05, 2004 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
z.b.

BlitzBasic: [AUSKLAPPEN]

Dim recht(10,2) ;10 Objekte und 2 achsaen [1= x , 2 = y]


dann machst du eine schleife die zufällig berechnet in welcher reihenfolge die rechtecke fliegen sollen ...also

BlitzBasic: [AUSKLAPPEN]

For x = 1 To 10
recht(x,1) = Rnd(0,800) ; oder wie deine bildschirmbreite eben ist
recht(x,2) = recht(x,2)+1 ;du lässt die y achse \"nach unten fallen\"
Rect recht(x,1),recht(x,2),20,20
Next


fertig
das kannst du natürlich alles noch mit verscheidenen "mustern" und sonst was machen...
  • Zuletzt bearbeitet von Splinner am So, Dez 05, 2004 21:13, insgesamt 4-mal bearbeitet
 

azureuz

BeitragSo, Dez 05, 2004 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
hm, hast du das mal probiert? Very Happy

bei mir gehen die von links nach rechts...und das ziemlich schnell...zu schnell...und wenn sie unten sind, kommen sie nicht wieder?

Splinner

BeitragSo, Dez 05, 2004 21:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ja mensch...
ich habs nich probiert...das sie weider kommen muss man natürlich noch machen....:p

ok denn vertauscht man eben die achsen 1und2 und dann gehst..:p

[edit]

z.b.

if recht(x,2) > 800 then recht (x,2) = -10

[edit2]
wenn sie zu schnell kommen denn mach einfach

dim recht#(10,2)

udn die geschwindigkeit 0.5 oder was auch immer...
 

azureuz

BeitragSo, Dez 05, 2004 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
argh....irgendwie will das immernoch nicht funzen.

es will auch nciht waagerecht gehen :/

DA

BeitragSo, Dez 05, 2004 22:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

Was ist da den so schwierig dran?
Du speicherst ein paar zufällige x und y achsen und dann lässte die wie bei einer bewegung laufen.

Thx
DarkAngel
Deutscher Blitz Basic Chat

Ctuchik

BeitragSo, Dez 05, 2004 22:38
Antworten mit Zitat
Benutzer-Profile anzeigen
jau, hier mal eine Lösung mit Types, meiner Meinung nach für dieses Problem besser geeignet:
BlitzBasic: [AUSKLAPPEN]


Const gravity# = 2.5 ;Schwerkraft-konstante
Const scrwidth% = 800 ;Bildschirmbreite
Const scrheight% = 600 ;Bildschirmhöhe

Graphics scrwidth,scrheight
SetBuffer BackBuffer()

Type Rechteck ;Ein Type für die Rechtecke
Field x#,y# ;x-y-Position
Field breite%,hoehe% ;Breite und Höhe
End Type

For a=1 To 10 ;Am Anfang 10 neue Rechtecke erstellen
NeuesRechteck(Rand(0,scrheight),Rand(-500,0),Rand(10,40),Rand(10,40))
Next

Global timer1 = CreateTimer(60) ;Timer für 60 Frames die Sekunde
While Not KeyHit(1) ;Die Hauptschleife
WaitTimer(timer1)
For block.Rechteck = Each Rechteck ;Alle Rechtecke druchgehen
block\y = block\y + gravity ;y-Wert erhöhen, damit das Rechteck fällt
If block\y > scrwidth Then ;Wenn Rechteck unten aus dem Bildschirm rausfällt
Delete block ;Altes Rechteck löschen
NeuesRechteck(Rand(0,scrheight),-100,Rand(10,40),Rand(10,40)) ;Neues Rechteck erstellen
Else
Color 255,255,255 ;Farbe auf Weiß setzen
Rect block\x, block\y, block\breite, block\hoehe ;Rechteck zeichnen
End If
Next
Flip
Cls
Wend
End

Function NeuesRechteck(x,y,b,h)
neu.Rechteck = New Rechteck ;Neues Rechteck erstellen
neu\x = x ;x-Koordinate zuweisen
neu\y = y ;y-Koordinate zuweisen
neu\breite = b ;Breite zuweisen
neu\hoehe = h ;Höhe zuweisen
End Function
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle!
Fraget euren Arzt oder Apotheker!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group