Compile Fehler ?!!?

Previous topic - Next topic

Kilinat

#15
Danke :) Bin aber nun schon bei einem weitern Fehler. Das komische ist, dass es 1zu1 von einem Tutorial übernommen ist.

Code (glbasic) Select

LOADSPRITE "../raumschiff.bmp", 0
LOADSPRITE "../schuss.png", 1


GLOBAL playerx = 400
GLOBAL playery = 400

TYPE schuss
x
y
ENDTYPE

LOCAL schuesse[] AS schuss

// HAUPTSCHLEIFE
WHILE TRUE

IF KEY (203) THEN playerx = playerx -4
IF KEY (205) THEN playerx = playerx +4

IF KEY (57) AND warten < GETTIMERALL()
schuss.y = 400
schuss.x = playerx+5
DIMPUSH schuesse[],schuss
warten = GETTIMERALL()+200
ENDIF

FOREACH laser IN schuesse[]
DEC laser.y, 2
IF laser.y < 0 THEN DELETE laser
DRAWSPRITE 1, laser.x, laser.y
NEXT
playerx = MAX(MIN(playerx, 600),0)
DRAWSPRITE 0, playerx, playery
SHOWSCREEN
WEND


// Hauptschleife Ende




hier gibt er mir diese Fehlermeldung:

"ErstesSpiel.gbas"(29) warning : probably unassigned variable : schuss
"ErstesSpiel.gbas"(27) error : wrong argument type : TYPE  is not declared


Kilinat


BumbleBee

#17
Hi
1. Wenn du hier Code reinstellst, dann bitte den Code in Klammern setzen. Ist schöner zum lesen. :)
2. Nicht gleich in die Vollen gehen.  Wenn du noch nie was programmiert hast und daher noch nicht weißt was z.B. Types sind dann ist das schlecht weil man nicht weiß, wie und was.  =D  Erst klein anfangen (PRINT "Hello World",x,y)  ;)  und die Befehle durcharbeiten. Das wird sonst sehr frustrierend wenn man nicht weiterkommt und die Fehlermeldungen nicht deuten kann.
3. Bitte auch mal in die Hilfe schauen. Vielleicht bringt dich das deinem Problem ein Stück näher.   :nana:

Aber ansonsten sind wir natürlich  da wenns doch nicht geht oder man was nicht versteht.   Viel Spass noch mit GLBasic und bei uns hier.  :booze:

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

backslider

@Kilinat:

Wenn du nochmal auf die erste Seite dieses Threads guckst und dann nochmal ganz langsam deinen Compiler error durchliest... Dann solltest du den Fehler lösen können!

Ansonsten solltest du vielleicht erstmal die tutorials in der Hilfe durcharbeiten ;)
Und damit du es erstmal einfacher hast, geh in GLBasic unter Projekt->Optionen und mach den Haken bei "Explizite Deklarationen" weg!

mfG

Schranz0r

Wenn du ein Type erstellt musst du dann auch eine Instanz erstellen, mit der du das Type ansprichst!

Code (glbasic) Select
IF KEY (57) AND warten < GETTIMERALL()
   LOCAL  s AS schuss
   s.x = 400
   s.y = playerx+5
   DIMPUSH schuesse[], s
   warten = GETTIMERALL()+200
ENDIF


Das andere problem ist deine Initialisierung der Variablen!
Mach den hacken bei expleziet raus bei deinen Projectoptionen dann macht er zumindestens ein Autoglobal... Was aber nicht immer gut ist!
immer schön GLOBAL und LOCAL nutzen, dann klappts auch mitn Nachbarn :P
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard