Seite 1 von 3

Hallo! und gleich ein Spiel dabei!

Verfasst: 03.04.2007 13:38
von MikeR
Hallo alle zusammen!

Mein Name ist Mike, ich bin 20 Jahre alt und habe mir am Samstag im MediaMarkt für 80 € (ziemlich teuer) PureBasic gekauft.
Da ich schon ziemlich lange mit C++Prorammiere aber mir bisher die Spieleprogrammierung aufgrund elend langer und relativer Umständlicher DirectX Implentierungen verborgen blieb, hab ich mich für PureBasic entschieden, da man hier doch sehr sehr leicht kleine Erfolge feiern kann!

Heute habe ich mich zum ersten mal so richtig mit PB auseinandergesetzt
Und dabei ist dieses kleine Spiel rausgekommen.
Ziel ist es ,mit den 50 Schuss die man hat, soviele gegner wie möglich zu erwischen.

Ich weiß, dass es grafisch unansehnlich ist, aber es ist ein Anfang, wie ich finde.

http://jov-files.de/LittleGame.zip

Der Quelltext ist mit dabei

Btw: ich benutz Version 4

Ich hoffe, noch lange hier zu verweilen!

Verfasst: 03.04.2007 13:47
von ts-soft
>> Mein Name ist Mike, ich bin 20 Jahre alt und habe mir am Samstag im MediaMarkt für 80 € (ziemlich teuer) PureBasic gekauft
Ich kenne keine andere kommerzielle Programmiersprache für 4
Betriebssystem includsive lebenslangen Update für den Preis (Deine Version
ist wohl nur 1 Jahr Updatefahig, ich benutze die Online-Version)

Dein Spiel ist für so kurze Einarbeitung ganz Nett, aber Du solltest Dir
vielleicht gleich angewöhnen, alle Variablen zu deklarieren, das erspart viel
Fehlersuche bei grösseren Projekten (EnableExplicit)

Ansonsten Bild

Verfasst: 03.04.2007 13:51
von AND51
Hallo Mike!

Sehr nette Vorstellung hier, gefällt mir!
Dein SPiel ist auf Anhieb für einen Einsteiger (nett gemeint!) recht gut gelungen. Du hast dich vermutlich an einem PB-Tutorial orientiert, nicht wahr? Wenn ich so Addmonster() etc. sehe.
Natürlich musst du dich noch weiter rein-arbeiten. Aber für Addmonster, etc. empfehle ich dir schon mal Macros.

Auch die Spielidee, mal Schüsse, statt Zeit vorzugeben finde ich interessant.

Von mir auch ein W I L L K O M M E N . :allright:

Verfasst: 03.04.2007 13:51
von MikeR
Danke für die rasche antwort.
Auf meiner Packung steht, dass ich 10 Jahre Updates bekomme...

Aber du hast recht, eigtl. ist der Preis doch recht günstig ,wenn man die Features bedenkt.

Wie meinst du das, dass ich die Variablen deklarieren soll?
Meinst du Konstanten erstellen (z.B. für den Shoot Delay)?

Bin grad verwirrt...

Verfasst: 03.04.2007 13:55
von MikeR
AND51 hat geschrieben:Hallo Mike!

Aber für Addmonster, etc. empfehle ich dir schon mal Macros.
Macros sind in PureBasic quasi Inline Funktionen?
Aber sind dann Prozeduren nicht schneller?

Verfasst: 03.04.2007 14:08
von dllfreak2001
http://www.purebasic.fr/german/viewtopi ... ght=macros

Im obigen Thread steht die Antwort...

Verfasst: 03.04.2007 14:19
von ts-soft
MikeR hat geschrieben: Wie meinst du das, dass ich die Variablen deklarieren soll?
Meinst du Konstanten erstellen (z.B. für den Shoot Delay)?

Code: Alles auswählen

EnableExplicit ; entspricht OptionExplicit in VB z.B., das heisst alle Variablen sind zu deklarieren vor ihrem Gebrauch!

Global meineglobalevariable.l, meinglobalerstring.s

Define meinelokalevariable.l; diese Form ist vor allem für lokale Variablen ausserhalb von Prozeduren geeignet

Procedure Foo()
  Protected meinelokale_geschuetztevariable.l
EndProcedure
Den Rest einfach in der Hilfe nachlesen!

Verfasst: 03.04.2007 14:23
von AND51
macros werdem beim Kompilieren durch ihren Inhalt ersetzt, sind dadurch also schneller als Prozeduren, weil Prozeduren zur Laufzeit erst noch aufgerufen werden müssen.

Einfaches Beispiel:

Code: Alles auswählen

Macro ErrorBox(text)
     MessageRequester("Fehler", text, #MB_ICONERROR)
EndMacro


Debug "jetzt kommt eine Error-Meldung"
ErrorBox("Dieser Fehler ist nur ein Test")
Debug "da war er"
Wenn ich jetzt so tu, als wär ich der Compiler, dann wüde ich den Inhalt ersetzen. Der fertige Code, der durch den Compiler gejagt wird, sähre dann so aus:

Code: Alles auswählen

Debug "jetzt kommt eine Error-Meldung"
MessageRequester("Fehler", "Dieser Fehler ist nur ein Test", #MB_ICONERROR)
Debug "da war er"
Das ist das, was der Compiler sehen würde. Macros sind dazu da, um einem Programmierer Schreibarbeit abzunehmen.

Noch ein Beispiel: Sagen wir, ich wär zu faul, immer DEBUG zu schreiben und möchte immer nur d schreiben, dann mache ich das hier:

Code: Alles auswählen

Macro d
Debug 
EndMacro

d "kurzer Debug"
d "Hallo Mike"
Aber das wirst du alles noch kennen lernen.

Verfasst: 03.04.2007 14:23
von MikeR
Danke.

Wenn man einer Variablen keinen Datentyp zuweist, wählt PB dann automatisch den passendsden?

Verfasst: 03.04.2007 14:34
von Kaeru Gaman
ho Mike, willkommen.

nein, dann wird der Standardtyp genommen, normalerweise Long, außer du änderst das.

zum prog:
- beim hinzufügen von feinden würde ich keine position wählen, die zu sehr in der bildmitte liegt.
- gosub ist "alter stil", wird heutzutage praktisch nicht mehr gemacht, lieber proceduren verwenden.