Kann man Stellen in einer Struktur mathematisch ansprechen?
-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
Normalerweise haben natürlich Einheiten der jeweiligen Spieler dieselben Werte. Ich wollte das allerdings variabler halten, so dass ein Speerträger des Spieler 1 andere Werte hat als der des Spieler 2. Also haben die Figuren alle verschiedene Werte, so dass das mit einem weiteren Array wohl nicht funzen würde.
- 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
Gehts nicht auch ohne Strukture, mit einem 3 Dimensioalem Array, statt 2?
Code: Alles auswählen
Enumeration 1
#KS_EBENE
#KS_WALD
#KS_HUEGEL
#KS_SUMPF
#KS_BOLLWERK
#DEFENSIVWERT
#KONTROLLZONE
#BEWEGEUNG
EndEnumeration
AnzahlSpieler = 5
Global Dim AW(#PB_Compiler_EnumerationValue, 8, AnzahlSpieler.l)
AW(#KS_EBENE, 1, 2) = ebene3
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
das wär aber ja dann trotzdem möglich mitZweihänder hat geschrieben:Normalerweise haben natürlich Einheiten der jeweiligen Spieler dieselben Werte. Ich wollte das allerdings variabler halten, so dass ein Speerträger des Spieler 1 andere Werte hat als der des Spieler 2. Also haben die Figuren alle verschiedene Werte, so dass das mit einem weiteren Array wohl nicht funzen würde.
Kampfstaerke + Verteidigung( Spieler, Einheitentyp, Bodenart )
aber wenn jeder spieler dutzende speerträger haben kann, wäre es einfach platzverschwendung,
jedem einzelnen die standard-verteidigungswerte mitzugeben.
selbst wenn deine einheiten dann ränge haben können (Conscript, Veteran, Elite),
kann man beim array noch ne dimension dazupacken.
Kampfstaerke + Verteidigung( Spieler, Einheitentyp, Rang, Bodenart )
______________________
> Gehts nicht auch ohne Strukture, mit einem 3 Dimensioalem Array, statt 2?
yo, das außerdem.
Zuletzt geändert von Kaeru Gaman am 01.08.2007 14:36, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> zum anderen kenn ich mich als Anfänger überhaupt nicht mit Enumerationen aus...
ne das is quatsch.. das hat ts nur verwendet weil ers gewöhnt ist, braucht man dafür nicht unbedingt.
> Zum einen müsste ich meinen gesamten Code umschreiben
das müßtest du sowieso in einem geringeren oder weiteren umfang tun.
also, schau dir die sache mit StructurUnion mal an.
und nochmal, wenn jeder Spieler mehrere einheiten des selben typs haben kann,
die alle die selben verteidigungswerte haben, dann ist es schlicht unfug, sie jeder einheit mitzugeben.
aber wie du willst, nix umschreiben oder vernünftige lösung, deine entscheidung.
ne das is quatsch.. das hat ts nur verwendet weil ers gewöhnt ist, braucht man dafür nicht unbedingt.
> Zum einen müsste ich meinen gesamten Code umschreiben
das müßtest du sowieso in einem geringeren oder weiteren umfang tun.
also, schau dir die sache mit StructurUnion mal an.
und nochmal, wenn jeder Spieler mehrere einheiten des selben typs haben kann,
die alle die selben verteidigungswerte haben, dann ist es schlicht unfug, sie jeder einheit mitzugeben.
aber wie du willst, nix umschreiben oder vernünftige lösung, deine entscheidung.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
Nicht, dass das falsch verstanden wird...
Die Werte für einen Einheitentyp von Spieler1 bleibt immer gleich, deswegen die Struktur mit festen Werten.
Allerdings sind die Werte desselben Einheittyps von Spieler2 anders. Dort haben sie dann auch wieder fste Werte. Also haben bspw Speerträger von Spieler 2 alle die gleichen Werte.
Für meinen Code wäre es and dieser Stelle einfacher, wenn ich die Abfrage, wie oben beschrieben realisieren könnte. Ansonsten müsste ich alles umschreiben. Und der Code ist bereits sehr groß...
Die Werte für einen Einheitentyp von Spieler1 bleibt immer gleich, deswegen die Struktur mit festen Werten.
Allerdings sind die Werte desselben Einheittyps von Spieler2 anders. Dort haben sie dann auch wieder fste Werte. Also haben bspw Speerträger von Spieler 2 alle die gleichen Werte.
Für meinen Code wäre es and dieser Stelle einfacher, wenn ich die Abfrage, wie oben beschrieben realisieren könnte. Ansonsten müsste ich alles umschreiben. Und der Code ist bereits sehr groß...

-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
-
- Beiträge: 49
- Registriert: 21.06.2007 14:40
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
yo, dann mach doch dafür so wie ts vorgeschlagen hat einfach ein 3D-array.Zweihänder hat geschrieben:Die Werte werden ja auch nicht jeder auf der Karte auftauchenden Einheit mitgegeben. Diese werden lediglich in das 2dim-Array mit jeweils dem Strukturinhalt aufbewahrt und abgefragt.
die struct ist absolut linear, also kannst du dafür doch auch einfach ne dritte dimension nehmen statt des stukturierten teils.
die funktionalität von StructureUnion ist einfach, dass du dieselben speicherstellen derselben struktur mit unerschiedlichen namen ansprechen kannst,
in meinem beispiel eben als statisches array oder mit deinen namen.
ob das beispiel allerdings so genau richtig ist, bin ich mir nicht sicher.
ich persönlich würde den einfacheren ansatz von ts mit dem 3D-array vorziehen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.