gruppierungen steuern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Ghost

Betreff: gruppierungen steuern

BeitragDi, Feb 12, 2008 12:42
Antworten mit Zitat
Benutzer-Profile anzeigen
>.< mein letztes problem hab ich gelöst aber ist schon wieder ein neues aufgetaucht.. ich wollte mir ein "screensaver" machen mit farbigen punkten die sich immer nach links bewegen..
sollte so sein: ich drücke die linke steuertaste (203) und die punkte fahren bis zu x=0 wenn diepunkte bei x=0 ankommen, erscheinen sie bei x=640 wieder.. bei mir erscheinen die punkte zwar, aber wolen sich nciht bewegen Sad

Code: [AUSKLAPPEN]
Graphics 640,480,16,2


;;;;; punkte setzen=>------------------------------
   kreise_y#=0
   kreise_x#=0

  For kreise = 1 To 20
   kreise_x# = kreise_x# +20
   kreise_y# = kreise_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise_x#, kreise_y#, 5, 5
  Next
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   kreise1_y#=0
   kreise1_x#=50

  For kreise1 = 1 To 20
   kreise1_x# = kreise1_x# +20
   kreise1_y# = kreise1_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise1_x#, kreise1_y#, 5, 5
  Next
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
   kreise2_y#=0
   kreise2_x#=100

  For kreise2 = 1 To 20
   kreise2_x# = kreise2_x# +20
   kreise2_y# = kreise2_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise2_x#, kreise2_y#, 5, 5
  Next
;.............................................
   kreise3_y#=0
   kreise3_x#=150

  For kreise3 = 1 To 20
   kreise3_x# = kreise3_x# +20
   kreise3_y# = kreise3_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise3_x#, kreise3_y#, 5, 5
  Next
;;;;;;;;;;;;;;;;;;;;;;;
   kreise4_y#=0
   kreise4_x#=200
 
  For kreise4 = 1 To 20
   kreise4_x# = kreise4_x# +20
   kreise4_y# = kreise4_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise4_x#, kreise4_y#, 5, 5
  Next
;;;;;;;;;;;;;;;;;;;;;;;;;;
   kreise5_y#=0
   kreise5_x#=250
 
  For kreise5 = 1 To 20
   kreise5_x# = kreise5_x# +20
   kreise5_y# = kreise5_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise5_x#, kreise5_y#, 5, 5
  Next
;;;;;;;;;;;;
   kreise6_y#=0
   kreise6_x#=300
 
  For kreise6 = 1 To 20
   kreise6_x# = kreise6_x# +20
   kreise6_y# = kreise6_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise6_x#, kreise6_y#, 5, 5
  Next
;;;;;;;;;;;;;;
   kreise7_y#=0
   kreise7_x#=350
 
  For kreise7 = 1 To 20
   kreise7_x# = kreise7_x# +20
   kreise7_y# = kreise7_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise7_x#, kreise7_y#, 5, 5
  Next
;;;;;;;;;;;;;;;
   kreise8_y#=0
   kreise8_x#=400

  For kreise8 = 1 To 20
   kreise8_x# = kreise8_x# +20
   kreise8_y# = kreise8_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise8_x#, kreise8_y#, 5, 5
  Next
;;;;;;;;;;;;;
   kreise9_y#=0
   kreise9_x#=450

  For kreise9 = 1 To 20
   kreise9_x# = kreise9_x# +20
   kreise9_y# = kreise9_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise9_x#, kreise9_y#, 5, 5
  Next
;;;;;;;;;;;;
   kreise10_y#=0
   kreise10_x#=500

  For kreise10 = 1 To 20
   kreise10_x# = kreise10_x# +20
   kreise10_y# = kreise10_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise10_x#, kreise10_y#, 5, 5
  Next
;;;;;;;;;;;;
   kreise11_y#=0
   kreise11_x#=550

  For kreise11 = 1 To 20
   kreise11_x# = kreise11_x# +20
   kreise11_y# = kreise11_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise11_x#, kreise11_y#, 5, 5
  Next
;;;;;;;;;;;;;
  kreise12_y#=0
   kreise12_x#=-50

  For kreise12 = 1 To 20
   kreise12_x# = kreise12_x# +20
   kreise12_y# = kreise12_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise12_x#, kreise12_y#, 5, 5
  Next
;;;;;;;;;;;;;
  kreise13_y#=0
   kreise13_x#=-100

  For kreise13 = 1 To 20
   kreise13_x# = kreise13_x# +20
   kreise13_y# = kreise13_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise13_x#, kreise13_y#, 5, 5
  Next
;;;;;;;;;;;;
  kreise14_y#=0
   kreise14_x#=-150

  For kreise14 = 1 To 20
   kreise14_x# = kreise14_x# +20
   kreise14_y# = kreise14_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise14_x#, kreise14_y#, 5, 5
  Next
;;;;;;;;;;;;
  kreise15_y#=0
   kreise15_x#=-200

  For kreise15 = 1 To 20
   kreise15_x# = kreise15_x# +20
   kreise15_y# = kreise15_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise15_x#, kreise15_y#, 5, 5
  Next
;;;;;;;;;;;;
  kreise15_y#=0
   kreise15_x#=-250

  For kreise15 = 1 To 20
   kreise15_x# = kreise15_x# +20
   kreise15_y# = kreise15_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise15_x#, kreise15_y#, 5, 5
  Next
;;;;;;;;;;;;;
  kreise16_y#=0
   kreise16_x#=-300

  For kreise16 = 1 To 20
   kreise16_x# = kreise16_x# +20
   kreise16_y# = kreise16_y# +26
    Color Rnd(255), Rnd(255), Rnd(255)
    Oval kreise16_x#, kreise16_y#, 5, 5
  Next
;;;;;;;;;;;;;;; punkte gesetzt =>>>>>>>>>>>>>>>>>>>>>>>>>


; wenn nach steuertaste links dann fahren punkte nach links

While Not KeyDown(1)

If KeyDown(203)
kreise_x#=kreise_x#-10                ; punkte fahren nach links
If kreise_x#<0Then kreise_x#=640      ; wenn punkte bei x=0 ;angekommen erscheinen sie bei x=640 wieder

kreise1_x#=kreise1_x#-10
If kreise1_x#<0Then kreise1_x#=640

kreise2_x#=kreise2_x#-10
If kreise2_x#<0Then kreise2_x#=640

kreise3_x#=kreise3_x#-10
If kreise3_x#<0Then kreise3_x#=640

kreise4_x#=kreise4_x#-10
If kreise4_x#<0Then kreise4_x#=640

kreise5_x#=kreise5_x#-10
If kreise5_x#<0Then kreise5_x#=640

kreise6_x#=kreise6_x#-10
If kreise6_x#<0Then kreise6_x#=640

kreise7_x#=kreise7_x#-10
If kreise7_x#<0Then kreise7_x#=640

kreise8_x#=kreise8_x#-10
If kreise8_x#<0Then kreise8_x#=640

kreise9_x#=kreise9_x#-10
If kreise9_x#<0Then kreise9_x#=640

kreise10_x#=kreise10_x#-10
If kreise10_x#<0Then kreise10_x#=640

kreise11_x#=kreise11_x#-10
If kreise11_x#<0Then kreise11_x#=640

kreise12_x#=kreise12_x#-10
If kreise12_x#<0Then kreise12_x#=640

kreise13_x#=kreise13_x#-10
If kreise13_x#<0Then kreise13_x#=640

kreise14_x#=kreise14_x#-10
If kreise14_x#<0Then kreise14_x#=640

kreise15_x#=kreise15_x#-10
If kreise15_x#<0Then kreise15_x#=640

kreise16_x#=kreise16_x#-10
If kreise16_x#<0Then kreise16_x#=640

EndIf


Wend

End


pls help Confused
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Dottakopf

BeitragDi, Feb 12, 2008 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
mein tipp schau dir mal types oder arrys an die dürften dir da n haufen arbeit abnehemen.
Sry ich wollte mich jetzt ned durch alle kugeln drucharbeiten, und hab au ned auf anhieb den fehler gefunden. Daher geb ich dir schnell a beispiel, welches dein vorhaben vom logischen her umsetzt.

Das ist aber extrem umständlich, und so proggt au keiner (glaub ich)
Statt px1 und px2 nimmt man zb einen arry der dan heißt kugel(x). In dieser variable lassen sich je nachdem wie groß das speicherfeld ist, verschiedene werte unter einem varriablen namen zusammenfassen. Wobei x "angiebt" auf welchen "eintrag" man sich gerade bezieht.
zb:
dim name(2)
name( 0 ) = "Sepp"
Name( 1 ) = "peter"
Name( 2 ) = "hans"

aber zurück zu dem was du wolltest(voll abgeschweift Laughing )

Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()


Global px1 = 100
Global py1 = 100
Global px2 = 300
Global py2 = 400





Repeat
Cls



If KeyDown(203) Then px1 = px1 -1  px2 = px2 -1
If KeyDown(205) Then px1 = px1 +1  px2 = px2 +1


Rect px1,py1,30,30,1
Rect px2,py2,30,30,1

If px1 <0   Then px1 = 800
If px1 >801 Then px1 = 0
If px2 <0   Then px2 = 800
If px2 >801 Then px2 = 0


Flip
Until KeyHit(1)




So und wenn man des jetzt mit types(welche ganu für sowas da sind) mache, sieht das dann so aus
Leider muss man für types schon etwas erfahrung haben, aber wennn man sie kann ist es toll!
Code: [AUSKLAPPEN]

Graphics 800,600,16,2
SetBuffer BackBuffer()


Type box
   Field bx
   Field by
   Field b_speed
End Type





   ;50 boxen erstellen
   For x = 0 To 49

      info.box = New box
         info\bx = Rnd(0,800)
         info\by = Rnd(0,600)
         info\b_speed = Rnd(1,3)
         
   Next
   
   
   


Repeat
Cls


   For info.box = Each box
   
      info\bx = info\bx - info\b_speed
      If info\bx <0 Then info\bx = 800
      
      Rect info\bx,info\by,20,20,1
      
   Next

      



Flip
Until KeyHit(1)


beschäftige dich mit schleifen (for next) und arrys ... und wenn du denkst du bist fit dafür kannste dich mit types auseinander setzen. Kommt halt immer auf deienn aktuellen Wissensstand an.

mfg Dottakopf
Rechtschreibfehler gelten der allgemeinen Belustigung!
  • Zuletzt bearbeitet von Dottakopf am Di, Feb 12, 2008 13:23, insgesamt einmal bearbeitet

Mr.Hyde

Newsposter

BeitragDi, Feb 12, 2008 13:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Dottakopf hat sicherlich recht, aber man muss ja nicht sofort ein Meisterwerk erzeugen wenn man grade anfängt.
Dein Fehler: du solltest zwischen der Zahl und Then auch eine Leerstelle lassen. dann müsste es eigentlich funktionieren.
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen

Ghost

BeitragDi, Feb 12, 2008 14:37
Antworten mit Zitat
Benutzer-Profile anzeigen
thx leute..
@dotta
ich programmier erst seit 2 tagen blitz basic und hab nur den onlinekurs auf http://www.robsite.de/bbkurs2/11dateien.htm gelesen und bin immer noch ein noob...
danke für deine tipps und ich werd versuchen etwas über arrays herauszufinden.

@mr.Hyde
das mit dem abstand zwischen den 0 und den then ist egal weil dieser teil nur besagt dass die kreise auf der anderen seite des screens reinkommen wenn sie bei x=0 verschwinden. aber für das müssen sie sich bewegen können und das tun sie nicht. trotzdem danke

nochmal danke und wenn jemand weitere möglichkeiten/fehler antdeckt bitte posten Very Happy

greez Cool
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

D2006

Administrator

BeitragDi, Feb 12, 2008 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ghost hat Folgendes geschrieben:
ich programmier erst seit 2 tagen blitz basic und hab nur den onlinekurs auf ... gelesen und bin immer noch ein noob...

Ich will dir ja nicht zu Nahe treten, aber das finde ich relativ uninteressant. Du kannst keinerlei Rücksicht erwarten, dass du noch Anfänger bist, wenn du dir trotzdem anmaßt, außerhalb des Beginnerbereichs deine Fragen zu stellen.
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Ghost

BeitragDi, Feb 12, 2008 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mal die Fragen verglichen die man in der Anfängerabteilung stellt und die in der 2d-Abteilung (hier). Die Fragen hier erschienen mir persönlich einfache zu beantworten als die in der Anfängerabteilung. darum schrieb ich meine Fragen hier rein.
Ok. Danke für deine Meinung, dass es dich nicht interessiert wie lange ich progge. Jetz bitte ich dich den Fehler zu posten wenn du einen gefunden hast in meinem 1. Code
(hab mich sogar der Gross/Kleinschreibung bemüht Very Happy )


Greez Wink
Das ist keine Lüge sondern eine sachzwangreduzierte Ehrlichkeit.
----
Anakin: " Was für eine Lichtschwertform habt ihr da eigentlich benutzt, Meister? "

Obi Wan: " Form? Es war wohl eher ein Mangel an Form. "

Mr.Hyde

Newsposter

BeitragDi, Feb 12, 2008 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Solltest du solche Fragen wirklcih im Beginners Corner stellen
2. du aktualisierst zwar (wenn du die Leerstellen einbaust ansonsten hast du nämlich eine riesige komplexe If-Verwzweigung und es wird garantiert nicht klappen) die Variablen, aber du musst natürlich auch alles neu einzeichen! Dazu musst du das alte in jedem Hauptschleifendurchlauf löschen (CLS) und alle Kreise neu einzeichnen!
BBP News RSS | Chaos Interactive | Watanien 2 Screens, Infos und Download | Watanien 2 Worklog | PuzzleMasters
http://abgeordnetenwatch.de - http://www.regierungs-beratung.de - Der Regierung auf die Finger schauen

Ghost

BeitragDi, Feb 12, 2008 15:12
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Ok ich werde meine späteren fragen dort stellen.
2. Danke Very Happy jetzt kapier ich's Rolling Eyes
Danke @alle.

Keine weiteren Fragen, Euer Ehren.
Thema kann geschlossen werden

EDIT: Ich hab hier "alles" über Types gelesen und muss schon sagen.. Sehr hilfreich Very Happy

greez Wink

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group