Hallo! und gleich ein Spiel dabei!

Spiele, Demos, Grafikzeug und anderes unterhaltendes.
Benutzeravatar
MikeR
Beiträge: 9
Registriert: 03.04.2007 13:36
Wohnort: Jena
Kontaktdaten:

Hallo! und gleich ein Spiel dabei!

Beitrag 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!
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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:
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
MikeR
Beiträge: 9
Registriert: 03.04.2007 13:36
Wohnort: Jena
Kontaktdaten:

Beitrag 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...
Benutzeravatar
MikeR
Beiträge: 9
Registriert: 03.04.2007 13:36
Wohnort: Jena
Kontaktdaten:

Beitrag 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?
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

http://www.purebasic.fr/german/viewtopi ... ght=macros

Im obigen Thread steht die Antwort...
I´a dllfreak2001
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag 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.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
MikeR
Beiträge: 9
Registriert: 03.04.2007 13:36
Wohnort: Jena
Kontaktdaten:

Beitrag von MikeR »

Danke.

Wenn man einer Variablen keinen Datentyp zuweist, wählt PB dann automatisch den passendsden?
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten