level

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@PMV: PVM klingt doch auch nicht schlecht. :wink:

@diGGa: Entweder mal hier schauen, oder etwas komplizierter erst in die
PureArea, dann auf Tutorials und dann auf Pointer.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

@diGGa: Lies das Pointer-Tutorial.
Damit versteht man es recht schnell.

Edit: Ich stimme also NTQ zu.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Wenn man die Elemente statt in ner LinkedList zu speichern in ein Array Packen würde könnte man den Speicherverbrauch der Karte um das 4xfach verringern. Aber es wäre halt weniger dynamisch.
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Ich glaub die Größe der Karte wird durch das Verwenden von LL nicht beeinträchtigt.
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

Doch Pointer = int Nummer des ArrayElements min 1 char
Benutzeravatar
Batze
Beiträge: 1492
Registriert: 03.06.2005 21:58
Wohnort: Berlin
Kontaktdaten:

Beitrag von Batze »

Stimmt hast recht.
Aber nur wenn du vorhast weniger als 65536 verschiedene Elemente zu nutzen. :wink:
Hier sind meine Codes (aber die Seite geht gerade nicht):
http://www.basicpure.de.vu
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Ich denke man sollte sich hier nicht so verrückt wegen dem
Speicherverbrauch machen. Letztendlich bestimmt sowieso die Karte und
die Einheiten den Speicherverbrauch. Man sollte das benutzen, mit dem
man am besten zurechtkommt und das einem am sinnvollsten erscheint.

Ich meine nur die Diskussion darüber kann an dieser Stelle abgebrochen
werden.
Benutzeravatar
freedimension
Admin
Beiträge: 1987
Registriert: 08.09.2004 13:19
Wohnort: Ludwigsburg
Kontaktdaten:

Beitrag von freedimension »

NicTheQuick hat geschrieben:Ich denke man sollte sich hier nicht so verrückt wegen dem
Speicherverbrauch machen. Letztendlich bestimmt sowieso die Karte und
die Einheiten den Speicherverbrauch. Man sollte das benutzen, mit dem
man am besten zurechtkommt und das einem am sinnvollsten erscheint.

Ich meine nur die Diskussion darüber kann an dieser Stelle abgebrochen
werden.
Sehe ich ähnlich :allright:
Das geniale an NtQs Weg kommt meiner Ansicht nach auch erst in Verbindung mit Elementen zum Vorschein welche eben nicht auf jedem Spielfeld liegen, z.B. Items, Häuser, Bäume usw. Dabei spart man sich nicht nur Speicher sondern auch noch das Sortieren der Elemente für die korrekte Ausgabe z.B. in einer isometrischen Ansicht. Wenn man der LinkedList noch einen selfrelation-Pointer verpasst kann man damit sogar mehrere Items auf ein Feld legen. Das meinte ich eigentlich mit "Genial"* ;)

*auch wenn ich jetzt nicht unbedingt davon ausgehe, dass du als der erste Mensch überhaupt dadrauf gekommen bist ;)
Beginne jeden Tag als ob es Absicht wäre!
Bild
BILDblog
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

freedimension hat geschrieben:*auch wenn ich jetzt nicht unbedingt davon ausgehe, dass du als der erste Mensch überhaupt dadrauf gekommen bist ;)
Genial ist vor allem, dass ich es anscheinend gemacht habe ohne es
selbst zu wissen. LOL :lol: Liegt aber wohl auch daran, dass ich mich mit
diesem Thema noch nie auseinandergesetzt habe.
Benutzeravatar
diGGa
Beiträge: 249
Registriert: 01.04.2005 11:00
Kontaktdaten:

Beitrag von diGGa »

um mal wieder zu meinem eigentlichem thema zu kommen:

ich hab jetzt mit pbtools per animsprite n tileset gebastelt und anzeigen funzt auch wunderbar. jedoch funzt die kollision nicht... bei spritecollision() flieg ich sofort raus, (logisch der ganze boden is voller sprites) bei spritepixelcollision() funzt es nicht und bei collisionanimsprite() funzt es auch nicht.

Code: Alles auswählen

Procedure LevelCollision()
        For y = 0 To #cfgMapSizeY - 1
                For x = 0 To #cfgMapSizeX - 1
                        If CollisionAnimSprite(Tileset.AnimSprite , x*32 , y*32 , #imgPlayer , spieler.player\x, spieler.player\y)
                                End
                        EndIf
                Next
        Next
EndProcedure 
ich könnte es natürlich jetzt ganz neu schreiben mit clipsprite, aber da ich nicht sicher bin ob da dann spritepixelcollision funzt warte ich lieber erstmal auf eure antworten.. keine lust meine direction prozedur neu zu schreiben
Antworten