Bräucht Denk anstoss für ein Array... (3.30)

Anfängerfragen zum Programmieren mit PureBasic.
Sahrin
Beiträge: 10
Registriert: 24.11.2008 20:12
Wohnort: Rostock
Kontaktdaten:

Bräucht Denk anstoss für ein Array... (3.30)

Beitrag von Sahrin »

Also erstmal, Ein Herzlichstes Haalo von meiner Seite, an alle Forum User
Bin erst seit kurzem bei euch in der Community Gelandet.
Schlage mich aber schon bissl länger mit PB Rum bissl ausprobieren ect was geht und war bisher nur auf 2D ebende unterwegs...

Das heist Stur von Obendruf gucken oder von der Seite ;)

Nun Stellt sich bei mir eine Frage auf wo ich keinen Gescheiten weg finde...

Bei meinen Sonstigen Programmen hat mir nen Array wie jenes hier Gereicht:

Code: Alles auswählen

Dim MyArray.Structure(X,Y)
Nun will ich eine Kleines Rollenspielchen erstellen (Jagged Alliance 2 Grafik ähnlich, Ich denke mal eins zwei, leuten wirds geläufig sein.

Mein Gedanke war es so weit also die Grundfläche in Würfel Zu Gestalten

Das ich später andere ebenden ebenfals in würfeln rauf zu legen.

Ich weis nur einfach nicht Wie ich das Array gestalten soll. bzw aufstellen..

Meinn erster gedanke war das schlichte normale Array, die hinterliegenden punkte miteinführen, Würde auch nen Würfel ergeben aber:

Wenn ich jetzt Das schlichte normale Arraynehme:

Code: Alles auswählen


For Y=1 to 10
 For X=1 to 10
    MyArray()\X=X*10
    MyArray()\Y=Y*10
 Next X
Next X
Bau ich nen Gesamtfeld unterteilt in 100 Feldern A 10 Feldern auf X sowie auf Y auf.

Würde ich da jetzt einfach nur die fehlenden Punkte mit einbinden also 5 größer auf 5 und 5 kleiner auf Y. ISt das Arry nicht mehr die Bodenfläche sondernd Höhentunterschied.

Code: Alles auswählen


For Y=1 to 10
 For X=1 to 10

MyArray(X,Y,  X+10,Y,  X+10,Y-10,   X,Y-10 ,   X+5,Y-5  , X+15,Y-5 ,  X+15,Y-15  ,X+5,Y-15)
;MyArray(A,B,C,D,A',B',C',D')
Next X
Next X
Ich brauch Jedoch die hintereinader liegenden Würfel

ICh hoffe ich konnte mein Problem einigermassen gut zum Ausdruck bringen.. Im Kurzen ich brauch nen Denk an stoss wie ich das Array in die Weite und breite, und nicht in Breite und Höhe Defenieren kann.

Danke schonmal an die JEnigen die bis hier her gekommen sind mit dem LEsen ^^

MfG Sahrin
Nichts schührt Hass wie die Warheit

PB Version - 3.30
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Mach doch einfach ein dreidimensionales Array.

Du zeichnest die Ebenen von hinten nach vorn und von unten nach oben.

Code: Alles auswählen

 For g=1 To 10
    LineXY(400-16*g,550-8*g,600-16*g,450-8*g,RGB(0,50,0))
    LineXY(400+16*g,550-8*g,200+16*g,450-8*g,RGB(0,50,0))
  Next  
Als Inspiration. :allright:

Hier mal der TurboPascal Code von mir (2001)
http://www.folker-linstedt.de/pureforum/Jagged.zip

Portierung nach PureBasic sollte nicht weiter schwer sein,
Code ist übersichtlich, leicht verständlich und benutzt nur wenige
2D-Drawing-Befehle.

Gesteuert wird mit den Pfeiltasten :allright:
(Ist DOS, solltest du Windows Vista haben, benötigst du die DOS-Box)
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

ich denke mal es handelt sich um eine TileEngine... die du da basteln möchtest.

http://www.purebasic.fr/german/viewtopi ... ht=tilemap

Dort sind sehr viele "Denkanstöße" und Erklärungen wie das funktionieren kann...
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​​
Sahrin
Beiträge: 10
Registriert: 24.11.2008 20:12
Wohnort: Rostock
Kontaktdaten:

Beitrag von Sahrin »

Danke für die Schnellen Antworten :allright:

@ Xaby Hab XP SP2 aber Dos Box habsch trotzdem ^^
Werd ich zuhause mich mal ran setzen und schauen,
wobei ich das lezte mal vor gut 7 Jahren mich mit Turbo Pascal
auseinadergesezt habe, Und da hab ich nur mehr oder weniger
Rumgespielt und AscII Zeichen zum, Darstellen von Giguren ect genutzt habe weil mir das Drawing zu hoch war ^^ Naja da war ich 15 vlt werd ich jetzt schlauer draus :mrgreen:

@Bisonte Naja Teilweise ist es schon tile-engine, Wobei ich dies als Grund Array nutzen will, und mir überlegt hatte Die Tiles auf der Front site zu Projetzieren und denn mittels Transform Sprite auf die untere Fläche zu legen, In dem Array selber sollen Aber auch abgespeichert werden mittels der Structur ob Items Drin liegen, Was für Gegenstände( Keine ITems sondernd Baumstümpfe ect, Die Wiederum andere Sprites bekommen um sie Grafisch raufzulegen und gleichzeitig die LAyer Funktion geben Ob sie Passierbar ist,

Also brauch ich nicht nur das Array für die Tile engine sondernd komplet ansprechbares wo ich sämtliche Daten die diese Feld betreffen festlege..

Sind denn noch eins zwei sachen in dem Thread dabei die mir sehr viel weiter helfen werden. was Die Ansprechbarkeit per mouse Und das nur Teilweise Display der Tiles angeht..

Also nochmals Danke an euch beide!

MfG Sahrin
Nichts schührt Hass wie die Warheit

PB Version - 3.30
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Rumgespielt und AscII Zeichen zum, Darstellen von Giguren ect genutzt habe weil mir das Drawing zu hoch war ^^ Naja da war ich 15 vlt werd ich jetzt schlauer draus
Ich habe FolkisA auch mit 15 entwickelt.

Komplettes Jump'n'Run ohne Springen auf TurboPascal mit gleichzeitig 64KByte Speicher zum Ansprechen.

Eigenes Graphic-Interface, mit Fenstern, die nicht verschiebbar sind etc.
MouseZeiger, eigene Icons und Icon-Zeichenprogramme ...

Hätte es damals schon PureBasic gegeben, ich wäre sehr glücklich gewesen.

Wenn du alten Code brauchst. Ich schmeiße nichts weg, wird ja auch nicht
schlecht :roll: :allright:
Kinder an die Macht http://scratch.mit.edu/
Benutzeravatar
Xaby
Beiträge: 2144
Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Kontaktdaten:

Beitrag von Xaby »

Nur mal als Idee, haste schon mal dran gedacht,
die Sache mit der Demo von PureBasic 4.2 zu machen und
mit der Ogre 3D-Engine.

Die Bäume, Sträucher, Häuser, Goldsäcke musste eh irgendwie zeichnen.

Dazu würdest wohl auch ein 3D-Renderprogramm nehmen.
Und statt die Sprites zu rendern, exportierst du einfach die 3D-Objekte
und fügst diese mit der Ogre-3D-Engine in PureBasic ein.

Ich würde dir auch gern helfen, aber
wenn ich Code schreibe, kann ich dir nicht mehr genau sagen,
was nun noch in 3.3 funktioniert. Einige Dinge sind auch im Bereich
der Spiele einfacher geworden. :roll:
Kinder an die Macht http://scratch.mit.edu/
Sahrin
Beiträge: 10
Registriert: 24.11.2008 20:12
Wohnort: Rostock
Kontaktdaten:

Beitrag von Sahrin »

Naja ich sag auch nicht das es nicht leute gibt die mit 15 sowas nicht können ^^ kommt darauf an wie sehr man sich damit befasst würd ich sagen. Und dmals war es für mich halt nur Spielkram ohne das programm tiefgründig zu erforschen :) bzw war für mich alles Bahnhof und was Bahnhof war hab ich übergangen das heut anders. :)

Und wegen Purebasic 4.X.. naja wenn würd ich mir gleich die Vollversion holen.. Aber ich bestell halt prinzipel nichts via internet...
Und im LAden Regal hab ich bisher nur die 3.3 game programmers edition gefunden.. die ich mir gekauft habe vor hmm... ein paar jahren ^^
Aber wirklich befassen tuhe ich mich damit erst knap nen Halbes Jahr intensiv...

Ich hab auch schon gesehen das manche sachen grade die .mesh vieles verinfachen würden.
Und NAja bisher Pixel ich halt alles selbst was ich brauche mit Paint und I-Draw... WObei ich auch schon einigermassen geschickt damit umgehen kann.. War zum Arbeiten mit dem Rm2k um umgänglich :)

und aufgrund dessen das du Transparentsprites legen kannst kann man es auch einigermassen Real wirken lassen.. (ist zumindest meine MEinung)

ICh werds vorerst mal mit meiner Jetzigen version versuchen um zu setzen ohne abstriche machen zu müssen was Späteren Gamefun beeinflusst...

Aber ich hab ne idee wie ich das Array aufbauen bzw defenieren müsste..
Muss nur noch ausprobieren.. Werd das Ergebniss dann mal hier posten wenn es ist wie es sein soll ^^

MfG Sahrin alias Jan
Nichts schührt Hass wie die Warheit

PB Version - 3.30
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Aber ich bestell halt prinzipel nichts via internet...
Begründung?
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Sahrin
Beiträge: 10
Registriert: 24.11.2008 20:12
Wohnort: Rostock
Kontaktdaten:

Beitrag von Sahrin »

@ ZeHa ist rein aus Prinzip.. Ich Zahle auch selten mit Karte, ich hab das Geld was ich ausgeben gerne in den Händen da schäzt man den wert mehr und überlegt mehr ob mans ausgibt als wären es nur Zahlen.

Als ich früher nur mit Karte bezahlt habe hab ich den überblick verloren und auf einmal war ich pleite... Würde von einer Online bestellung nicht passieren aber ich seh an vielen das man sich sehr sehr schnell daran gewöhnt ;)

ISt halt ne reine Prinzipen Sache... muss nicht jeder verstehen <)

Achso.. um mal auf mein Thema zu kommen
@ Xaby...

Das 3 Dimensonale was du oben als beispiel gezeichnet hast ist genau das was ich meine... bzw sehr na dran ich kann auch darüber arbeiten in verschiedenden schichten... aber ich sehe Grade nicht wie ich das in ein Array umsezten kann.. Aber ich sitz heut warscheinlich auch schon wieder viel zu lange vor zahlen und code ^^
Werd mir das morgen NAchmittag nochmal gaaanz genau anschauen...

Danke nochmals für die vielen Antworten und Teilnahme
Nichts schührt Hass wie die Warheit

PB Version - 3.30
Sahrin
Beiträge: 10
Registriert: 24.11.2008 20:12
Wohnort: Rostock
Kontaktdaten:

Beitrag von Sahrin »

Ha wer hätt es gedacht.. Ich hab endlich Blick gefasst beim Dreidimensionalen Array, Nun stellt sich bei mir eine frage die sich sicher besser aus erfahrungswerten beantworten lässt,

Ist es Sinnvoller das Array an hand der Eck punkte zu defenieren und jenen ein Zentrum zuzuweisen, oder Dem Zentrum die 4 Eck punkte?

Also lieber Array(ax,ay,bx,by,cx,cy,dx,dx) und dem innerhlab ne struktur den Zentralen punkt zu zuweisen,

Array(Zx,Zy) und dann innerhalb der Struktur die 4 Eckpunkte?

Einfach auch für spätere aufrufe des Arrays und für Mouse -> Feld erkennung... :?

MfG Sahrin
Nichts schührt Hass wie die Warheit

PB Version - 3.30
Antworten