Player vs. player
Übersicht

Johann der 2.Betreff: Player vs. player |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achja, die meisten Tastaturen erkennen nur maximal 3 gleichzeitig gedrückte Tasten.
MfG |
||
Johann der 2. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eine zweite Variable zum Beispiel. | ||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Warum bitte 2 Bilder?
Ein Bild kann man auch mehrmals zeichnen. |
||
Johann der 2. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() Ach ja : Das Tutorial, Robs BB Kurs ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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![]() ![]() ![]() 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. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group