hab anfänger prob mir dim.

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Ctuchik

BeitragMi, Feb 11, 2004 18:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich Blick jetzt echt nimmer durch!
Ich weiss nichtmal mehr was eigentlich dein Problem ist ....
Poste am besten mal den ganzen Quelltext und beschreib nochmal dein Problem, sonst kann ich nicht helfen! :/

mfG Ctuchik

dominik

BeitragMi, Feb 11, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
ok hier mal der gesamte code:

Code: [AUSKLAPPEN]

Graphics 1024, 768

; laden
rahmen = LoadImage("rahmen.bmp")
srahmen = LoadImage("srahmen.bmp")
mrahmen = LoadImage("mrahmen.bmp")
maus = LoadImage("pointer.bmp")
bild1 = LoadImage("hintergrund.bmp")
bild2 = LoadImage("stadt.bmp")
button = LoadImage("button.bmp")
schirft1 = LoadFont("Arial",50,1,0,0)
schrift2 = LoadFont("arial")
ScaleImage rahmen, 0.3, 0.3
ScaleImage sRahmen, 0.3, 0.3
ScaleImage mRahmen, 0.5, 0.18
ScaleImage bild1, 0.1, 0.1
ScaleImage bild2, 0.16, 0.16
ScaleImage button, 0.4,0.4
font1 = LoadFont("Arial",50,1,0,0)
font2 = LoadFont("Arial",16,0,0,0)
font3 = LoadFont("Arial",30,1,0,0)
font4 = LoadFont("Arial",270,0,0,0)
font6 = LoadFont("Arial",305,0,0,0)
font5 = LoadFont("Arial",32,1,0,1)
Menueauswahl = LoadImage ("menue.bmp")
Nachladen = LoadSound ("nachladen.wav")
keinemunition = LoadSound ("km.wav")
Schuss = LoadSound ("schuss.wav")
Hintergrund = LoadImage ("Hintergrund.bmp")
Zielklein = LoadImage ("Ziel1.bmp")
Zielgros = LoadImage ("Ziel2.bmp")
MunitionImage = LoadImage ("Munition.bmp")
Roterpunkt = LoadImage("Roterpunkt.bmp")
scopeklein = LoadImage("klein.bmp")
scopegros = LoadImage("groß.bmp")

M1 = LoadImage ("Männchen/M1.bmp")
M2 = LoadImage ("Männchen/M2.bmp")
M3 = LoadImage ("Männchen/M3.bmp")
M4 = LoadImage ("Männchen/M4.bmp")
M5 = LoadImage ("Männchen/M5.bmp")
M6 = LoadImage ("Männchen/M6.bmp")
M7 = LoadImage ("Männchen/M7.bmp")
ScaleImage M1, 0.1, 0.1
ScaleImage M2, 0.1, 0.1
ScaleImage M3, 0.1, 0.1
ScaleImage M4, 0.1, 0.1
ScaleImage M5, 0.1, 0.1
ScaleImage M6, 0.1, 0.1
ScaleImage M7, 0.1, 0.1
MoveMouse 512, 380


Dim nr(200), frei(50)

.anfang
eingabe = 1
modus = 1 
anfangszeit = MilliSecs()
endzeit = MilliSecs() + 300000
zeit = endzeit
zeitt = 30
blinken = 1

;                                                            Auswahl
SetBuffer BackBuffer()
Repeat
X = MouseX()
Y = MouseY()
If X > 512 And X < 1024 Then RahmenX = 610
If X < 512 And X > 0 Then RahmenX = 110
DrawImage bild1, 120, 200
DrawImage bild2, 620, 200
SetFont schirft1
Color 0, 0, 0
Rect 770, 200, 20, 130
Rect 115, 200, 160, 20
Rect 620, 200, 160, 20
Color 255, 255, 255
DrawImage srahmen, 110, 210
DrawImage srahmen, 610, 210
DrawImage button, 620, 640
DrawImage button, 100, 640
Text 150, 400, "Burg"
Text 650, 400, "Stadt"
Text 670, 650, "Ende"
Text 140, 650, "Menü"
FlushMouse
If ImagesCollide(bild1, 120, 200,0,maus,x,y,0) Then
DrawImage Rahmen, 110, 210
If MouseDown(1) Then Gosub burg
EndIf

If ImagesCollide(bild2, 620, 200,0,maus,x,y,0) Then
DrawImage Rahmen, 610, 210
If MouseDown(1) Then Text 500,450, "noch nicht verfügbar"
EndIf
DrawImage maus, X, Y
If ImagesCollide(maus, x, y,0,button,100,610,0) Then
If MouseDown(1) Then
Gosub menue
EndIf
EndIf

Flip
Cls
Until KeyDown(1) Or MouseDown(1) And ImagesCollide(maus, x, y,0,button,620,640,0)
End


;                                                                  Hauptschleife
.burg
Cls
Flip
SeedRnd MilliSecs()
X = -80
Y = -40
zeit = 60
eingabe = 1
Munition = 5

SetBuffer BackBuffer()
Turm1X = 300: Turm1Y = 403
Turm2X = 380: Turm2Y = 403
Dach1X = 600: Dach1Y = 552
Dach2X = 790: Dach2Y = 553
Dach3X = 920: Dach3Y = 587
Kturm1X = 1200: Kturm1Y = 475
kturm2X = 1240: kTurm2Y = 599
fenster1X = 485: Fenster1Y = 902
Fenster2X = 585: Fenster2Y = 902
Fenster3X = 680: Fenster3Y = 902
fenstergrosX = 820: fenstergrosY = 802
fenster4X = 1020: fenster4Y = 807
tuerX = 1185:tuerY = 880

Repeat

If KeyDown(62) Then Gosub menue

MX = MouseX()               ;liest Mousekoordinaten ein
MY = MouseY()
DMX = MX-1024/2            ;berechnet die Veränderung der Mouse vom Mittelpunkt
DMY = MY-768/2
Xnow = Xnow+DMX            ;Addiert die Veränderung zu den virtuellen Mousekoordinaten Xnow und YNow
Ynow = Ynow+DMY
If Xnow >1286 Then Xnow = 1286
If Xnow <251 Then Xnow = 251
If Ynow >940 Then Ynow = 940
If Ynow <310 Then Ynow = 310
xx = 1024-(Xnow)-1024/2      ;Rechnet die virt. Mousekoordinaten in die Position des Hinter-
yy = 768-(Ynow)-768/2        ;grund um.
MoveMouse 1024/2, 768/2      ;Setzt die Mouse auf die Mitte des Bildschirms zurück

If MouseHit(1) Then Gosub Schiesen
.fertig
DrawImage Hintergrund, XX,YY

;dim
For md1 = 1 To 13
If frei(md1) = 0 Then
 
  mz = Rand(1,13)
  If mz = 1 Then m = M1
  If mz = 2 Then m = M2
  If mz = 3 Then m = M3
  If mz = 4 Then m = M4
  If mz = 5 Then m = M5
  If mz = 6 Then m = M6
  If mz = 7 Then m = M7

  If mz = 1 Then DrawImage m, xx + 300, yy + 403
  If mz = 2 Then DrawImage m, xx + 380, yy + 403
  If mz = 3 Then DrawImage m, xx + 600, yy + 552
  If mz = 4 Then DrawImage m, xx + 790, yy + 553
  If mz = 5 Then DrawImage m, xx + 920, yy + 587
  If mz = 6 Then DrawImage m, xx + 1200, yy + 475
  If mz = 7 Then DrawImage m, xx + 1250, yy + 599
  If mz = 8 Then DrawImage m, xx + 485, yy + 902
  If mz = 9 Then DrawImage m, xx + 585, yy + 902
  If mz = 10 Then DrawImage m, xx + 680, yy + 902
  If mz = 11 Then DrawImage m, xx + 820, yy + 802
  If mz = 12 Then DrawImage m, xx + 1020, yy + 807
  If mz = 13 Then DrawImage m, xx + 1185, yy + 880
EndIf
If frei(md1) = 1 Then Gosub neuzeichnen
Next

;kontrolle
For md1 = 1 To 11
Text 0, 100, frei(md1)
Next

If eingabe = 1 Then DrawImage Zielklein, -240, -170
If eingabe = 2 Then DrawImage Zielgros, -240, -170
DrawImage Roterpunkt, 515, 394

SetFont font1
Color 255,0,0
Text 700, 710, "Munition:"
Color 255, 255,255
SetFont font3
Text 10, 10, "Ende mit ESC                                          Menü F4"
SetFont font2
If KeyDown(62) Then Gosub menue

;nachladen
If MouseDown(2) Then  modus = 4

If modus = 4 Then
 anfangwarten = MilliSecs()
 ende = MilliSecs() + 25
 modus = 3
EndIf

If modus = 3 Then
 endewarten = ende
 warten = anfangwarten
 modus = 2
EndIf

If modus = 2 Then
 warten = warten + 1
EndIf

If munition >= 5 Then modus = 1 
If warten => endewarten Then
  If modus = 2 Then
    Munition = Munition + 1
    PlaySound Nachladen
    warten = anfangwarten
  EndIf
EndIf
If Munition >= 1 Then DrawImage MunitionImage, 920, 700
If Munition >= 2 Then DrawImage MunitionImage, 940, 700
If Munition >= 3 Then DrawImage MunitionImage, 960, 700
If Munition >= 4 Then DrawImage MunitionImage, 980, 700
If Munition >= 5 Then DrawImage MunitionImage, 1000, 700

;zeitanzeige
Color 255,0,0
SetFont font3
durchlauf = durchlauf + 1
If durchlauf = 100 Then
  durchlauf = 0
  zeitt = zeitt - 1
EndIf
If eingabe = 1 Then abstandt = 50 Else abstandt = 10
Text abstandt, 380, "Verbleibende Zeit: "
SetFont font1
zeit = zeit - 1
If zeit < -3000 Then Exit
SetFont font3

;zeit blinken
bldurch = bldurch + 1
If bldurch => 50 Then
  bldurch = 0
  If blinken = 1 Then blinken = 2 Else blinken = 1
EndIf
If zeitt < 6 Then
  If blinken < 2 Then Text abstandt + 220, 380, zeitt
EndIf
If zeitt > 5 Then Text abstandt + 220, 380, zeitt
Color 255, 255, 255

Flip
Delay 1
If KeyHit(1) Then Exit
Forever
;                                                               endehauptschleife

SetFont font3
Text abstandt, 420, "keine"
Flip
WaitKey

Gosub anfang
End


.neuzeichnen
nr(md1) = Rand(1,13)
If nr(md1) = 1 Then DrawImage m,xx + turm1X, yy + Turm1Y: frei(md1) = 1
If nr(md1) = 2 Then DrawImage m,xx + turm2X, yy + turm2Y: frei(md1) = 1
If nr(md1) = 3 Then DrawImage m,xx + Dach1X, yy + Dach1Y: frei(md1) = 1
If nr(md1) = 4 Then DrawImage m,xx + Dach2X, yy + Dach2Y: frei(md1) = 1
If nr(md1) = 5 Then DrawImage m,xx + Dach3X, yy + Dach3Y: frei(md1) = 1
If nr(md1) = 6 Then DrawImage m,xx + kturm1X, yy + kturm1Y: frei(md1) = 1
If nr(md1) = 7 Then DrawImage m,xx + kturm2X, yy + kturm2Y: frei(md1) = 1
If nr(md1) = 8 Then DrawImage m,xx + fenster1X, yy + fenster1Y: frei(md1) = 1
If nr(md1) = 9 Then DrawImage m,xx + fenster4X, yy + fenster4Y: frei(md1) = 1
If nr(md1) = 10 Then DrawImage m,xx + tuerX, yy + tuerY: frei(md1) = 1: frei(md1) = 1
If nr(md1) = 11 Then DrawImage m,xx + fenstergrosX, yy + fenstergrosY: frei(md1) = 1
If nr(md1) = 12 Then DrawImage m,xx + fenster4X, yy + fenster4Y: frei(md1) = 1
If nr(md1) = 13 Then DrawImage m,xx + tuerX, yy + tuerY: frei(md1) = 1
Return
End

.Schiesen
If Munition < 1 Then PlaySound keinemunition: Return
modus = 1
PlaySound Schuss
Munition = Munition - 1

;Mänchen - treffer?
;For Md1 = 0 To 11
;For platz\art = 1 To 11
;For Platz\nr  = 1 To 11
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + turm1X,yy + Turm1Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + turm2X,yy + turm2Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + Dach1X,yy + Dach1X) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + Dach2X,yy + Dach2Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + Dach3X,yy + Dach3Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + kturm1X,yy + kturm1Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + kturm2X,yy + kturm2Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + fenster1X,yy + fenster1Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + fenster4X,yy + fenster4Y) Then Platz\frei = 0
;If ImagesOverlap (Roterpunkt ,515,394,md1,xx + tuerX,yy + tuerY) Then Platz\frei = 0
;Next
;Next
Return
End

.menue
Repeat
X = MouseX()
Y = MouseY()
Cls
SetBuffer BackBuffer()
SetFont font4
DrawImage button, 390, 660
DrawImage scopeklein, 150, 340
DrawImage scopegros, 150, 390
Text 405, 40, "   "
SetFont font1
Color 255,0,0
Text 440, 150, "Menü"
SetFont font5
Text 550, 300, "Steuerung"
Text 120, 300, "Scopeeinstellungen"
SetFont font3
Color 255, 255, 255
Text 550, 350, "Schießen mit linker Maustaste"
Text 550, 400, "Nachladen mit rechter Maustaste"
Color 0, 0,255
;Text 150, 350, "Kleines Scope"
;Text 150, 400, "Großes Scope"
Color 255, 255, 255
Text 450, 680, "Zurück"
If ImagesCollide(maus, x, y,0,scopeklein,150,340,0) Then DrawImage mrahmen, 90, 340: If MouseDown(1) Then eingabe = 1
If ImagesCollide(maus, x, y,0,scopegros,150,390,0) Then DrawImage mrahmen, 90, 387: If MouseDown(1) Then eingabe = 2
Color 255,255,255
If eingabe = 1 Then DrawImage Menueauswahl, 120, 350   ;klein
If eingabe = 1 Then DrawImage Menueauswahl, 325, 350   ;klein
If eingabe = 2 Then DrawImage Menueauswahl, 120, 395   ;groß
If eingabe = 2 Then DrawImage Menueauswahl, 325, 395   ;groß
DrawImage maus, X, Y
Flip
SetFont font3
Until KeyDown(1) Or MouseDown(1) And ImagesCollide(maus, x, y,0,button,390,660,0)
FlushKeys
FlushMouse
Return
End

Ctuchik

BeitragMi, Feb 11, 2004 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm...ich hab ich zwar bemüht, aber ich komm nicht drauf was das mit dem frei(md1) usw. eigentlich bezwecken soll!
Du hast 13 Positionen in der Burg an denen die Männchen hocken sollen, richtig?
Und was soll dann passieren?
 

HOT-BIT

Gast

BeitragMi, Feb 11, 2004 23:39
Antworten mit Zitat
Hi !

rofl !

Dann kommt Schneewittchen, und will bei der Frau Holle für Hans im Glück die Sieben-meilen-stiefel kaufen.
Aber da der böse Wolf, der gerade beim Tanzen im Schloß mit dem Rumpelstilzchen weilt, erst die Goldene Gans zurück bringen muß, soll sie nun beim Räuber Hotzenblitz übernachten.
Da das Tischlein-deck-dich gerade in Reparatur bei den Sieben Zwergen ist, wird einfach der Hahn von den Bremer Stadtmusikanten vertilgt.

Usw, usw...

Ich glaube, der weiß selber nicht, was er will oder wollte.
Ich weiß eines sicher: er hat keinen Durchblick !

Toni

Ctuchik

BeitragMi, Feb 11, 2004 23:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Gefühl hatte ich allerdings auch schon, aber wir sind ja nicht die bösen Jäger, die die Geißlein davon abhalten mit einer If-Abfrage zu überprüfen ob der Wolf oder die Großmutter vor der Tür steht! Smile

Also wenn er mir erklärt was passieren soll, dann versuch ich auch ihm zu helfen! Rolling Eyes

mfG Ctuchik

dominik

BeitragDo, Feb 12, 2004 17:49
Antworten mit Zitat
Benutzer-Profile anzeigen
@HOT-BIT: ohh mann wenn du nur scheiße laber willst oder dir lanweilig is dann geh in irgentein anderes forum (www.google.de -> forum) und laber da andere leute blöd an, da kannste du soviel mist spamen wie du willst. ich hab ne frage gestellt und wenn du mir nicht helfen kannst dann brauchste auch nicht antworten auf deine märchenscheiße kann ich jedefalls verzichten.

in der frei(md1) variablen sollte entweder eine 1 oder eine 0 stehen und zwar entweder wenn das mänchen schon wo steth eine 1 und wenn nicht eine 0. mein prob is aber das da überall immer eine 1 drinnen steht und die mänchen trotzdem jeden durchlauf neu gezeichnet werden. was sie aber eigentlich nur sollen wenn ne 0 in frei(md1) steht. (wenn jemand nen server hat dann könnte er die restlichen bild dateinen auch haben dann könntest dus dir mal anschauen wies bisher läuft.)

Ctuchik

BeitragDo, Feb 12, 2004 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, test einfach mal das hier und sag mir ob das deinen Wünschen entspricht! Wenn nicht hab ichs wieder net verstanden Smile!

Änderungen:
- Am Anfang kriegt jeder Mann ein zufälliges Aussehen und eine leere Position!
- Wenn ein Mann abgeschossen wird bleibt er zwischen 1 und 5 Sekunden verschwunden und erscheint dann wieder an einer leeren Position!
- Die Koordinaten für die Türme und alles sind jetzt im Array 'Positonen' gespeichert!
- Die Bilder der Männchen sind im Array 'Mannchen' gespeichert!
- jeder Mann hat einen Eintrag in den 4 Arrays 'frei' (is er gerade da oder nciht), 'nr' (das Aussehen des Manns), 'pos' (die position des Manns), 'rueckkehr' (die zeit zu der er wieder erscheint wenn er tot ist)

Wenn es dir so recht ist, dann schau dir am besten genau an was ich gemacht hab und versuch es zu verstehen! Wink

mfG Ctuchik

Code: [AUSKLAPPEN]

Graphics 1024, 768

; laden
rahmen = LoadImage("rahmen.bmp")
srahmen = LoadImage("srahmen.bmp")
mrahmen = LoadImage("mrahmen.bmp")
maus = LoadImage("pointer.bmp")
bild1 = LoadImage("hintergrund.bmp")
bild2 = LoadImage("stadt.bmp")
button = LoadImage("button.bmp")
schirft1 = LoadFont("Arial",50,1,0,0)
schrift2 = LoadFont("arial")
ScaleImage rahmen, 0.3, 0.3
ScaleImage sRahmen, 0.3, 0.3
ScaleImage mRahmen, 0.5, 0.18
ScaleImage bild1, 0.1, 0.1
ScaleImage bild2, 0.16, 0.16
ScaleImage button, 0.4,0.4
font1 = LoadFont("Arial",50,1,0,0)
font2 = LoadFont("Arial",16,0,0,0)
font3 = LoadFont("Arial",30,1,0,0)
font4 = LoadFont("Arial",270,0,0,0)
font6 = LoadFont("Arial",305,0,0,0)
font5 = LoadFont("Arial",32,1,0,1)
Menueauswahl = LoadImage ("menue.bmp")
Nachladen = LoadSound ("nachladen.wav")
keinemunition = LoadSound ("km.wav")
Schuss = LoadSound ("schuss.wav")
Hintergrund = LoadImage ("Hintergrund.bmp")
Zielklein = LoadImage ("Ziel1.bmp")
Zielgros = LoadImage ("Ziel2.bmp")
MunitionImage = LoadImage ("Munition.bmp")
Roterpunkt = LoadImage("Roterpunkt.bmp")
scopeklein = LoadImage("klein.bmp")
scopegros = LoadImage("groß.bmp")

Dim Mannchen(8)
Dim Positionen(13,2)
Mannchen(1) = LoadImage ("Männchen/M1.bmp")
Mannchen(2) = LoadImage ("Männchen/M2.bmp")
Mannchen(3) = LoadImage ("Männchen/M3.bmp")
Mannchen(4) = LoadImage ("Männchen/M4.bmp")
Mannchen(5) = LoadImage ("Männchen/M5.bmp")
Mannchen(6) = LoadImage ("Männchen/M6.bmp")
Mannchen(7) = LoadImage ("Männchen/M7.bmp")
ScaleImage Mannchen(1), 0.1, 0.1
ScaleImage Mannchen(2), 0.1, 0.1
ScaleImage Mannchen(3), 0.1, 0.1
ScaleImage Mannchen(4), 0.1, 0.1
ScaleImage Mannchen(5), 0.1, 0.1
ScaleImage Mannchen(6), 0.1, 0.1
ScaleImage Mannchen(7), 0.1, 0.1
MoveMouse 512, 380


Dim nr(20),pos(20),frei(20),rueckkehr(20)

.anfang
eingabe = 1
modus = 1
anfangszeit = MilliSecs()
endzeit = MilliSecs() + 300000
zeit = endzeit
zeitt = 30
blinken = 1

; Auswahl
SetBuffer BackBuffer()
Repeat
X = MouseX()
Y = MouseY()
If X > 512 And X < 1024 Then RahmenX = 610
If X < 512 And X > 0 Then RahmenX = 110
DrawImage bild1, 120, 200
DrawImage bild2, 620, 200
SetFont schirft1
Color 0, 0, 0
Rect 770, 200, 20, 130
Rect 115, 200, 160, 20
Rect 620, 200, 160, 20
Color 255, 255, 255
DrawImage srahmen, 110, 210
DrawImage srahmen, 610, 210
DrawImage button, 620, 640
DrawImage button, 100, 640
Text 150, 400, "Burg"
Text 650, 400, "Stadt"
Text 670, 650, "Ende"
Text 140, 650, "Menü"
FlushMouse
If ImagesCollide(bild1, 120, 200,0,maus,x,y,0) Then
DrawImage Rahmen, 110, 210
If MouseDown(1) Then Gosub burg
EndIf

If ImagesCollide(bild2, 620, 200,0,maus,x,y,0) Then
DrawImage Rahmen, 610, 210
If MouseDown(1) Then Text 500,450, "noch nicht verfügbar"
EndIf
DrawImage maus, X, Y
If ImagesCollide(maus, x, y,0,button,100,610,0) Then
If MouseDown(1) Then
Gosub menue
EndIf
EndIf

Flip
Cls
Until KeyDown(1) Or MouseDown(1) And ImagesCollide(maus, x, y,0,button,620,640,0)
End


; Hauptschleife
.burg
Cls
Flip
SeedRnd MilliSecs()
X = -80
Y = -40
zeit = 60
eingabe = 1
Munition = 5

For mann=1 To 13
  nr(mann) = 0
  pos(mann) = 0
  frei(mann) = 1
  rueckkehr(mann) = 0
Next

SetBuffer BackBuffer()
Positionen(1,0) = 300 : Positionen(1,1) = 403
Positionen(2,0) = 380 : Positionen(2,1) = 403
Positionen(3,0) = 600 : Positionen(3,1) = 552
Positionen(4,0) = 790 : Positionen(4,1) = 553
Positionen(5,0) = 920 : Positionen(5,1) = 587
Positionen(6,0) = 1200 : Positionen(6,1) = 475
Positionen(7,0) = 1240 : Positionen(7,1) = 599
Positionen(8,0) = 485 : Positionen(8,1) = 902
Positionen(9,0) = 585 : Positionen(9,1) = 902
Positionen(10,0) = 680 : Positionen(10,1) = 902
Positionen(11,0) = 820 : Positionen(11,1) = 802
Positionen(12,0) = 1020 : Positionen(12,1) = 807
Positionen(13,0) = 1185 : Positionen(13,1) = 880

Repeat

If KeyDown(62) Then Gosub menue

MX = MouseX() ;liest Mousekoordinaten ein
MY = MouseY()
DMX = MX-1024/2 ;berechnet die Veränderung der Mouse vom Mittelpunkt
DMY = MY-768/2
Xnow = Xnow+DMX ;Addiert die Veränderung zu den virtuellen Mousekoordinaten Xnow und YNow
Ynow = Ynow+DMY
If Xnow >1286 Then Xnow = 1286
If Xnow <251 Then Xnow = 251
If Ynow >940 Then Ynow = 940
If Ynow <310 Then Ynow = 310
xx = 1024-(Xnow)-1024/2 ;Rechnet die virt. Mousekoordinaten in die Position des Hinter-
yy = 768-(Ynow)-768/2 ;grund um.
MoveMouse 1024/2, 768/2 ;Setzt die Mouse auf die Mitte des Bildschirms zurück

If MouseHit(1) Then Gosub Schiesen
.fertig
DrawImage Hintergrund, XX,YY

;dim
For mann = 1 To 13
  If (frei(mann) = 1 And MilliSecs() > rueckkehr(mann)) Then

    platzgefunden = False
    pos(mann) = Rand(1,13)

    While platzgefunden = False
      pos(mann) = pos(mann) - 1
      If pos(mann) < 1 Then pos(mann) = 13
      platzgefunden = True
      For check = 1 To 13
        If (pos(check) = pos(mann)) And (mann <> check) Then platzgefunden = False
      Next
    Wend

    nr(mann) = Rand(1,7)
    DrawImage Mannchen(nr(mann)),xx+Positionen(pos(mann),0),yy+Positionen(pos(mann),1)
    frei(mann) = 0
 
  ElseIf frei(mann) = 0

    DrawImage Mannchen(nr(mann)),xx+Positionen(pos(mann),0),yy+Positionen(pos(mann),1)

  End If
Next

;kontrolle
For mann = 1 To 11
Text 0, 100, frei(mann)
Next

If eingabe = 1 Then DrawImage Zielklein, -240, -170
If eingabe = 2 Then DrawImage Zielgros, -240, -170
DrawImage Roterpunkt, 515, 394

SetFont font1
Color 255,0,0
Text 700, 710, "Munition:"
Color 255, 255,255
SetFont font3
Text 10, 10, "Ende mit ESC Menü F4"
SetFont font2
If KeyDown(62) Then Gosub menue

;nachladen
If MouseDown(2) Then modus = 4

If modus = 4 Then
anfangwarten = MilliSecs()
ende = MilliSecs() + 25
modus = 3
EndIf

If modus = 3 Then
endewarten = ende
warten = anfangwarten
modus = 2
EndIf

If modus = 2 Then
warten = warten + 1
EndIf

If munition >= 5 Then modus = 1
If warten => endewarten Then
If modus = 2 Then
Munition = Munition + 1
PlaySound Nachladen
warten = anfangwarten
EndIf
EndIf
If Munition >= 1 Then DrawImage MunitionImage, 920, 700
If Munition >= 2 Then DrawImage MunitionImage, 940, 700
If Munition >= 3 Then DrawImage MunitionImage, 960, 700
If Munition >= 4 Then DrawImage MunitionImage, 980, 700
If Munition >= 5 Then DrawImage MunitionImage, 1000, 700

;zeitanzeige
Color 255,0,0
SetFont font3
durchlauf = durchlauf + 1
If durchlauf = 100 Then
durchlauf = 0
zeitt = zeitt - 1
EndIf
If eingabe = 1 Then abstandt = 50 Else abstandt = 10
Text abstandt, 380, "Verbleibende Zeit: "
SetFont font1
zeit = zeit - 1
If zeit < -3000 Then Exit
SetFont font3

;zeit blinken
bldurch = bldurch + 1
If bldurch => 50 Then
bldurch = 0
If blinken = 1 Then blinken = 2 Else blinken = 1
EndIf
If zeitt < 6 Then
If blinken < 2 Then Text abstandt + 220, 380, zeitt
EndIf
If zeitt > 5 Then Text abstandt + 220, 380, zeitt
Color 255, 255, 255

Flip
Delay 1
If KeyHit(1) Then Exit
Forever
; endehauptschleife

SetFont font3
Text abstandt, 420, "keine"
Flip
WaitKey

Gosub anfang
End

.Schiesen
If Munition < 1 Then PlaySound keinemunition: Return
modus = 1
PlaySound Schuss
Munition = Munition - 1

For mann = 1 To 13
  If frei(mann) = 0
    If ImagesOverlap (Roterpunkt,1024/2,768/2,Mannchen(nr(mann)),xx+Positionen(pos(mann),0),yy+Positionen(pos(mann),1))
      frei(mann) = 1
      pos(mann) = 0
      nr(mann) = 0
      rueckkehr(mann) = MilliSecs() + Rand(1000,5000)
    End If
  End If
Next

Return
End

.menue
Repeat
X = MouseX()
Y = MouseY()
Cls
SetBuffer BackBuffer()
SetFont font4
DrawImage button, 390, 660
DrawImage scopeklein, 150, 340
DrawImage scopegros, 150, 390
Text 405, 40, " "
SetFont font1
Color 255,0,0
Text 440, 150, "Menü"
SetFont font5
Text 550, 300, "Steuerung"
Text 120, 300, "Scopeeinstellungen"
SetFont font3
Color 255, 255, 255
Text 550, 350, "Schießen mit linker Maustaste"
Text 550, 400, "Nachladen mit rechter Maustaste"
Color 0, 0,255
;Text 150, 350, "Kleines Scope"
;Text 150, 400, "Großes Scope"
Color 255, 255, 255
Text 450, 680, "Zurück"
If ImagesCollide(maus, x, y,0,scopeklein,150,340,0) Then DrawImage mrahmen, 90, 340: If MouseDown(1) Then eingabe = 1
If ImagesCollide(maus, x, y,0,scopegros,150,390,0) Then DrawImage mrahmen, 90, 387: If MouseDown(1) Then eingabe = 2
Color 255,255,255
If eingabe = 1 Then DrawImage Menueauswahl, 120, 350 ;klein
If eingabe = 1 Then DrawImage Menueauswahl, 325, 350 ;klein
If eingabe = 2 Then DrawImage Menueauswahl, 120, 395 ;groß
If eingabe = 2 Then DrawImage Menueauswahl, 325, 395 ;groß
DrawImage maus, X, Y
Flip
SetFont font3
Until KeyDown(1) Or MouseDown(1) And ImagesCollide(maus, x, y,0,button,390,660,0)
FlushKeys
FlushMouse
Return
End

dominik

BeitragFr, Feb 13, 2004 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
ja danke genauso wollt ich haben. Very Happy
 

HOT-BIT

Gast

BeitragFr, Feb 13, 2004 17:32
Antworten mit Zitat
Hi !

Freund dominik : Wo ich meinen Kommentar abgebe, das laß mal meine Sorge sein !
Und außerdem benötige ich von dir keinen Rat.

Danke, Toni

Ctuchik

BeitragFr, Feb 13, 2004 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
gut dass ich das problem lösen konnte Smile, dann versuch mal meinen Code zu verstehen, damit dus nächstes mal selber kannst!
Wenn du Fragen zu meinem Code hast dann poste sie hier rein!

mfG Ctuchik

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group