Problem bei meinem Type und Field...

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Yankee

Betreff: Problem bei meinem Type und Field...

BeitragMi, Apr 19, 2006 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wie in der Ueberschrift schon steht, habe ich ein problem mit den Types und Fields...
Hier der Code und sagt mir bitte, was ich falsch mache...: Sad
Code: [AUSKLAPPEN]

Graphics 640, 480,16

ball = LoadImage("ball.bmp")
x = 1

Type alien
   Field x
   Field y
   Field graphic
End Type

For n = 1 To 100
   mal.alien = New alien
   alien\x(n) = Rnd(0,640)
   alien\y(n) = Rnd(0,480)
   alien\graphic
Next

While x = 1
   
   For mal.alien = Each alien
      
      Cls
      
      If alien\x(mal.alien) < 320 Then
         alien\x(mal.alien) = alien\x(mal.alien) + 1
      Else
         alien\x(mal.alien) = alien\x(mal.alien) - 1
      EndIf
      
      If alien\y(mal.alien) < 240 Then
         alien\y(mal.alien) = alien\y(mal.alien) + 1
      Else
         alien\y(mal.alien) = alien\y(mal.alien) - 1
      EndIf
      
      DrawImage ball, alien\x(mal.alien), alien\y(mal.alien)
   Next
   
Wend

Bitte sagt mir, was ich da falsch gemacht habe... Laughing

d-bug

BeitragMi, Apr 19, 2006 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Dieses ganze Dim Zeugs funktioniert nicht mit Types ! Brauchst du aber auch nicht !

Code: [AUSKLAPPEN]
For n = 1 To 100
   mal.alien = New alien
   mal\x = Rnd(0,640)
   mal\y = Rnd(0,480)
   ;mal\graphic ;<-- was ist denn das ? Variable ohne Wertzuweisung ? Übel !!!! ;)
Next


Code: [AUSKLAPPEN]
While x = 1 ;<-- würde da aber eine gescheites 'while not keyhit(1)' vorziehen, denn x änderst du ja nie

   Cls ;<-- lieber hier hin

   For mal.alien = Each alien
     
      If mal\x < 320 Then
         mal\x = mal\x + 1
      Else
         mal\x = mal\x - 1
      EndIf
     
      If mal\y < 240 Then
         mal\y = mal\y + 1
      Else
         mal\y = mal\y - 1
      EndIf
     
      DrawImage ball, mal\x, mal\y
   Next
   
   flip ;<-- vergessen ;)

Wend


so sollte es wahrscheinlich besser gehen
  • Zuletzt bearbeitet von d-bug am Mi, Apr 19, 2006 12:36, insgesamt einmal bearbeitet

Cardonic

BeitragMi, Apr 19, 2006 12:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Code: [AUSKLAPPEN]
Graphics 640, 480,16
SetBuffer BackBuffer()

ball = LoadImage("ball.bmp")
x = 1

Type alien
   Field x
   Field y
   Field graphic
End Type

For n = 1 To 100
   mal.alien = New alien
   mal\x = Rnd(0,640)
   mal\y = Rnd(0,480)
;   mal\graphic
Next

While Not KeyHit(1)
   
   Cls

   For mal.alien = Each alien
         
      If mal\x < 320 Then
        mal\x = mal\x + 1
      Else
         mal\x = mal\x - 1
      EndIf
     
      If mal\y < 240 Then
         mal\y = mal\y + 1
      Else
         mal\y = mal\y - 1
      EndIf
     
      DrawImage ball, mal\x, mal\y
   Next

   Flip   

Wend


Ich weiss nicht, ob das in deinem Sinne ist, aber es gibt zumindest keine Fehlermeldung mehr

mfg Cardonic

[Edit] Mist, zu spät [/Edit]
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.
  • Zuletzt bearbeitet von Cardonic am Mi, Apr 19, 2006 12:38, insgesamt einmal bearbeitet

d-bug

BeitragMi, Apr 19, 2006 12:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Tja Cardonic, da war ich wohl etwas schneller Wink

Yankee

BeitragMi, Apr 19, 2006 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
.... also danke erstmal Shocked ...
So jetzt kommt zwar keine Fehlermeldung mehr, aber ich wollte ja 100 baelle statt nur einen Twisted Evil ^^
Also bitte nochmal anschauen, und mir sagen was dann falsch ist.

Oki danke
 

Dreamora

BeitragMi, Apr 19, 2006 17:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast ja 100 bälle.
Das Problem war, dass du versuchst hast aus der X und Y Koordinate auch irgendwie arrays zu definieren, was nicht gebraucht wird, da jeder Type ein eigenständiges X und Y hat.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

5k41

BeitragMi, Apr 19, 2006 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
OMG!!!! Du erstellst du 100 Bälle!!!! LOL und dann auch noch im Befehlston mit uns reden...-.- naja ich will mal nicht so sein: es liegt an der For-schleife(nicht for-each)

MfG -.-
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image

Yankee

BeitragMi, Apr 19, 2006 22:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Also sorry, dass ich im Befehlstone gesprochen habe, aber ich kapier immer noch net wie ich das jetzt machen soll.... Crying or Very sad

Plz helf mir dabei....
Um so kleiner der code, um so schwieriger den Fehler zu finden:


Siehst du den Fehler?
Klick mal hier drauf... hehehe
 

ke^kx

BeitragDo, Apr 20, 2006 8:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie 5k41 schon sagte liegt es an der For schleife:

Code: [AUSKLAPPEN]
For n = 1 To 100
   mal.alien = New alien
   mal\x = Rnd(0,640)
   mal\y = Rnd(0,480)
   ;mal\graphic ;<-- was ist denn das ? Variable ohne Wertzuweisung ? Übel !!!! ;)
Next


So, und jetzt überleg mal, wo da 100 Bälle oder wie du es nennst erstellt werden... Confused

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Yankee

BeitragDo, Apr 20, 2006 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Oki..... danke nochmal... Very Happy
Jezt gehts endlich ^^
Um so kleiner der code, um so schwieriger den Fehler zu finden:


Siehst du den Fehler?
Klick mal hier drauf... hehehe
 

ke^kx

BeitragFr, Apr 21, 2006 21:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Gern geschehen^^ Aber besser wäre es trotzdem gewesen, wenn du selber nachgedacht hättest Wink

Jiriki
http://i3u8.blogspot.com
Asus Striker II
Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-)
Geforce 9800 GTX
2GB RAM

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group