Types
Übersicht

![]() |
dominikBetreff: Types |
![]() Antworten mit Zitat ![]() |
---|---|---|
also ich hab ne karte auf der man häuser bauen kann und ich muss herausfinden ob bestimmte häuser nebeneinader stehen. die karte is in kästchen aufgeteilt die in types gepeichert sind. ich habs jetzt der einfachheithalber so gemacht das der haustype nach dem gesucht wird immer nur links von dem anderen type stehen kann. leider hab ich aber noch keine möglichkeit gefunden wie ich das jetz heraus bekomm. ich habs schon mit dem before befehkl probiert aber da bleibt dann das prog hängen wenns gelich das erste haus is bei dem nach dem anderen gesucht wird.
PS: kann sein das es total billig is ich hab die types erst heute gerallt. ![]() ![]() |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
Suco-XBetreff: ....... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] for haus1.haus_type = each haus_type for haus2.haus_type = each haus_type If haus1\x=haus2\x ;Pi Mal Daumen, nur als beispiel machewas endif next next So kannst du jedes auf auf jedes Haus testen. Ist halt so ne verschachtelte Sache. Keine ahnung wie ich es besser beschreiben könnte. bye |
||
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja so weit bin ich schon auch gekommen, das man da einfach ne for each type schleife macht.(wenn ich das nicht wüsste das ich das dazu bracuhe würd ich mich garnicht erst hierher trauen)
aber meine frage is ja eben was dann hier Code: [AUSKLAPPEN] Blud und bla und wenn sie nun da stehen
rein kommt gerade das is ja das problem. EDIT: also ich ksann ja noch dazu schreiben wie ich bisher gemacht hab. wie aber halt net geht Code: [AUSKLAPPEN] For haus.gebeude = Each gebeude
If haus\hausart = 2 Then haus = Before haus If haus\hausart = 3 Then geld = geld + 200 Next |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For H1.gebeude = Each gebeude
H2.gebeude = Before H1 If H2.gebeude <> Null If H1\hausart = 2 And H2\hausart = 3 Then geld = geld + 200 End If Next So sollte das gehen ... hab jetzt deinen Code eingebaut Wann soll sich denn genau die Kohle erhöhen! Auch wen 2 an 2 steht? oder 3 rechts neben 2 |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn 3 links neben 2 steht. | ||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann stimmt der Code ! | ||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
also der funktioniert so auch nich.
deshalb dachte ich mach ichs mal mit den x koords: Code: [AUSKLAPPEN] For haus.gebeude = Each gebeude <-- jedes gebäude testen
If haus\hausart = 2 Then <-- wenn 2 is dann raffinerie_x = haus\x For haus.gebeude = Each gebeude <--- teste ob überhaubt ein haus daneben steht If raffinerie_x - 32 = haus\x Then If haus\hausart = 3 Then geld = geld + 200 <-- wenn des dann auch noch nen 3'er ist dann geld ...... EndIf Next EndIf Next der bisher aber leider auch nicht geht. ![]() |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie sind denn die TYPES gespeichert ?
wie eine Strasse oder etwa nach dem Schema einer MAP 1 2 3 4 5 6 7 8 9 10 .... |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
nach einer straße da ich bisher einfach nur ne grüne gleichemäsige fläche ist da ich die level nacher aber noch aus ne datei einlesen will wird sich das wohl noch ändern.
EDIT: kanns vll sein das wenn man zwei schleifen ineineander schiebt und in denen die geleichen vars benützt die sich gegenseitig vertauschen? |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
So funktioniert das nicht..
denn bei zwei gleichen var geht das nicht! Code: [AUSKLAPPEN] For Haus.Gebeude = Each Gebeude
... For Haus.Gebeude = Each Gebeude Next Next Du mußt das so machen oder ähnlich Code: [AUSKLAPPEN] For Haus.Gebeude = Each Gebeude
... For Haus1.Gebeude = Each Gebeude Next Next du kannst auch x.Gebeude und y.Gebeude nehmen, das spielt keine Rolle, nur verschieden müssen die sein! |
||
[BB2D | BB3D | BB+]
|
- Zuletzt bearbeitet von Rallimen am Mo, Okt 04, 2004 18:54, insgesamt einmal bearbeitet
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
geht doch aber nicht ich will ja beidemale die gleichen typs abfragen da kann ich die doch nich einfach umbenennen.
EDIT: aber um nicht die gelichen vars in der geliche schleife zu aben hab ich ja eigetnlich schon die zeile eingeügt: Code: [AUSKLAPPEN] raffinerie_x = haus\x
aber kanns sein das nicht für jede schliefe ein zeiger oder wie die dinger heisen verschoben und gespeichert wird sondern das es pro feld nu eine gibt und sich die schleifen dadurch beeinflussen. |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
- Zuletzt bearbeitet von dominik am Mo, Okt 04, 2004 18:57, insgesamt einmal bearbeitet
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das sind ja nur Variablen. Die beiden lassen sich dann so vergleichen, oder was auch immer:Code: [AUSKLAPPEN] If haus\bla=haus1\bla...
|
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja aber die var die ich abfragen will is im type feld nunmal unter haus.gebeude gespeichert. da kann ich doch nicht einfach nach haus1.gebeude fragen.
ich müsste also des type feld für die abfrage jedesmal kopieren und dann des orginal mit der kopie vergleichen. |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne, nehmen wir an das ist kein Type, sondern ein Array:Code: [AUSKLAPPEN] For a=0 to 10
Jetzt klarer For b=0 to 10 if bla(a)=bla(b)... Next Next ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Haus und Haus1 sind nur Zeiger die auf den Eintrag stehen, du bist nicht daran gebunden denn die Liste ist das Gebeude!
ich mach mal ebend ein Beispiel... Code: [AUSKLAPPEN] Type Gebeude
Field x$ End Type For t= 0 To 5 Haus.Gebeude = New Gebeude haus\x = "Haus" Next For t= 0 To 5 garage.Gebeude = New Gebeude garage\x = "Garage" Next For Dummy.Gebeude = Each Gebeude Print Dummy\x Next WaitKey |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
jaa sau geoil danke aber kleine anmerkung noch
das geht nicht Code: [AUSKLAPPEN] For haus1.gebeude = Each gebeude
muss wenn dann Code: [AUSKLAPPEN] For hausa.gebeude = Each gebeude
so heißen. bei version 1 kommt "variablen type missmatch" aber danke für eure hilfe. ![]() ![]() |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das liegt aber wahrscheinlich daran das du Haus1 schon woanders benutzt
als Definierte Variable |
||
[BB2D | BB3D | BB+]
|
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
viel zu krasss ich lad die einzelnen tiles für die map jezt aus ner datei, aber des ruckelt ja nur noch. (40*32)
Code: [AUSKLAPPEN] map_datei = ReadFile("map.txt")
For iy = 0 To kartengroesey Step 32 For ix = 0 To kartengroesex Step 32 zeile = ReadLine(map_datei) For i = 0 To 40 tile = Mid(zeile, i, 1) grund.boden = New boden grund\bodenart = tile grund\x = ix grund\y = iy Next Next Next CloseFile map_datei und zum zeichnen:(da hab ich aber nix dran verändert, des war auch vorher schon so) Code: [AUSKLAPPEN] For grund.boden = Each boden
If grund\bodenart = 0 Then DrawImage land, grund\x, grund\y Next |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du lädst aber nicht in der Hauptschleife? Das wär echt krass ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
nee ![]() aber stimmt doch so vom ablauf her oder lad ich da irgnetwie ausversehen was dopelt oder so. die ausgabe auf bildschirm stimmt ja aber eigentlich hat sich wärend des progg ablauf ja garnix geändert. |
||
BB+ 1.41|Sempron 2.8|geforce fx5200|1GB DDR|XP home SP2 / prof. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group