Mapdaten verändern

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Der Eisvogel

Betreff: Mapdaten verändern

BeitragMi, Dez 19, 2007 17:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
ich möchte meine Mapdaten verändern, Damit meine ich, wenn in den Mapdaten 1 steht wo der Spieler ist dann soll da 0 stehen.
Ich habe das folgendermasen versucht;
Code: [AUSKLAPPEN]
If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf

Blos jetzt habe ich das Problem, dass es nur 0 ist wenn der Spieler an dieser Posiotion ist, wenn nicht dann ist es wieder 1. Sad
Ich möchte aber, dass es 0 bleibt.
 

CaeSar

BeitragMi, Dez 19, 2007 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
versuch einfach mehr Variablen !

z.B.

If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
player=0
Endif

If player=0 then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf

so funzt es eigentlich

mfg Cae$ar

Der Eisvogel

BeitragMi, Dez 19, 2007 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Funzt auch net. Passiert des gleiche wie bei meiner Version.
 

TeDy14

Gast

BeitragMi, Dez 19, 2007 18:49
Antworten mit Zitat
Liegt daran das genau das selbe passiert... nur das es mehr bugs gibt da Player NIE auf 1 gesetzt wird ...




Vieleicht hast du ja irgentwo im Code stehen das er Map(playerx,playery) auf 1 setzt oder du lädst die Mäp in der Schleife immer wieder in den Array...
  • Zuletzt bearbeitet von TeDy14 am Mi, Dez 19, 2007 19:10, insgesamt einmal bearbeitet

Der Eisvogel

BeitragMi, Dez 19, 2007 19:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Versteh ich net.
 

TeDy14

Gast

BeitragMi, Dez 19, 2007 19:08
Antworten mit Zitat
Ich auch nicht
 

CaeSar

BeitragMi, Dez 19, 2007 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
oh ich habe mich voll verschrieben Embarassed !!
denn eine Variable ist ja immer 0

jetzt der richtige der eigentlich funzen müsste

If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
player=1
Endif

If player=1 then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf

teste einfach mal Very Happy
mfg Cae$ar
 

TeDy14

Gast

BeitragMi, Dez 19, 2007 19:16
Antworten mit Zitat
CaeSar hat Folgendes geschrieben:
oh ich habe mich voll verschrieben Embarassed !!
denn eine Variable ist ja immer 0

jetzt der richtige der eigentlich funzen müsste

...

teste einfach mal Very Happy
mfg Cae$ar


Der ansatz ist ja auch richtig...
Allerdings würde es nur ein mal klappen...

Du must player auch wieder auf 0 setzen wenn die Bedingung nicht erfüllt ist...
Code: [AUSKLAPPEN]
If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
player=1
else
player = 0
Endif

If player=1 then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf
 

CaeSar

BeitragMi, Dez 19, 2007 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Das heißt jetzt aber wieder das er nur auf dieser Postition, das ändern soll dann is aber wieder 0 wgen else, er müsste das dann anhand einer anderen taste machen.
 

TeDy14

Gast

BeitragMi, Dez 19, 2007 19:24
Antworten mit Zitat
sonst kann er gleich

Code: [AUSKLAPPEN]
map(Player_pos_x /32,(Player_pos_y+15) /32)=0

machen
da er den array immer auf 0 setzen würde...
 

CaeSar

BeitragMi, Dez 19, 2007 19:27
Antworten mit Zitat
Benutzer-Profile anzeigen
dann vielleicht so:

If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
player=1
Endif

If player=1 then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf

If map(Player_pos_x /32,(Player_pos_y+15) /32)=0 Then
player=0
Endif

ToeB

BeitragMi, Dez 19, 2007 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Komisch : bei mir bleibt das immer 0 :

Code: [AUSKLAPPEN]
Graphics 800,600,16,2
SetBuffer BackBuffer()

Dim map(49,49)

For xx = 0 To 49
For yy = 0 To 49
map(xx,yy) = 1
Next
Next

Global x,y

Repeat
If KeyDown(200) Then y = y - 2
If KeyDown(208) Then y = y + 2
If KeyDown(203) Then x = x - 2
If KeyDown(205) Then x = x + 2
If map(x/16,y/12) = 1 Then
map(x/16,y/12) = 0
EndIf

For xx = 0 To 49
For yy = 0 To 49
If map(xx,yy) = 1 Then Rect xx*16,yy*12,16,12
Next
Next

Oval x,y,16,12

Flip
Cls
Until KeyHit(1)
End


Ich weiß nicht wie du es machst aber so bleibt die Variable Map immer 0...

mfg Crack93
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

CaeSar

BeitragMi, Dez 19, 2007 20:45
Antworten mit Zitat
Benutzer-Profile anzeigen
ich weiß auch warum !:

If map(Player_pos_x /32,(Player_pos_y+15) /32)=1 Then
player=1
Endif

If player=1 then
map(Player_pos_x /32,(Player_pos_y+15) /32)=0
EndIf

If Keyhit(57) then
player=0
Endif

wenn man eine Taste dazu nimmt isses ganz einfach, so muss ich mir das nochma durch den kopf gehen lassen.

BladeRunner

Moderator

BeitragMi, Dez 19, 2007 22:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte Dir hiermti nahelegen, Marc-Peter, nicht wegen jeder Kleinigkeit sofort einen Thread zu eröffnen. Die Devise, solltest Du ernsthaft programmieren lernen wollen, lautet: selbst probieren. Tüfteln. Mit den Befehlen spielen bis man sie verstanden hat.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group