Hilfe beim Spiel

Anfängerfragen zum Programmieren mit PureBasic.
TeamBaba
Beiträge: 19
Registriert: 26.03.2009 09:46

Hilfe beim Spiel

Beitrag von TeamBaba »

Ich bzw. Wir müssen in einer Gruppe ein einfaches Spiel mit PureBasic programmieren.

Wir wollen so einen Jump&Run dingens mache.
Wir haben schon boxen definiert und auch leitern.
Außerdem drei Boxen die als Ebenen dienen. Durch diese soll man nur über die Leiter Gelangen, aber dafür müssen wir machen das er die Boxen nicht durchqueren kannn, aber das bekommen wir leider nicht hin.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Bild
Glaskugel defekt...

Da wäre jetzt etwas Code erforderlich. Und was meinst du mit "Boxen" ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Wieso Glaskugel?
Ich denke, er meint ein typisches Platform-Spiel, z.B. sowas hier http://www.lemon64.com/games/details.php?ID=3979
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

grundsätzlich könnte ihr sowas über koordinatenchecks lösen...

wenn die Unterkante von dem Player freisteht, also sich an der Koordinate kein Objekt der Umgebung befindet,
dann beginnt er zu fallen, also man bewegt ihn nach unten, indem man auf die y-koordinate was draufrechnet.
wenn die unterkante überdeckt wird, bewegt man ihn nach oben.
damit kann er dann schrägen hinauflaufen.

für blockierende elemente checkt ihr links und rechts, und in eurem fall oben,
ob sich da eine blockade befindet, dann kann er sich in der richtung nicht weiterbewegen.

und wenn genug vom player an einer leiter ist, also wahrscheinlich auch am besten die füße testen,
dann kann man ihn auch mit dem pfeil hochbewegen und nicht nur jumpen.

und die leiter muss eben mit priorität vor dem block behandelt werden,
also wenn er auf ner leiter ist, wird der block garnicht mehr gecheckt.

das sollte erstmal als Laola-Lattenzaun reichen....
8)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Eine gute Idee wäre es auch, erstmal alles aus einzelnen Blöcken aufzubauen und die Figur immer exakt 1 Block laufen zu lassen (z.B. so wie bei Chips Challenge). Das ist dann zwar ein wenig ruckelig, aber es eignet sich ganz gut, um erstmal grundsätzlich was übers Spieleprogrammieren zu lernen. Später kann man das dann entsprechend ausbauen, da geht vieles dann wie von allein (mit ein bißchen Nachdenken natürlich).

Wie viel Zeit habt ihr denn? Dein Posting klang so, als würdet ihr das irgendwie als Projektarbeit machen.
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
TeamBaba
Beiträge: 19
Registriert: 26.03.2009 09:46

Beitrag von TeamBaba »

Danke Leute.

Ja es ist eine Projektarbeit und wir haben noch eine Woche :(
Ich bin eigentlich der Grafikdesigner also mit Photoshop, das hat aber auch schon nicht geklappt , das in PUreBasic einzufügen.


Werde jetzt mal eure Tipss wahrnehmen :wink:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

> Ich bin eigentlich der Grafikdesigner also mit Photoshop, das hat aber auch schon nicht geklappt , das in PUreBasic einzufügen.

sollte kein problem sein.
du musst nur in PS das Bild in einem Grafikformat speichern, das von PB unterstützt wird.
am besten PNG oder BMP.
für PNG den UsePNGImageDecoder() benutzen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
TeamBaba
Beiträge: 19
Registriert: 26.03.2009 09:46

Beitrag von TeamBaba »

Jetzt mal Konkret ....

Code: Alles auswählen

Global RandRechts=Box (0,0,10,480,$009900)
Ich möchte wissen wie man das macht das die Spielfigur in unserem Falle auch erstmal eine Box an einer Anderen Box, wie z.B. am Rand Rechts Aprallt also der RandRechts undurchlässig ist ? .. :(

Ich meine insgesamt wie macht man Boxen oder Circles undurchlässig
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

TeamBaba hat geschrieben:Jetzt mal Konkret ....

Code: Alles auswählen

Global RandRechts=Box (0,0,10,480,$009900)
also, das ist konkret mal kein korrekter Code.

wazu packst du den Rückgabewert in eine Variable, wozu machst du die Global, und vor allem wieso an dieser Stelle?
der Drawing befehl muss mitten in einem Draw-Zugriff mitten in der Hauptschleife stehen,
das ist auf gar keinen Fall der Platz wo man irgendetwas als Global definiert.


also, ggf solltet ihr ein strukturiertes Array erstellen, wo alle Objekte drin abgespeichert sind.

ich bezweifel allerdings, dass ich es innerhalb einer einzigen woche schaffe, euch was halbwegs brauchbares beizubringen.
euch Code vorzukauen den ihr dann abschreiben könntet wäre nicht sinnvoll.

vielleicht solltet ihr euch ein wesentlich einfacheres Projekt erwählen,
ein Jump&Run gehört zu den schwierigeren Dingen weil es eine wesentlich
komplexere Objekt-Map-Interaktion benötigt als andere Genres.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
TeamBaba
Beiträge: 19
Registriert: 26.03.2009 09:46

Beitrag von TeamBaba »

Ja wir haben schon runtergeschraubt, wir wollen einfach so ein Ding wie ein Labyrinth machen.

Das die Figur unten Beginnt (2D) und nach oben läuft und dann ende ?
Müsste man doch nur ein paar Boxen einfügen(Muss ja nicht so verwinkelt sein) und diese dann undurchlässig machen ?

:allright: :allright: :allright:
Antworten