Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehrdimensionale Arrays?



Mäde
31.10.2007, 16:40
Ich habe grad ein kleines Problemchen:
Ich möchte eine Textdatei so auslesen, dass ich später jeden Buchstaben des Textes mittels einer X- und einer Y-Koordinate ansprechen kann.
Den Befehl für das Zeichenweise auslesen hab ich schon gefunden, aber ich habe es noch nicht geschaft, das ganze irgendwie in ein Array zu packen.
Aus meinen C++ Erfahrungen kenne ich die Variante des zweidimensionalen Arrays. Das sähe etwa so aus:



x=0;
y=0;
while(y<15){
while(x<20){
array[x,y,]= (Befehl um das nächste Zeichen auszulesen)
x+=1;
}
y+=1;
}

Nur scheint das in der Art im RGSS nicht zu funktionieren.
Lösungsvorschläge? :D

-KD-
31.10.2007, 17:08
Ein zweidimensionaler Array ist einfach nur ein Array aus Arrayelementen.
[[],[],[]] <--- wäre ein zweidimensionaler, dreielementiger Array. Möglich wäre auch die Schreibweise
array = Array.new(3) do Array.new end

Da Strings aber ebenfalls eine Art Array sind (das heißt, sie sind eine Liste aus Zeichen, die man ebenfalls über einen Index ansprechen kann) brauchst du nicht einmal einen zweidimensionalen Array dafür.


text = File.open("bla.txt") do |in| in.readlines end
#Fünfter Buchstabe der dritten Zeile:
buchstabe = text[3][5,1]
(das 1 nach der 5 heißt, dass du genau ein Zeichen aus dem String extrahieren willst).

Mäde
31.10.2007, 17:24
Klappt perfekt, vielen Dank. Es darf gecloset werden. ;)