Type Check

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Raiden93

Betreff: Type Check

BeitragSo, Apr 04, 2010 10:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir ein Tutorial angesehen und langsam alles durch geklappert nur ist bei mir ein Fehler und finde den Fehler nicht.
Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer BackBuffer()
Global Counter

Type ball
 Field farbe
 Field grosse
 Field speed
 Field ball_x
 Field ball_y
End Type

Repeat ;Hauptschleife
Cls
Erstellen()
machen_lassen()

Flip
Until KeyHit(1)                         

Function Erstellen()
Counter = Counter +1

If Counter > 15 Then
 Counter = 0

          info.ball = New ball             
               info\farbe = Rnd(0,255 )         
               info\größe = Rnd(1,3)
               info\speed = Rnd(1,4)
               info\ball_x = Rnd(0,800)
               info\ball_y = -5
End If
End Function

Function machen_lassen()
For info.ball = Each ball
  info\ball_y = info\ball_y +info\speed
      Oval info\ball_x,info\ball_y,info\größe,info\größe ;bewegen
         If info\ball_y > 600 Then Delete info.ball ;löscht
Next
End Function

The Shark

BeitragSo, Apr 04, 2010 10:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Niemals Umlaute außerhalb von strings benutzen, nicht bei variable und auch nicht bei Funktionen

Raiden93

BeitragSo, Apr 04, 2010 10:20
Antworten mit Zitat
Benutzer-Profile anzeigen
hmm das kapiere ich jetzt nicht so ganz ich habe es doch genau so wie im tutorial beschrieben gemacht.

The Shark

BeitragSo, Apr 04, 2010 10:22
Antworten mit Zitat
Benutzer-Profile anzeigen
grosse<>größe

Raiden93

BeitragSo, Apr 04, 2010 10:27
Antworten mit Zitat
Benutzer-Profile anzeigen
meinst du
Code: [AUSKLAPPEN]
         If info\ball_y > 600 Then Delete info.ball ;löscht

The Shark

BeitragSo, Apr 04, 2010 10:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein natürlich nicht:

Du hast definiert


Type ball
Field farbe
Field grosse
Field speed
Field ball_x
Field ball_y
End Type

und schreibst später

info\größe = Rnd(1,3)

Klingelts jetzt?

Raiden93

BeitragSo, Apr 04, 2010 10:35
Antworten mit Zitat
Benutzer-Profile anzeigen
ahh ok danke ^^
 

n-Halbleiter

BeitragSo, Apr 04, 2010 11:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube, es wurde dir schon gesagt, nimm als IDE besser IDEal, als die grottige StandardIDE. Mit IDEal wäre es einfacher, den Fehler zu finden. Und das sage ich nicht, um dich zu nerven, sondern, weil es wirklich eine enorme Arbeitserleichterung ist. Denn IDEal markiert nicht deklarierte Variablen rot.
mfg, Calvin
Maschine: Intel Core2 Duo E6750, 4GB DDR2-Ram, ATI Radeon HD4850, Win 7 x64 und Ubuntu 12.04 64-Bit
Ploing!
Blog

"Die Seele einer jeden Ordnung ist ein großer Papierkorb." - Kurt Tucholsky (09.01.1890 - 21.12.1935)

Raiden93

BeitragSo, Apr 04, 2010 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
hier ist der Fertige Code mit den Aufgabe die ich im Tutorial bekommen habe.
Code: [AUSKLAPPEN]

;mit linker maustaste "partikel" types erstellen

Graphics 800,600,32,2
SetBuffer BackBuffer()
ClsColor 255,255,255

;globals
Global counter
Global speed_x#
Global speed_y#


;types
Type partikel
   Field px#         
   Field py#
   Field p_live      ;lebenszeit eines partikels
   Field p_speedX#   
   Field p_speedY#
   Field farbe1
   Field farbe2
   Field farbe3
   Field Grosse
End Type



;main------------------------------------
Repeat
Cls

   speed_x = MouseXSpeed() ;übernimmt den mausspeed für den partikel
   speed_y = MouseYSpeed()

         create_partikel()
        update_partikel()



Flip
Until KeyHit(1)
;-------------------------------------



Function create_partikel()

     
      If MouseDown(1) Then counter = counter +1

       If counter >= 5 Then
          counter = 0

         info.partikel = New partikel
         info\px = MouseX()
         info\py = MouseY()
         info\p_live = Rnd(80,120)
         info\p_speedX = speed_x ;mausspeed übergeben
         info\p_speedY = speed_y
         info\farbe1 = Rnd(0,255)
       info\farbe2 = Rnd(0,255)
       info\farbe3 = Rnd(0,255)
       info\grosse = Rnd(0,9)
      End If
         




End Function




Function update_partikel()


        For info.partikel = Each partikel
   
         info\p_live = info\p_live -1       ;partikel lebenszeit verkürzen
         
         info\px = info\px + info\p_speedX
         info\py = info\py + info\p_speedY
         info\py = info\py +5
         
         Color info\farbe1,info\farbe2,info\farbe3
         Rect info\px,info\py,info\grosse,info\grosse,1       ;"Partikel" malen
         
         If info\px <0 Or info\px >800 Or info\py <0 Or info\py > 600 Or info\p_live <0 Then
           Delete info.partikel             ;löschen
         End If
         
      Next



End Function

Raiden93

BeitragSo, Apr 04, 2010 11:21
Antworten mit Zitat
Benutzer-Profile anzeigen
ich danke dir für den neuen Compiller er ist echt geil.

Edit:
Sorry wegen Doppel post

mpmxyz

Betreff: Klarstellung

BeitragSo, Apr 04, 2010 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast gerade etwas nicht unwichtiges verwechselt:
Compiler und IDE
In der IDE schreibst du deinen Code und drückst du auf den "Compile & Run"-Button.
Die IDE startet dann den Compiler, welcher aus dem Code ausführbare Dateien macht.
IDEal ist "nur" eine andere IDE.
Alternative Compiler gibt es für BlitzBasic nicht. (Mark möchte ja auch irgendwie Geld machen. Wink)
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Raiden93

BeitragSo, Apr 04, 2010 11:30
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das weiß ich ja meinte es ja auch so danke für das Compiller Hilfe Programm so besser ^^?

Raiden93

BeitragSo, Apr 04, 2010 11:53
Antworten mit Zitat
Benutzer-Profile anzeigen
So habe jetzt noch ein versuch gemacht und mal wieder nen Fehler habe aber meiner Meinung alles Richtig gemacht.
Code: [AUSKLAPPEN]

Graphics 800,600,32,2
SetBuffer BackBuffer()
ClsColor 255,255,255

Global Counter

Type Ball
   Field = Ball_X
   Field = Ball_Y
   Field = Grosse
   Field = Speed
   Field = Farbe
End Type

Repeat
   Cls
   Erstellen()
   Malen()
   
   Flip
Until KeyHit (1)

Function Erstellen()
   Counter = Counter +1
   If Counter >= 15 Then
      Counter = 0
   End If
   If MouseDown (1) Then
      info.Ball = New Ball
      info\Ball_X = Rnd (0,800)
      info\Ball_Y = -5
      info\Grosse = Rnd (1,5)
      info\Speed = Rnd (1,5)
      info\Farbe = Rnd (0,255)
   End If
End Function

Function Malen()
   For info.Ball = Each Ball
      info.Ball_Y = info.Ball_Y -info\Speed
      Oval info\Ball_X,info\Ball_Y,info\Grosse,info\grosse,0
      If info\Ball_y > 600 Then Delete Info.Ball
   Next
End Function

mpmxyz

BeitragSo, Apr 04, 2010 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Field = Ball_X
Sicher, dass du hier alles richtig gemacht hast?
Da müsste normalerweise der Compiler meckern.
Dabei sollte dir normalerweise der Fehler markiert werden.
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

jokerman29

BeitragSo, Apr 04, 2010 12:00
Antworten mit Zitat
Benutzer-Profile anzeigen
keine ahnung ob du das meinst aber das fällt mir sofort ins auge:
Code: [AUSKLAPPEN]
Type Ball
   Field = Ball_X
   Field = Ball_Y
   Field = Grosse
   Field = Speed
   Field = Farbe
End Type


du setzt "=" obwohl es da nicht hingehört:
Code: [AUSKLAPPEN]
Type Ball
   Field Ball_X
   Field Ball_Y
   Field Grosse
   Field Speed
   Field Farbe
End Type

mfg
jokerman29
WhY sO sErIoUs? LeT´s PuT a SmIlE oN tHaT fAcE!

Rechtschreibfehler sind special-effekts meiner Tastatur Wink

Raiden93

BeitragSo, Apr 04, 2010 12:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ahh wieder was gelernt Wink

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group