Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ViK
Anmeldungsdatum: 13.02.2007 Beiträge: 7
|
Verfasst am: 13.02.2007, 16:19 Titel: Viele Types erzeugen |
|
|
Hallo erstmal...
habe einen Type definiert:
Type player_info
PlayerStart_xpos As Integer
PlayerStart_ypos As Integer
Player_color As Integer
...
End Type
und will jetzt viele Types erzeugen.
Ich kann das natürlich zu Fuss machen mit:
"Dim player1_info As player_info "
"Dim player2_info As player_info " usw.
Bei zb 32 Playern wäre das aber recht viel.
Kann ich diese Types nicht auch in einer Schleife erzeugen?
Mit:
"Dim player_info (1) As player_info"
"Dim player_info (2) As player_info "
meldet mir der Compiler doppelte Definition.
Gibt es Alternativen? |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 13.02.2007, 16:39 Titel: |
|
|
Nur als Frage: hast du schon von Arrays gehört?
Das "Doppelte Definition" bringt er dir, weil du die Variable genauso nennst, wie den Typen.
Ein funktionierender Code für 32 Spieler wäre z.B.
Code: |
Type player_info
' typinfos hier reinhauen. ;)
End Type
Dim Player(1 To 32) As player_info
|
Es nimmt praktisch eine Variable alles 32 Stück auf.
Ansprechen kannst du die einzelnen dann, indem du den Namen des Arrays (hier "Player") schreibst, gefolgt von dem Index in Klammern. Willst du beispielsweise den 13. Spieler ansprechen, dann schreibst du:
Code: |
Player(13).player_color=7
|
Greets,
Mao _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
ViK
Anmeldungsdatum: 13.02.2007 Beiträge: 7
|
Verfasst am: 13.02.2007, 17:10 Titel: |
|
|
Hört sich ja alles recht logisch an.
Klar, habe schon von Arrays gehört.
Habe mich vielleicht zuviel mit OOP beschäftig; hat wohl mein
Gehirn aufgeweicht.
Werde mal testen, danke schön! |
|
Nach oben |
|
 |
Type
Anmeldungsdatum: 24.02.2006 Beiträge: 187 Wohnort: Dresden
|
Verfasst am: 13.02.2007, 18:23 Titel: |
|
|
Ich hab nie so richtig verstanden was es mit "Type" auf sich hat...
(auch wenn ich so heiße )
Kann mir das mal einer erklären? - aus Tut's oder Hilfen, noch nichmal aus der MonFAQ bin ich schlau geworden...
/EDIT - FALSCHES FORUM SORRY! - Bitte löschen! |
|
Nach oben |
|
 |
ytwinky

Anmeldungsdatum: 28.05.2005 Beiträge: 2624 Wohnort: Machteburch
|
Verfasst am: 14.02.2007, 00:37 Titel: |
|
|
Zusätzlich zu den vordefinierten Datentypen kannste dir eigene Type erstellen(UDT=User-Defined-Type)
z.B.: Code: | Type Vokabel
englisch As ZString*20
deutsch As ZString*25
As Long richtig, falsch, Gruppe, UnregelmVerb
End Type
Dim Vokabelheft(500) As Vokabel
Dim As String s
Input "Englisches Wort eingeben:", s
Vokabelheft(1).englisch=s
Input "Deutsche Bedeutung eingeben:", Vokabelheft(1).deutsch
Vokabelheft(1).richtig=0
Vokabelheft(1).falsch=0
Vokabelheft(1).Gruppe=0
Vokabelheft(1).UnregelmVerb=Instr(Trim(s), "to ")=1 And Instr(Trim(s), ",")>0 | ..ich verrate noch nicht, woher dieses Beispiel stammt..
Gruß
ytwinky _________________
v1ctor hat Folgendes geschrieben: | Yeah, i like INPUT$(n) as much as PRINT USING.. | ..also ungefähr so, wie ich GOTO.. |
|
Nach oben |
|
 |
|