Type mit allen anderen types verknüpfen?? [erledigt]
Übersicht

![]() |
KryanBetreff: Type mit allen anderen types verknüpfen?? [erledigt] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe folgenden Type: Code: [AUSKLAPPEN] Type nation
Field name$ End Type wie kriege ich es hin, jede nation mit jeder anderen zu verknüpfen??? |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
- Zuletzt bearbeitet von Kryan am Fr, März 10, 2006 20:51, insgesamt einmal bearbeitet
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Was meinst du mit Verknüpfen? Du kannst alle durchgehen mit Code: [AUSKLAPPEN] For nation.nation = each nation
... next Und da die Types sowieso schon in einer Reihenfolges sind, die du auch verändern kannst, weiß ich nicht was das problem ist ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
ne...es is so, dass ich gerne wissen würde, ob die Nation mit der anderen Nation Krieg führt oder in Frieden lebt....
das würde ich gerne dann in jedem type speichern ungefähr so: Type Nation FIeld status[8] End Type in diesem falle, kann jede nation 8 andere nationen verwalten...wie kann ich es aber unabhängiger machen?????? |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So:
Code: [AUSKLAPPEN] Type Nation Field name$ Field StatusHandle% Field count% end Type Type status Field nation$ ;Handel der befreundet, verfeindete... Nation Field status% ;wie genau verfeindet... End Type In StatusHandle speicherst du den Handle des ersten Status type und in Count die Anzahl. Du musst dann halt immer wenn du einen neuen status Type erschafst ihn auch gleich an die richtige Position bringen. Anders geht es glaub ich auch mit einem Field status.status, ich weiß aber grad nciht wie und bin zu faul zum nachgucken^^ Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würde das nicht mit Handles speichern, sondern direkt auf den Typeeintrag verweisen. Ist eigentlich einfacher und in diesem Fall auch geeignet.
Ist genau das mit dem status.status etc. Allerdings ist das immer noch nicht gut, da eine Nation dann nur einen Status haben kann. So einfach ist das natürlich nicht. |
||
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Deshalb sagte ich ja, was ich ich sagte ![]() Klar, kann man statt das Handels des ersten Types auch direkt auf den Typeeintrag verweisen, ist denke ich Geschmackssache. (Ich finde es mit dem Handel besser, weil man sonst nur umständlich auf die anderen, nachfolgenen Status-Types zugreifen kann. Ja wenn ich es mir recht überlege, geht es garnicht anders als mit dem Handel ![]() Jiriki [Edit:] Am schnellsten ist es aber wie du schon vorgeschlagen hattes, Kryan, mit einem Blitzarray, leg halt entweder ein Blitzarray an, das so groß ist, dass man alle Nationen darin speichern kann oder begrenze die "Verknüpfung" auf zehn oder so. Da fällt mir gerade ein, dass es wahrscheinlich am besten wäre, in einem Dim Feld einfach die Beziehung aller Nationen untereinander zu speichern (wenn die einer der anderen Feindlich gesonnen ist, ist es ja umgekehr selten anders, außer du möchtest ein komplexes Rpg coden). |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
HW |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entschuldige bitte, ich habe mir die Funktionsweise deiner Idee nicht ganz genau angeschaut. ![]() Dennoch sollte das nicht daran hindern, bessere Methoden zu entwerfen. Auf diese Weise müsste er die Zahl manuell für jede Nation in das Countfield eintragen. Bei einer dynamischen Zahl an Nationen, die bei einem Einsatz von Types nicht unwahrscheinlich ist, ist das äußerst ungeschickt. |
||
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann hab ich aber immer noch das selbe problem ![]() ... ich will dass ich in jedem type JEDE andere nation verwalten kann.... |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann mach es halt mit einem Blitzarray in der größe aller Nationnen, ist eigentlich kein Problem. Ist dann auch sicher schneller als irgendwelche Typespielereien, da es ja ein statisches Array ist...
Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab nun ne bessere lösung von jemandem bekommen...
trotzdem vielen dank!!!! |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kannst du sie auch hier posten, damit wir auch daran Anteil haben können? Ich will auch noch was lernen ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Kryan |
![]() Antworten mit Zitat ![]() |
---|---|---|
nagut...
ich hab n neues Typ verwendet: Code: [AUSKLAPPEN] Type diplomatie
Field n1.nation Field n2.nation Field status% End Type und mit folgenden funktionen hat man zugriff darauf: Code: [AUSKLAPPEN] Function NeuerDiplomatischerStatus(n1.Nation,n2.Nation,status=0)
dip.diplomatie=New diplomatie dip\n1.Nation=n1 dip\n2.Nation=n2 dip\status=status End Function Function SetzeDiplomatischenStatus(n1.Nation,n2.Nation,status) dip.Diplomatie=FindeDiplomatie.diplomatie(n1,n2) If dip<>Null Then dip\status=status End If End Function Function NehmeDiplomatischenStatus(n1.Nation,n2.Nation) dip.Diplomatie=FindeDiplomatie.diplomatie(n1,n2) If dip<>Null Then Return dip\status End If End Function Function FindeDiplomatie.diplomatie(n1.Nation,n2.Nation) For dip.diplomatie=Each diplomatie If (n1=dip\n1 And n2=dip\n2) Or (n1=dip\n2 And n2=dip\n1) Then Return dip Next End Function sry, dass ich es nich gleich gemacht hab ![]() |
||
Webspaceanbieter?
Klick hier! Kultige Spieleschmiede? Klick hier! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group