Types Handlen
Übersicht

![]() |
TimBoBetreff: Types Handlen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe 3 Types. Code: [AUSKLAPPEN] Type strecke
Field x1 Field y1 Field x2 Field y2 End Type Type tile Field typ Field s.strecke End Type Type gamer Field s.strecke End Type Strecke soll 2 Kordinaten speichern. Da sowohl jeder Spieler als auch jedes Tile solche Strecken hat, haben sie als field s.strecke. dann werden types erstellt und variablen zugeordnet. In der Mainschleife steht dann folgendes: Code: [AUSKLAPPEN] For t.tile = Each tile For t\s = Each strecke Line t\s\x1,t\s\y1,t\s\x2,t\s\y2 Next Next for g.gamer = Each gamer For g\s = Each strecke Line g\s\x1+mx,g\s\y1+my,g\s\x2+mx,g\s\y2+my Next Next warum geht jetz nun jede Strecke mit der Maus mit und nicht nur die g\s strecken ? bin echt voll ohne Plan mfg TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
JolinahBetreff: Re: Types Handlen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, mit "For t\s = Each strecke" wird die Strecke vom Tile doch jedesmal überschrieben. Das selbe bei g\s.
Meinst du evtl.: Code: [AUSKLAPPEN] For t.tile = Each tile Line t\s\x1,t\s\y1,t\s\x2,t\s\y2 Next for g.gamer = Each gamer Line g\s\x1+mx,g\s\y1+my,g\s\x2+mx,g\s\y2+my Next |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Type strecke besitzt eine Liste, in der alle Elemente - seien sie in tile oder gamer - eingetragen sind. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achso , wie kann ich das ändern , muss ich dann noch einen Type Strecke2 machen und dann ein Type nur für den Gegner und einen Type nur für die Tiles machen oder gibt es dazu eine Alternative ?
mfg TimBo |
||
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31 hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du für jeden Type beliebig viele Strecken verwenden möchtest, gäbe es die folgende Variante:
Code: [AUSKLAPPEN] Type Tstrecke
Field Besitzer Field x1 Field y1 Field x2 Field y2 End Type Type Ttile Field s.Tstrecke End Type Type Tgamer Field Nr Field s.Tstrecke End Type Local i, g.Tgamer, s.Tstrecke, t.Ttile ;*** Erster Gamer... g = New Tgamer g\Nr=1 For i%=0 To 3 s = New Tstrecke ;** Koordinaten setzen... s\x1 = 10 s\Besitzer = Handle(g) ;*** Interger-Handle der Zugehörigen Type-Instanz Next ;*** Zweiter Gamer... g = New Tgamer g\Nr=2 For i%=0 To 3 s = New Tstrecke ;** Koordinaten setzen... s\x1 = 15 s\Besitzer = Handle(g) ;*** Interger-Handle der Zugehörigen Type-Instanz Next t = New Ttile For i%=0 To 3 s = New Tstrecke ;** Koordinaten setzen... s\x1 = 20 s\Besitzer = Handle(t) Next For s.Tstrecke = Each Tstrecke For g.Tgamer = Each Tgamer If Object.Tgamer(s\Besitzer) = g Then ;*** Objekt findet aus dem Handle die passende Instanz... Print "Gamer "+g\Nr+": "+s\x1 EndIf Next For t.Ttile = Each Ttile If Object.Ttile(s\Besitzer) = t Then Print "Tile: "+s\x1 EndIf Next Next WaitKey() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group