anstatt +1 wird +2 gemacht

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mas93

Betreff: anstatt +1 wird +2 gemacht

BeitragMo, Sep 10, 2007 18:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

Ich hab ein problem.
Und zwar hab ich folgende einfache funktion:

Code: [AUSKLAPPEN]

Function schuss()
   If Mh=1 Then
      If enemiemap(PossitionX,PossitionY)<>0 Then
         wassermap(PossitionX,PossitionY)=enemiemap(PossitionX,PossitionY)
         
         If enemiemap(PossitionX,PossitionY)=1 Then zwei=zwei+1
         
         If enemiemap(PossitionX,PossitionY)=2 Then zwei=zwei+1
         
         If enemiemap(PossitionX,PossitionY)=3 Then drei=drei+1
         
         If enemiemap(PossitionX,PossitionY)=4 Then drei=drei+1
         
         If enemiemap(PossitionX,PossitionY)=5 Then drei=drei+1
         
         If enemiemap(PossitionX,PossitionY)=6 Then zdrei=zdrei+1
         
         If enemiemap(PossitionX,PossitionY)=7 Then zdrei=zdrei+1
         
         If enemiemap(PossitionX,PossitionY)=8 Then zdrei=zdrei+1
         
         If enemiemap(PossitionX,PossitionY)=9 Then vier=vier+1
         
         If enemiemap(PossitionX,PossitionY)=10 Then vier=vier+1
         
         If enemiemap(PossitionX,PossitionY)=11 Then vier=vier+1
         
         If enemiemap(PossitionX,PossitionY)=12 Then vier=vier+1
         
         If enemiemap(PossitionX,PossitionY)=13 Then fuenf=fuenf+1
         
         If enemiemap(PossitionX,PossitionY)=14 Then fuenf=fuenf+1
         
         If enemiemap(PossitionX,PossitionY)=15 Then fuenf=fuenf+1
         
         If enemiemap(PossitionX,PossitionY)=16 Then fuenf=fuenf+1
         
         If enemiemap(PossitionX,PossitionY)=17 Then fuenf=fuenf+1
         
      EndIf
   EndIf
End Function


so, aber wenn ich diese aufrufe, wird immer anstatt +1 +2 gemacht.
Wie kann ich das ändern??

mfg
mas93

P.S.: Am anfang vom mainloop steht mh=mousehit(1)
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau]

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragMo, Sep 10, 2007 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
An der Function liegt es nicht, ich kann da keinen Fehler finden!
Vermutlich wird die Function 2 mal aufgerufen
[BB2D | BB3D | BB+]

LordArtus

BeitragMo, Sep 10, 2007 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Also , auf den ersten Blick , stimmt irgenetwas nicht mit den EndIfs.
Vorschlag: mach nach jeder IF-Abfrage , beginnend mit
Code: [AUSKLAPPEN]

If enemiemap(PossitionX,PossitionY)=1 Then zwei=zwei+1

ein EndIf rein.

MfG

LordArtus

Xeres

Moderator

BeitragMo, Sep 10, 2007 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit den EndIfs ist alles okay, aber vielleicht trifft eine Bedingung auch mehrmals zu?
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

LordArtus

BeitragMo, Sep 10, 2007 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja , der Compiler könnte die letzten zwei Endifs zu den letzten zwei Ifs dazusetzen.Und nicht zu den ersten , wie ich vermute , dass es sein sollte.Aber naja , kenne mich nicht so mit der Syntax von BB aus.

MfG

LordArtus

BigMaexle

BeitragMo, Sep 10, 2007 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
vll. liegt es am "PosSitionX" bzw. -Y Position wird laut Duden nur mit einem s geschrieben, ich wüsste jetz zwar nich wie da ein Fehler entstehen kann, wenn dann durch den HauptCode, aber falsch-geschriebene Variablennamen sind immer schelcht oder ist PossitionX und Y nich global?
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber
 

Dreamora

BeitragMo, Sep 10, 2007 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
LordArtus hat Folgendes geschrieben:
Also , auf den ersten Blick , stimmt irgenetwas nicht mit den EndIfs.
Vorschlag: mach nach jeder IF-Abfrage , beginnend mit
Code: [AUSKLAPPEN]

If enemiemap(PossitionX,PossitionY)=1 Then zwei=zwei+1

ein EndIf rein.

MfG

LordArtus


du brauchst keine EndIfs für single line Ifs
Das ist ne schönheitskosmetik die nur dann was bringt wenn man 2 und mehr befehle hat.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

LordArtus

BeitragMo, Sep 10, 2007 19:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ok , dann sag mir , woher der Compiler wissen soll , zu welchen IF's die letzten zwei EndIF's gehören ???

MfG

LordArtus

ZaP

BeitragMo, Sep 10, 2007 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Compiler weiß nix, der denkt auch nicht, sondern der arbeitet logisch. Wenn du ein IF schreibst, muss ein endif kommen, machst du noch eins auf, muss noch ein Endif kommen, kommt ein Endif, is das zwiete IF abgehakt, und der Compiler sucht nach dem nächsten EndIf.
Starfare: Worklog, Website (download)

LordArtus

BeitragMo, Sep 10, 2007 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
ok , ich entschuldige mich , bin irgenwie jetzt daneben , mit den endifs ist alles ok.

MfG

LordArtus
 

AMD

BeitragMo, Sep 10, 2007 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
sry wenn ich mich jetzt teuschen sollte aber kann des vll sein das z.b.
"zwei" schon 1 ist und wenn du es dann +1 machst dann als 2 angezeigt wird?
MfG
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

SpionAtom

BeitragMo, Sep 10, 2007 21:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Beschreib doch einfach mal, was die Function leisten soll. Und achte dabei nicht darauf, wie sie es leisten soll. Vielleicht finden wir eine bessere Lösung. Der vorgestellte Code sieht nicht besonders glücklich aus Laughing
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group