Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Viele Types erzeugen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ViK



Anmeldungsdatum: 13.02.2007
Beiträge: 7

BeitragVerfasst am: 13.02.2007, 16:19    Titel: Viele Types erzeugen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 13.02.2007, 16:39    Titel: Antworten mit Zitat

Nur als Frage: hast du schon von Arrays gehört? lächeln
Das "Doppelte Definition" bringt er dir, weil du die Variable genauso nennst, wie den Typen. zwinkern

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. lächeln
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

lächeln

Greets,
Mao
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ViK



Anmeldungsdatum: 13.02.2007
Beiträge: 7

BeitragVerfasst am: 13.02.2007, 17:10    Titel: Antworten mit Zitat

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. zwinkern

Werde mal testen, danke schön!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Type



Anmeldungsdatum: 24.02.2006
Beiträge: 187
Wohnort: Dresden

BeitragVerfasst am: 13.02.2007, 18:23    Titel: Antworten mit Zitat

Ich hab nie so richtig verstanden was es mit "Type" auf sich hat...
(auch wenn ich so heiße zwinkern )

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
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 14.02.2007, 00:37    Titel: Antworten mit Zitat

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.. happy
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz