erstes Spiel

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

mknjc: Janno soll ja auch noch was lernen, sonst ist das Forum hier ja witzlos. Wir sind keine Codebibliothek deren Regale aus lauter bildschirmsüchtigen Freak bestehen, sondern eine Community, deren Mitglieder versuchen, sich gegenseitig neues Wissen zu vermitteln (und ihren eigenen Horizont zu erweitern). Wie immer im Leben gilt: Ausnahmen bestätigen die Regel. <)
Janno
Beiträge: 99
Registriert: 27.10.2006 21:38
Wohnort: Niedersachsen

Beitrag von Janno »

Leider kann ich weder die verbesserte Version hochladen, noch die Screenshots. Ich gebe mir mühe, aber es wird noch ein wenig dauern.

Dann nach danke an alle Verbesserungsvorschläge, auch wenn einige ja so ihre Probleme mit meinem Spiel haben...

@mknjc:
Die Munition ist, wie die Gegner nur ein Beispiel. Da ich ersteinmal ausprobieren wollte wie das alles funktioniert, habe ich nur Beispielzeichnungen angefertigt, und dann vergessen, neue zu machen :oops:

Und was die 22 Ifs angeht ( :lol: )... Ich habe noch keine Ahnung wie das mit den Linkedlist, Arrays und alles funktioniert... bin halt ein blutiger Anfänger :wink:
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Was die 22 Ifs angeht: Hier mal ein kleines Beispiel, wo ich eine LinkedList mit 22 Elementen (pro Gegner 1 Element) erstelle, und die dann "verarbeite" in etwa entsprechend deinem "22-If-Code-Block" in den Zeilen 350-371 (in dem von mir vorhin verbesserten Code).

//EDIT:
Wieder den Code vergessen... Bin wohl ziemlich übermüdet... :|

Code: Alles auswählen

; ***
; ***POINT ist ein strukturierter Datentyp, der in der WindowsAPI definiert ist, hier ein Ersatz für die Demoversion von PureBasic:
; ***
; 
; Structure POINT
;   x.l
;   y.l
; EndStructure

NewList Gegner.Point()

;Wir erstellen 22 Elemtente in der Liste, für jeden Gegner ein Element. Man kann in einer LinkedLists aber beliebig viele
;Elemente erstellen (sollte diese aber auch wieder löschen, wenn sie nicht mehr gebraucht werden, um nicht den ganzen
;Arbeitsspeicher vollzuschreiben)
For k = 1 To 22
  AddElement() ;Wir erstellen das neue element, das aktuelle Element der LinkedList ist automatisch das standardmäßig das
  Gegner()\x = Random(600) ;letzte, das wir erstellt oder ausgewählt haben. Zu Demonstration weisen wir den Elemententen
Next k                     ;ganz einfach mal Zufallswerte zu


ForEach Gegner()
  If Gegner()\x < 0-SpriteWidth(4)
    Gegnerx = 950     ; Das hier ist mehr oder weniger aus dem "alten" Code übernommen
    Player(0)\Leben-1
    PlaySound(2)
  Else
    Gegner()\x = Gegner()\x + 5 ; Wir bewegen den grade "bearbeiteten" bzw. "ausgewählten" Gegner von links nach rechts
  EndIf
Next
Benutzeravatar
zoidberg
Beiträge: 219
Registriert: 06.12.2004 23:15
Computerausstattung: Acer 6530
Mit Ubuntu 9.04 64 Bit als Hauptsystem und
Windows Vista 32Bit Home Premium zum spielen.
Wohnort: GM
Kontaktdaten:

Beitrag von zoidberg »

Schau Dir das Ballerspiel Tutorial an was oben schon erwähnt wurde. Das eignet sich wirklich prima um LinkedLists zu erlernen.
Das mit den Beispielgrafiken finde ich übrigens gut von Dir. Ich hab früher immer erst die Grafiken und das Intro gemacht, aber da ist nie ein Spiel fertig geworden. Mittlerweile nehme ich auch Platzhalter und kümmer mich erst um das Programm an sich. Hut ab, da wählst Du den richtigen Weg.

Gruß, Steffen
Bild
Antworten