Name einsetzen(erledigt)
Übersicht

![]() |
Flori-DBetreff: Name einsetzen(erledigt) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.Warum functioniert das nicht?
Code: [AUSKLAPPEN] ;Name eingeben
Bis hierhin funktioniert das noch aber hier:
Print "Bitte geben sie den Namen von Spieler1 ein" Name$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name$ +" ." Print "Bitte geben sie den Namen von Spieler ein." Name2$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name2$ +" ." Delay 200 Code: [AUSKLAPPEN] ;Regeln
Hier zeigt er den NAmen nicht an.
If PunktX = 640 Then Text 250,250, " "+ Name2$ +" hat Veloren" <<Name wird nicht angezeigt Flip Delay 2000 Return 0 EndIf ;Regeln2 If PunktX = 0 Then Text 250,250, " "+ Name$+" hat Veloren" <<<Name wird nicht angezeigt Flip Delay 2000 Return 0 EndIf |
||
BB is Macht!
Homepage: www.flori-d.de |
- Zuletzt bearbeitet von Flori-D am Mi, Jan 21, 2004 15:49, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schlecht zu sagen. Hast Du das in einer Function? Dann Global machen oder übergeben. Und grundsätzlich nur einmal Flip verwenden, like so:
Code: [AUSKLAPPEN] Repeat
; lustiger Code Flip Until irgendwas |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich kombiniere mal, dass du Name$ und Name2$ nicht als Global definiert hast. Am Besten zeigst du bei sowas die gesamte Funktion.
Außerdem solltest du Rand-Koordinaten nicht mit "=" abfragen sondern mit ">=" und "<=", damit das Spiel auch auf unerwartete Situationen reagieren kann. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier mal das stückchen Code bis dahin:Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() AppTitle "Ultimate Tennis" ;Name eingeben Print "Bitte geben sie den Namen von Spieler1 ein" Name$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name$ +" ." Print "Bitte geben sie den Namen von Spieler ein." Name2$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name2$ +" ." Delay 200 Graphics 640,480,16,1 Global tiles = LoadImage ("GFX/blocks1.bmp") Global maus = LoadImage ("GFX/pointer.bmp") Global font = LoadFont("Times New Roman", 40, 1, 0, 0) Global Kiste = LoadImage("GFX/Kiste.bmp") Global Spieler1 = LoadImage("GFX/Kiste2.bmp") Global Punkt = LoadImage("GFX/Punkt.bmp") Global schlag = LoadSound("Sound/004.wav") Global background = LoadSound("Sound/Dreamland.mp3") Global hintergrund = LoadImage("GFX/Tennisfeld.bmp") Global PunktX Global PunktY Global PunktDirX Global PunktDirY SetFont font ; Graphik für Menüpunkt erzeugen stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100: MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Spezial" MenuZeile(3) = 300 : MenuName$(3) = "Ende" ; ; Hauptmenü-Schleife ; SetBuffer BackBuffer() Repeat TileBlock hintergrund Menu = 0 X = MouseX() Y = MouseY() For I=1 To 4 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Spezial() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End ; ; Funktionen für Menüpunkte ; Function Start() Repeat Cls SetBuffer BackBuffer() ;Konstanten: PlayerSpeed=5 ;Startdaten für den Ball PunktX=100 PunktY=100 PunktDirX=2 PunktDirY=-2 ;Kiste zeichnen; X = 360 Y = 350 X2 = 150 Y2 = 150 hinterx = Rand(0,640) hintery = Rand(0,480) Timer=CreateTimer(50) ;hintergrundsound PlaySound (background) Repeat WaitEvent(Timer) Cls DrawImage hintergrund, 0,0 DrawImage Kiste, X,Y DrawImage Spieler1, X2,Y2 ;Bewegung der Kiste; If KeyDown(200) = 1 Then Y = Y - PlayerSpeed If KeyDown(208) = 1 Then Y = Y + PlayerSpeed If KeyDown(205) = 1 Then X = X + PlayerSpeed If KeyDown(203) = 1 Then X = X - PlayerSpeed ;MC Ball bewegen: PunktX=PunktX+PunktDirX PunktY=PunktY+PunktDirY ;Randteste Ball If PunktY <= 30 Then PunktDirY=BallDirY*-2 If PunktY => 450 Then PunktDirY=BallDirY*-2 ;Regeln If PunktX = 640 Then Text 250,250, " "+ Name2$ +" hat Veloren" Flip Delay 2000 Return 0 EndIf ;Regeln2 If PunktX = 0 Then Text 250,250, " "+ Name$+" hat Veloren" Flip Delay 2000 Return 0 EndIf |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Tobchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn ich's richtig sehe, befindet sich die Anzeige, wer gewonnen hat, in einer Funktion (Du solltest mal einrücken.). Und die Variablen Name$ und name2$ müssen globalisiert werden. So, wie die anderen beiden es dir schon geschrieben haben. Setze einfach an den Anfang des Codes:
Code: [AUSKLAPPEN] Global Name$
Global Name2$ Und alles ist wieder gut. |
||
Tobchen - die Welt von Tobi!
|
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab das jetzt davof gesetzt.Jetzt kommt aber bei(<<<<)der fehler Array Indexout of bons.Das war vorher nicht.
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() AppTitle "Ultimate Tennis" Global Name$ Global Name2$ ;Name eingeben Print "Bitte geben sie den Namen von Spieler1 ein" Name$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name$ +" ." Print "Bitte geben sie den Namen von Spieler ein." Name2$ = Input$("Name: ") Print "Viel Spass beim Spiel "+ Name2$ +" ." Delay 200 Graphics 640,480,16,1 Global tiles = LoadImage ("GFX/blocks1.bmp") Global maus = LoadImage ("GFX/pointer.bmp") Global font = LoadFont("Times New Roman", 40, 1, 0, 0) Global Kiste = LoadImage("GFX/Kiste.bmp") Global Spieler1 = LoadImage("GFX/Kiste2.bmp") Global Punkt = LoadImage("GFX/Punkt.bmp") Global schlag = LoadSound("Sound/004.wav") Global background = LoadSound("Sound/Dreamland.mp3") Global hintergrund = LoadImage("GFX/Tennisfeld.bmp") Global PunktX Global PunktY Global PunktDirX Global PunktDirY SetFont font ; Graphik für Menüpunkt erzeugen stein = CreateImage(32,32) SetBuffer ImageBuffer(stein) DrawImageRect tiles, 0, 0, 444, 308, 32, 32 ScaleImage stein, 8, 2 ; Graphik für aktiven Spielstein erzeugen aktivstein = CreateImage(32,32) SetBuffer ImageBuffer(aktivstein) DrawImageRect tiles, 0, 0, 2, 342, 32, 32 ScaleImage aktivstein, 8, 2 ; Menü definieren Dim MenuZeile(3) : Dim MenuName$(3) MenuZeile(1) = 100: MenuName$(1) = "Start" MenuZeile(2) = 200 : MenuName$(2) = "Spezial" MenuZeile(3) = 300 : MenuName$(3) = "Ende" ; ; Hauptmenü-Schleife ; SetBuffer BackBuffer() Repeat TileBlock hintergrund Menu = 0 X = MouseX() Y = MouseY() For I=1 To 4 If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12,<<<<< MenuName$(I) Next DrawImage maus, X,Y Flip If MouseHit(1) Then If Menu = 1 Then Start() If Menu = 2 Then Spezial() If Menu = 3 Then Ende() EndIf Until KeyHit(1) End ; ; Funktionen für Menüpunkte ; Function Start() Repeat Cls SetBuffer BackBuffer() ;Konstanten: PlayerSpeed=5 ;Startdaten für den Ball PunktX=100 PunktY=100 PunktDirX=2 PunktDirY=-2 ;Kiste zeichnen; X = 360 Y = 350 X2 = 150 Y2 = 150 hinterx = Rand(0,640) hintery = Rand(0,480) Timer=CreateTimer(50) ;hintergrundsound PlaySound (background) Repeat WaitEvent(Timer) Cls DrawImage hintergrund, 0,0 DrawImage Kiste, X,Y DrawImage Spieler1, X2,Y2 ;Bewegung der Kiste; If KeyDown(200) = 1 Then Y = Y - PlayerSpeed If KeyDown(208) = 1 Then Y = Y + PlayerSpeed If KeyDown(205) = 1 Then X = X + PlayerSpeed If KeyDown(203) = 1 Then X = X - PlayerSpeed ;MC Ball bewegen: PunktX=PunktX+PunktDirX PunktY=PunktY+PunktDirY ;Randteste Ball If PunktY <= 30 Then PunktDirY=BallDirY*-2 If PunktY => 450 Then PunktDirY=BallDirY*-2 ;Regeln If PunktX = 640 Then Text 250,250, " "+ Name2$ +" hat Veloren" Flip Delay 2000 Return 0 EndIf ;Regeln2 If PunktX = 0 Then Text 250,250, " "+ Name$+" hat Veloren" Flip Delay 2000 Return 0 EndIf |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Fehler liegt an dieser schleife
Code: [AUSKLAPPEN] For I=1 To 4 ; dimfeld ist nur Dim MenuName$(3);<<<<<<<<<<<
If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then DrawImage aktivstein, 192, I * 100 Menu = I Else DrawImage stein, 192, I * 100 EndIf Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12,<<<<< MenuName$(I) Next entweder die schleife von 0 to 3 oder Dim MenuName$(4), wobei die namen dann auch anders zugewiesen werden müssen |
||
[BB2D | BB3D | BB+]
|
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh,ich trottel. ![]() ![]() |
||
BB is Macht!
Homepage: www.flori-d.de |
![]() |
Flori-D |
![]() Antworten mit Zitat ![]() |
---|---|---|
So es geht jetzt.THX, | ||
BB is Macht!
Homepage: www.flori-d.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group