Type Objekt anhand Wert in anderem Objekt finden
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
FirstdeathmakerBetreff: Type Objekt anhand Wert in anderem Objekt finden |
Mi, Sep 14, 2005 19:55 Antworten mit Zitat |
|
---|---|---|
Tschuldigung für die lange Überschrift, aber das beschreibt mein Problem am besten. Ich möchte eine Liste nach einem bestimmten Wert durchsuchen, der in einem Objekt das in der Liste ist gespeichert ist. Schematisch quasi:
Typ1 field L:Tlist mit vielen Typ2 drin end Type Typ2 field T:Typ1 end Typ Und ich will jetzt durch eine Methode in Typ1 nach einem bestimmten anderen Typ1 suchen, der in einem der in der Liste L enthaltenen Typ2 in der Variabel T gespeichert sein soll. Auf meiner Suche nach einer Lösung bin ich auf die Funktion ListContains( list:TList,value:Object ) gestoßen. Meine Frage nun: Kann man, und wenn ja, wie, die Liste nach einem Objekt mit einer Variabel die einen bestimmten Wert enthält durchsuchen, oder muss man das ganze "zu Fuß" frickeln, so in etwa: Code: [AUSKLAPPEN] Method(Lookin_For:Party)
For Local PC:Party_Call = EachIn Self.PartyCall_List If PC.Party = Lookin_For Return PC.Call Next End Method Hier mal der Code, die Methode die so funktionieren soll heißt GetCall(). Code: [AUSKLAPPEN] 'Party / Parteiensystem. Jede Partei hat eine Liste in welcher der jeweilige Ruf der anderen vermerkt ist.
Type Party Global Party_List:TList Field Name:String Field PartyCall_List:TList Function create:Party(Name:String) If Party_List = Null Party_List = New TList Local P:Party = New Party P.Name = Name 'PartyCall_Netz erzeugen, bei anderen und eigene Liste anlegen. For Local P2:Party = EachIn Party_List Local PC:PartyCall = New PartyCall PC.Party = P:Party P2.PartyCall_List.addlast(PC:PartyCall) PC:PartyCall = New PartyCall PC.Party = P2:Party P.PartyCall_List.addlast(PC:PartyCall) Next Party_List.addlast(P) Return P:Party End Function Method New() PartyCall_List = New TList End Method Function Kill_All() For Local P:Party = EachIn Party_List P.kill() Next End Function Method kill() Party_List.remove(Self) End Method Method GetCall:Float(P:Party)'Liefert den Ruf der gefragten Partei Local PC:PartyCall = ListFindLink(PartyCall_List,PartyCall.Call) Return PC.Call End Method End Type Type PartyCall Field Party:Party Field Call:Float'Negative = Bad, Positive = Good End Type 'ENDE Party / Parteiensystem. |
||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
simi |
Do, Sep 15, 2005 19:44 Antworten mit Zitat |
|
---|---|---|
Du hast ja deine Verlinkten Party_call-objekte alle in einer Liste drin....
Dann hast du direkt den Wert?? oder nicht?? :\ |
||
Firstdeathmaker |
Sa, Sep 17, 2005 0:55 Antworten mit Zitat |
|
---|---|---|
Eben nicht, weil ich nicht Party_Call sondern nur Party suche. | ||
www.illusion-games.de
Space War 3 | Space Race | Galaxy on Fire | Razoon Gewinner des BCC #57 User posted image |
remaBetreff: Re: Type Objekt anhand Wert in anderem Objekt finden |
Sa, Sep 17, 2005 6:22 Antworten mit Zitat |
|
---|---|---|
Firstdeathmaker hat Folgendes geschrieben: Meine Frage nun: Kann man, und wenn ja, wie, die Liste nach einem Objekt mit einer Variabel die einen bestimmten Wert enthält durchsuchen, oder muss man das ganze "zu Fuß" frickeln, so in etwa:
Code: [AUSKLAPPEN] Method(Lookin_For:Party)
For Local PC:Party_Call = EachIn Self.PartyCall_List If PC.Party = Lookin_For Return PC.Call Next End Method Ja, so ist es. Es gibt keine andere Methode um dies zu bewerkstelligen. |
||
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group