Player vs. player

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Johann der 2.

Betreff: Player vs. player

BeitragDi, Nov 11, 2008 19:09
Antworten mit Zitat
Benutzer-Profile anzeigen
wie kann ich etwas programmieren wo man auf einer tastatur spieler gegen spieler spielt? Ich hab das mit dem bewegen hingekriegt nur wie mach ich mir für den einen mann einen gegner?

Der Eisvogel

BeitragDi, Nov 11, 2008 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Einfach ein andere Figur mit anderen Tasten bewegen.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

The_Nici

BeitragDi, Nov 11, 2008 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Achja, die meisten Tastaturen erkennen nur maximal 3 gleichzeitig gedrückte Tasten.

MfG
 

Johann der 2.

BeitragDi, Nov 11, 2008 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja ich mach das so :Code: [AUSKLAPPEN]
Graphics 640, 480
SetBuffer BackBuffer ()
hallo = LoadImage ("strichmanns.bmp")
Cls
While Not KeyHit (1)
Cls

If KeyDown (80) Then  y=y+2
If KeyDown (77) Then  x=x+2
If KeyDown (75) Then  x=x-2
If KeyDown (72) Then  y=y-2
DrawImage hallo, x,y


Flip
Wend

nur da ich das mit x=x+2 ist mach kann ich das nur einmal machen wie kann ich es jetzt beim 2. also den anderen tasten machen?

The_Nici

BeitragDi, Nov 11, 2008 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine zweite Variable zum Beispiel.

ozzi789

BeitragDi, Nov 11, 2008 20:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Graphics 640, 480
SetBuffer BackBuffer ()
hallo = LoadImage ("strichmanns.bmp")
hallo2=hallo


While Not KeyHit (1)
Cls

If KeyDown (was auch immer, W) Then  y2=y2+2
If KeyDown (S) Then  x2=x2+2
If KeyDown (A) Then  x2=x2-2
If KeyDown (D) Then  y2=y2-2

If KeyDown (80) Then  y=y+2
If KeyDown (77) Then  x=x+2
If KeyDown (75) Then  x=x-2
If KeyDown (72) Then  y=y-2
DrawImage hallo, x,y
DrawImage hallo, x2,y2


Flip
Wend


mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

juse4pro

BeitragDi, Nov 11, 2008 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
zur besseren verstänlichkeit, würde ich diesen code nehmen:

Code: [AUSKLAPPEN]


Graphics 640, 480
SetBuffer BackBuffer ()
hallo = LoadImage ("mann2.bmp")
hallo2=LoadImage ("mann1.bmp")


While Not KeyHit (1)
Cls

If KeyDown (was auch immer, W) Then  y2=y2+2
If KeyDown (S) Then  x2=x2+2
If KeyDown (A) Then  x2=x2-2
If KeyDown (D) Then  y2=y2-2

If KeyDown (80) Then  y=y+2
If KeyDown (77) Then  x=x+2
If KeyDown (75) Then  x=x-2
If KeyDown (72) Then  y=y-2
DrawImage hallo, x,y
DrawImage hallo2, x2,y2


Flip
Wend
Portfolio |LinkedIn |XING

The_Nici

BeitragDi, Nov 11, 2008 21:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Warum bitte 2 Bilder?
Ein Bild kann man auch mehrmals zeichnen.
 

Johann der 2.

BeitragDi, Nov 11, 2008 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja ich wußte nich ob ich es so machen kann aber danke.
Edit 1:
Und wie mach ich es das der zweite strichmann auf der anderen Seite steht? Einfach zahlen stat x2 und y2 nehmen?
 

da_poller

BeitragMi, Nov 12, 2008 8:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Johann wenn du kein bild 2 mal anzeigen kannst würde ich noch ein paar tutorials empfehlen.

ich habe die vermutung das du bisher noch nciht 100% verstanden hast wie programmieren überhaupt funktioniert..

ein bild 2 mal an variablen punkten anzeigen sollte man mittels robs bb kurs innerhalb der ersten 5(glaub ausm kopf geschätzt) teile können.

also evtl nochmal lesen und versuchen ALLES dahinter nicht nur zu lesen sondern zu beherrrschen.

ozzi789

BeitragMi, Nov 12, 2008 8:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Einer Variable kann man Werte zu weisen, und welche Variable sagt wo unsere strichmännlein steht ?
x, y, x2, y2 !

Du must wissen wen du einfach ne Variable erstellst (und nicht angibst) ist sie immer = 0 !
Also müssen wir den Variabeln einen Wert zu weisen, das geht so
Code: [AUSKLAPPEN]
x = 20
y = 20
x2 = 100
y2 = 100


So startet Strichman1 auf 20,20 und Strichman2 au 100,100, und du kannst sie immer noch bewegen...


Setzt das gleich nach Graphics ! (packs mal in die Schleife und find heraus wieso's ned geht Wink)

Ach ja :
Das Tutorial, Robs BB Kurs Wink
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Jo0oker

BeitragMi, Nov 12, 2008 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Stell dir einfach vor, das eine Variable immer ein Zahl darstellt, du kannst beliebig viele machen.

Und wenn nun eine Person schon die Variablen X und Y besetzt, dann musst du für die 2. Person ja andere nehmen, wie zum besipiel:
X2 und Y2. und mit einem = Zeichen weisst du Werte zu, denk dir einfach:
Code: [AUSKLAPPEN]

(X = 50)
50 = 50 - 2
(X = X- 2)


Kapiert?

lg Jo0oker[/code]
Tehadon, das kostenlose 3D RPG
www.tehadon.de
http://www.blitzforum.de/worklogs/14/
Das Abenteuer wird beginnen!
 

Johann der 2.

BeitragMi, Nov 12, 2008 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh danke das jabcich jetzt auch verstanden
Edit:
Oh jetzt springt er aber immer wieder an seinen ersten punkt zurück. Hier der code: Code: [AUSKLAPPEN]
Graphics 640, 480,32,2
SetBuffer BackBuffer ()
hallo = LoadImage ("strichmanns.bmp")
Cls
While Not KeyHit (1)
Cls 
x2=200
y2=200
If KeyDown (80) Then  y2=y2+2
If KeyDown (77) Then  x2=x2+2
If KeyDown (75) Then  x2=x2-2
If KeyDown (72) Then  y2=y2-2
If KeyDown (208) Then y=y+5
If KeyDown (205) Then x=x+5
If KeyDown (203) Then x=x-5
If KeyDown (200) Then y=y-5 
Cls
DrawImage hallo, x,y
DrawImage hallo, x2,y2


Flip
Wend

Was mah ich falsch?

Edit 2:
Und wie kann ich blider selber löschen mit cls wird ja der bildschirm geräumt nur wie kann ich ein einziges bild löschen?
 

da_poller

BeitragMi, Nov 12, 2008 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
zu 1:

du setzt in der schleife die position immerwieder afu 200,200 da kann es sich ja nicht bewegen

zu 2:

einfach abfragen ob es gezeichnet werden soll wenn das bild aus dem ram raus soll geht das mittels freeimage
 

Johann der 2.

BeitragDo, Nov 13, 2008 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Zu deinem beitrag weiter oben da_poller ich weiß wie man ein zweites bild anzeigt aber nicht wie man es über eine variable anzeigt aber egal.

Und ja du hast recht stimmt ja und ich probier das mit freeimage mal aus.
Edit1:
Oh das meinte ich aber nicht ich wollte es vom bildschirm löschen nicht aus dem speicher aber ich guck mir das morgen mal genauer an.
 

da_poller

BeitragDo, Nov 13, 2008 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
vom bildschirm löschen tust du am anfang jedes frames ja eh alles.. mit [[cls] also einfach ne abfrage ob das bild angezeigt werden soll(if,then,endif) und schon kannst du steuern ob ein bild angezeigt werden soll..

hier ein kleines beispiel(die rect können auch bilder sien..

Code: [AUSKLAPPEN]

Graphics 800,600,0,2
setbuffer backbuffer()

while not keyhit(1)
cls
color 123,123,223
rect 100,100,100,100,1

if keydown(57) ;enter hoffe scancode stimmt ggf ersetzen
rect 300,100,100,100,1
endif

flip
wend


is nur runtergetippt sollte funzen.

so in etwa meinte ich die abfrage..

den cls löscht eh den ganzen bildinhalt.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group