Suche Hilfestellung zur 2D-Grafikprogrammierung eines Spiels

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Ghosty
Beiträge: 17
Registriert: 10.04.2005 00:27

Suche Hilfestellung zur 2D-Grafikprogrammierung eines Spiels

Beitrag von Ghosty »

Hallo Leute...

Ich habe da eine Idee für ein Spiel und weiß auch schon, wie ich es anpacken
will. Einige kleinere Versuche stehen schon, aber irgendwie komme ich nicht weiter, was die Programmierung der Hintergrundgrafik, Scoreanzeige usw.
angeht. Also suche ich jemanden, der Interesse hätte dieses Spiel mit mir zusammen in PB umzusetzen.
Die Grafiken, das Konzept und das Gameplay stehen schon.

Wer Erfahrung und Interesse hat meldet sich bitte bei ghosty@sfoerster.com, dann kann ich euch mal zuschicken, was ich schon habe !

thx...
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Hi hier habe zwar noch kein spiel geschrieben
aber kenne mich ganz gut in pb aus,ich habe bereits ein programm geschrieben,zwei weitere sind in arbeit!
Was bereitet dir Probleme?
Was möchtest du für ein spiel entwickeln?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Ghosty
Beiträge: 17
Registriert: 10.04.2005 00:27

Beitrag von Ghosty »

Was mir Kopfzerbrechen bereitet, ist
Ich habe einen Spielfeldhintergrund, welcher statisch ist.
Auf diesem Hintergrund wird das Spielfeld aus zweifarbigen Steinen aufgebaut. (Spielfeldgröße = 20x20 Steine)

Frage1: Muß man den Hintergrund des Spielfeldes wirklich jedesmal neu zeichen, wenn man einen neues feld setzt ?!
Im moment setze ich einen stein, flippe und grabbe das bild... das muß doch auch einfacher gehen !

Greetz... Ghosty
Benutzeravatar
Green Snake
Beiträge: 1394
Registriert: 22.02.2005 19:08

Beitrag von Green Snake »

du kannst auch alles in einem durchlauf machen :wink:
also

Code: Alles auswählen

DisplayDeineMap() ;Hintergrund
DisplayALLEDeineSteine() ;Felder
FlipBuffers()
-.-"
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Code: Alles auswählen

Structure SpielSprites
  Anzahl.l
  weit.l
  breit.l
  name.s
EndStructure
Dim spiel.SpielSprites(1)
spiel(0)\Anzahl=20
spiel(0)\weit=20
spiel(0)\breit=20
spiel(0)\name="rot.jpg"
spiel(1)\Anzahl=20
spiel(1)\weit=20
spiel(1)\breit=20
spiel(1)\name="blau.jpg"
InitSprite()
InitKeyboard()


Ergebnis = OpenScreen(1024,768, 32,"")
For a=0 To spiel(0)\Anzahl
  CreateSprite(100+a,20,20)
  StartDrawing(SpriteOutput(100+a))
  Box(0,0,20,20,RGB(232,0,0))
  Debug a
  StopDrawing()
Next a
For a=20 To 20+spiel(1)\Anzahl-1

  CreateSprite(100+a,20,20)
  StartDrawing(SpriteOutput(100+a))
  Box(0,0,20,20,RGB(43,57,248))
  Debug a
  StopDrawing()
Next a
x=0
y=100
Repeat
  FlipBuffers()
  ClearScreen(100,100,100)
  
  For s=0 To 39
  ExamineKeyboard()
    y=y+21
    DisplaySprite(100+s,y,100)
    DisplaySprite(100+s,y,121)
    DisplaySprite(100+s,y,142)
    DisplaySprite(100+s,y,163)
    DisplaySprite(100+s,y,184)
  Next s
  y=100
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)   
End
sowas vileicht?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Hat es dir weitergeholfen??
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

Code: Alles auswählen

Structure SpielSprites
  Anzahl.l
  weit.l
  breit.l
  name.s
EndStructure
Dim spiel.SpielSprites(2)
spiel(0)\Anzahl=20
spiel(0)\weit=20
spiel(0)\breit=20

spiel(1)\Anzahl=20
spiel(1)\weit=20
spiel(1)\breit=20

spiel(2)\Anzahl=1
spiel(2)\weit=20
spiel(2)\breit=80
InitSprite()
InitKeyboard()


Ergebnis = OpenScreen(1024,768, 32,"")
For a=0 To spiel(0)\Anzahl
  CreateSprite(100+a,spiel(0)\breit,spiel(0)\weit)
  StartDrawing(SpriteOutput(100+a))
  Box(0,0,20,20,RGB(232,0,0))
  Debug a
  StopDrawing()
Next a
For a=20 To 20+spiel(1)\Anzahl-1
  CreateSprite(100+a,spiel(1)\breit,spiel(1)\weit)
  StartDrawing(SpriteOutput(100+a))
  Box(0,0,20,20,RGB(43,57,248))
  Debug a
  StopDrawing()
Next a
CreateSprite(150,spiel(2)\breit,spiel(2)\weit)
StartDrawing(SpriteOutput(150))
Box(0,0,spiel(2)\breit,spiel(2)\weit,RGB(43,157,248))
DrawingMode(4)
Box(0,0,spiel(2)\breit,spiel(2)\weit,RGB(0,0,0))
StopDrawing()
x=0
y=80
pos=(1024/2)-((spiel(2)\breit)/2)
Repeat
  FlipBuffers()
  ClearScreen(100,100,100)
  
  For s=0 To 39
  ExamineKeyboard()
    y=y+21
    DisplaySprite(100+s,y,100)
    DisplaySprite(100+s,y,121)
    DisplaySprite(100+s,y,142)
    DisplaySprite(100+s,y,163)
    DisplaySprite(100+s,y,184)
  Next s
  If KeyboardPushed(#PB_Key_Left)
    If pos>0
    pos=pos-3
  Else
  EndIf 
ElseIf KeyboardPushed(#PB_Key_Right)
  If pos<1024-spiel(2)\breit
    pos=pos+3
  Else
  EndIf 
  EndIf 
  DisplaySprite(150,pos,700)
  y=80
  ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape)   
End 
Nochmal ein bischen verbessert und erweitert!
Purebasic 5.0 32bit und 64 bit

I'm back from hell
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

Es gibt auch einen "Edit"-Knopf ;) .
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

ach ne,brauchst es ja nicht zu lesen!
edit: aber schwamm drüber ich weiß was du meinst,Ich werde es beherzigen!
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Antworten