Problem mit Code... -=[DRNGEND]=-
Übersicht

![]() |
ChrisAttackBetreff: Problem mit Code... -=[DRNGEND]=- |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe hier ein Problem mit meinem Code.
Könntet ihr euch den mal durchlesen, bitte? Ich wäre euch sehr dankbar, da ich selbst den Fehler nicht finde. PS.: Alle dateien sind vorhanden, und im richtigen Verzeichnis. Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() ;Include Dateien Include "KI.bb" ; ;Bilder laden Global main = LoadImage("GFX/main.png") Global ok = LoadImage("GFX/ok.png") Global nein = LoadImage("GFX/nein.png") Global rechts = LoadImage("GFX/rechts.png") Global links = LoadImage("GFX/links.png") Global pointer = LoadImage("GFX/pointer.png") ; Dim fighter(1) fighter(0) = LoadImage("GFX/vorschau_tarnkappe.bmp") fighter(1) = LoadImage("GFX/vorschau_code_t.bmp") ; Dim level(0) level(0) = loadimage("Maps/height_map.bmp") ;Variablen Global choosen_map=0 ;Farbe für Font Color 255,0,0 ;Levelauswahl .choosen repeat x=mousex() y=mousey() ;Bilder DrawBlock main,0,0 DrawImage ok,450,500 DrawImage nein,300,500 DrawImage links,10,500 DrawImage rechts,90,500 ; Text 515,550,"(Enter)" Text 365,550,"(Esc)" Text 155,550,"(Pfeiltasten)" ; ;Variable choosen wird geändert If KeyHit(28) Then Goto choosen1 If KeyHit(203) Then choosen_map=choosen_map-1 If KeyHit(205) Then choosen_map=choosen_map+1 If choosen<=0 Then choosen_map=0 If choosen>=0 Then choosen_map=0 ; ;Collisionsabfrage pointer,buttons If ImagesCollide(pointer,x,y,0,ok,450,500,0) And MouseDown(1) Then Goto choosen1 If ImagesCollide(pointer,x,y,0,nein,300,500,0) And MouseDown(1) Then End If ImagesCollide(pointer,x,y,0,links,10,500,0) And MouseDown(1) Then choosen_map=choosen_map-1 If ImagesCollide(pointer,x,y,0,rechts,90,500,0) And MouseDown(1) Then choosen_map=choosen_map+1 ; ;Level_Vorschau drawimage level(choosen),100,100 ; flip until keyhit(1) End ;Flugzeugauswahl .choosen1 Repeat x=MouseX() y=MouseY() ;Bilder DrawBlock main,0,0 DrawImage ok,450,500 DrawImage nein,300,500 DrawImage links,10,500 DrawImage rechts,90,500 ; Text 515,550,"(Enter)" Text 365,550,"(Esc)" Text 155,550,"(Pfeiltasten)" ; ;Variable choosen wird geändert If KeyHit(28) Then Goto drag If KeyHit(203) Then choosen=choosen-1 If KeyHit(205) Then choosen=choosen+1 If choosen<=0 Then choosen=0 If choosen>=1 Then choosen=1 ; ;Daten für Flieger ;Tarnkappe If choosen=0 Then Text 50,50,"Tarnkappe" Color 255,255,255 Text 50,400,"Speed: |||.. Beweglichkeit: |||.. Kraft: ||||." Color 255,0,0 EndIf ; ;Code-T If choosen=1 Then Text 50,50,"Code-T" Color 255,255,255 Text 50,400,"Speed: ||||| Beweglichkeit: |||.. Kraft: ||..." Color 255,0,0 EndIf ; ;Vorschau von Meshs DrawImage fighter(choosen),100,100 ; ;Maus DrawImage pointer,x,y ; ;Collisionsabfrage pointer,buttons If ImagesCollide(pointer,x,y,0,ok,450,500,0) And MouseDown(1) Then Goto drag If ImagesCollide(pointer,x,y,0,nein,300,500,0) And MouseDown(1) Then End If ImagesCollide(pointer,x,y,0,links,10,500,0) And MouseDown(1) Then choosen=choosen-1 If ImagesCollide(pointer,x,y,0,rechts,90,500,0) And MouseDown(1) Then choosen=choosen+1 ; ;Screeenshot if keydown(59) then savebuffer(Frontbuffer()),"Pictures/shot.bmp" ; Flip Until KeyHit(1) End ;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;Drag;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;; .drag Graphics3D 1024,768,32,1 SetBuffer BackBuffer() ;Cam cam = CreateCamera() PositionEntity cam,0,10,-20 ; ;Light light = CreateLight(2) PositionEntity light,-5,-50,-5 RotateEntity light,45,0,0 ; light1 = createlight(1) positionentity light1,50,80,0 ; ;Terrain If choosen_map=0 Then ;Bodenplane water = LoadTexture("Maps/water.jpg") ScaleTexture water,20,20 boden = CreatePlane() PositionEntity boden,0,-1,0 EntityType boden,2 EntityTexture boden,water ; boden_textur = LoadTexture("Maps/boden.jpg") map01 = LoadTerrain("Maps/map.bmp") TerrainDetail map01,4000 ScaleTexture boden_textur,2,2 EntityTexture map01,boden_textur,0,1 PositionEntity map01,0,0,0 ScaleEntity map01,1,50,1 EntityType map01,2 EndIf ; ;Schiff auswählen If choosen=0 Then mesh = LoadMesh("Meshs/tarnkappe.3ds") EndIf ; If choosen=1 Then mesh = LoadMesh("Meshs/code_t.3ds") EndIf ; ;Mesh "gradestellen" RotateMesh mesh,-90,-90,90 ; entitytype mesh,1 ; PointEntity cam,mesh EntityParent(cam,mesh) Repeat ;Steuerung If KeyDown(17) speed#=speed#+.1 ElseIf KeyDown(31) speed#=speed#-.1 EndIf ; If KeyDown(30) And KeyDown(17) Or KeyDown(31) TurnEntity mesh,0,1,0 EndIf ; If KeyDown(32) And KeyDown(17) Or KeyDown(31) TurnEntity mesh,0,-1,0 EndIf ; If KeyDown(30) TurnEntity mesh,0,.5,0 ElseIf KeyDown(32) TurnEntity mesh,0,-.5,0 EndIf ; if keydown(200) then moveentity mesh,0,1,0 if keydown(208) then moveentity mesh,0,-1,0 ; ;Move Mesh If speed#>=1 Then speed#=1 If speed#<=-.5 Then speed#=-.5 MoveEntity mesh,0,0,speed# ; ;Schiff kann nicht in Wasser Collisions 1,2,2,2 ;Gegner KI KI() ; ;Screeenshot if keydown(59) then savebuffer(Frontbuffer()),"Pictures/shot.bmp" ; UpdateWorld RenderWorld Flip Until KeyHit(1) Global Anzahl=10 ;Gegner Anzahl ;Felder Dim Unit(Anzahl,3) Dim Unit_Schuss(Anzahl,100,1) Dim distance#(Anzahl) ; ;Reichweite Global range#=50 ; ;Gegnermodell laden + Startkoordinaten For I=0 To Anzahl Unit(I,0) = LoadMesh("Meshs/tarnkappe.3ds") Unit(I,1) = Rnd(300) ;X Unit(I,2) = Rnd(300) ;Y Unit(I,3) = Rnd(300) ;Z PositionEntity Unit(I,0),Unit(I,1),Unit(I,2),Unit(I,3) Next ; ;Distanz mesh mit Gegnern For I=0 To Anzahl distance(I)=EntityDistance(mesh,Unit(J,0)) Next ; ;Funktion Function KI() ;Distance überprüfen For I=0 To Anzahl If distance#(I) =< range# Then Schuss=Schuss+1 If Schuss=100 Then Schuss=1 Unit_Schuss(I,Schuss,0)=1 Unit_Schuss(I,Schuss,1)=Unit(I,3)+10 EndIf Next ; ;Schiessen For I=0 To Anzahl For K=0 To 100 If Unit_Schuss(I,K,3) > 300 Then Unit_Schuss(I,K,0)=0 If Unit_Schuss(I,K,0) = 1 Then laser = LoadMesh("Meshs/laser.3ds") MoveEntity laser,0,0,Unit_Schuss(I,K,1) Unit_Schuss(I,K,1) = Unit_Schuss(I,K,1)+10 EndIf Next Next ; ;Gegner bewegen For I=0 To Anzahl MoveEntity Unit(I,0),0,0,3 Next ; End Function |
||
B3D
MSVC++ DX9SDK |
- Zuletzt bearbeitet von ChrisAttack am Di, März 02, 2004 21:00, insgesamt einmal bearbeitet
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir nicht sicher, aber dieser Code wird nie benutzt, weil er an einer Stelle Steht die nie erreicht wierd, bis zum ende, und dann ist sie Sinnlos!
Der Befehl Debuglog schreibt in den debuglog --> du kannst herausfenden an welcher stelle der Fehler ist (ganz nützlich!) Code: [AUSKLAPPEN] Global Anzahl=10 ;Gegner Anzahl
;Felder Dim Unit(Anzahl,3) Dim Unit_Schuss(Anzahl,100,1) Dim distance#(Anzahl) ; ;Reichweite Global range#=50 ; ;Gegnermodell laden + Startkoordinaten For I=0 To Anzahl Unit(I,0) = LoadMesh("Meshs/tarnkappe.3ds") Unit(I,1) = Rnd(300) ;X Unit(I,2) = Rnd(300) ;Y Unit(I,3) = Rnd(300) ;Z PositionEntity Unit(I,0),Unit(I,1),Unit(I,2),Unit(I,3) Next ; ;Distanz mesh mit Gegnern For I=0 To Anzahl distance(I)=EntityDistance(mesh,Unit(J,0)) Next |
||
between angels and insects |
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab ich gemacht, aber in dem teil hier
Code: [AUSKLAPPEN] ;Funktion Function KI() ;Distance überprüfen For I=0 To Anzahl If distance#(I) =< range# Then Schuss=Schuss+1 If Schuss=100 Then Schuss=1 Unit_Schuss(I,Schuss,0)=1 Unit_Schuss(I,Schuss,1)=Unit(I,3)+10 EndIf Next ; ;Schiessen For I=0 To Anzahl For K=0 To 100 If Unit_Schuss(I,K,3) > 300 Then Unit_Schuss(I,K,0)=0 If Unit_Schuss(I,K,0) = 1 Then laser = LoadMesh("Meshs/laser.3ds") MoveEntity laser,0,0,Unit_Schuss(I,K,1) Unit_Schuss(I,K,1) = Unit_Schuss(I,K,1)+10 EndIf Next Next ; ;Gegner bewegen For I=0 To Anzahl MoveEntity Unit(I,0),0,0,3 Next ; End Function ; kommt immer wieder die fehler Meldung Code: [AUSKLAPPEN] Expecting ´)´
Ich finde einfach nicht heraus wo die verdammte Klammer hinkommt. ![]() Helft mir doch bitte! |
||
B3D
MSVC++ DX9SDK |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
die Fehlermeldung kommt nomalerweise wenn ein Array nicht mit Dim initialisiert ist,
evt. startest du einen include datei und nicht den hauptteil in der die includes stehen |
||
[BB2D | BB3D | BB+]
|
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie meinst du das? | ||
B3D
MSVC++ DX9SDK |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
du versuchst die "KI.bb" zu starten anstatt des hauptteils
oder die DIM Variable (x.y) wurde noch nicht aufgerufen ! Beispiel bei der ganau deine fehlermeldung kommt: Code: [AUSKLAPPEN] Unit_Schuss(I,Schuss,0)=1
lass das mal alleine laufen, nur diese 1 zeile bei welcher variable beschwert sich der compiller überhaupt, bzw Zeile ? |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich versteht nix von 3D hab den code auch garnich durchgelesen aber ich fand deinen thread-namen sehr einfallsreich. ![]() |
||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der fehler muss in der ki.bb liegen...der oben gepostete code läuft bei mir problemlos an... | ||
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, hab jetzt alles in einen code geschrieben.
Nun tritt aber hier ein Fehler auf: Code: [AUSKLAPPEN] For I=0 To Anzahl If distance#(I) =< range# Then Schuss=Schuss+1 If Schuss=100 Then Schuss=1 Unit_Schuss(I,Schuss,0)=1 | <= Unit_Schuss(I,Schuss,1)=Unit(I,3)+10 | EndIf Next Der compiler vermisst in den gekennzeichneten Zeilen die Klammern. Wo müssen die hin? Ich hab keine Ahnung ![]() |
||
B3D
MSVC++ DX9SDK |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Poste mal den kompletten Code....! | ||
[BB2D | BB3D | BB+]
|
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der Dim für den array muss in dieser datei erfolgen, sonst gehts nichts (bin über das gleiche Problem gestolpert bei einem Codesample fürs errechnen von TerrainSchatten)
sollte der dim in der hauptdatei sein und diese included, reicht das (komischerweise) nicht, scheint als ob es dem compiler aus irgend einem grund nicht passen würde ... |
||
![]() |
Malice |
![]() Antworten mit Zitat ![]() |
---|---|---|
oder in einer include datei.
ich z.b. habe immer eine var.bb mit dabei wo so ziemlicha lle wichtigen variablen definiert werden. |
||
![]() |
ChrisAttack |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe ja den Code in eine Datei geschrieben.
Läuft beim komplimieren auch super, nur wenn ich jetzt die Function KI() in der hauptschleife ausführe, kommt die fehlermeldung das die Klammern fehlen. |
||
B3D
MSVC++ DX9SDK |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group