Komischer Fehler mit readint()?!
Übersicht

FruscianteBetreff: Komischer Fehler mit readint()?! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich lese meine Mapdaten mit einer Funktion ein die so aussieht:
Code: [AUSKLAPPEN] file = ReadFile("map1.txt") For x=0 To 19 For y=0 To 14 map(x,y)=ReadInt(file) Next Next CloseFile(file) In der datei sind nur nullen in den maßen 20*15. Lasse ich mir jetzt allerdings das Ergebnis von map(x,y) in einer schleife anzeigen (also so das ich den wert jeder Koordinate sehe) bekommme ich erst mal sehr sehr viele andere Zahlen auf den Bildschrim und dann erst die Nullen. Kann mir jemand sagen wo dran das liegt? Wie genau verhält sich readint eigentlich in so einer Schleife? Springt es von allein immer zu nächsten integer? Da würde ich mich in meinem Fall fragen woher readint weiß wann eine Zeile zu ende ist? Wie benutze ich in diesem Fall readint richtig? Danke, Frusciante. |
||
coldie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich glaube, man kann daten aus einem textfile auch nicht einfach so mit readint auslesen. Dazu bräuchtest du wahrscheinlich ein eigenes Dateiformat bei dem du genau weist an welcher stelle welche Daten sind. | ||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Korrekt. Wenn in der Textdatei Nullen stehen, dann sind das ASCII Zeichen. Würdest du sie mit ReadByte einlesen, käme da jeweils eine 48 raus (ASCII Code für die 0). Ein Integer, der mit ReadInt gelesen wird, ist aber 4 Byte groß (das wären im Texteditor also 4 Zeichen, welche du meistens aber nicht erkennst bzw. es sind wirre Zeichen). | ||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
Frusciante |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah, ok. Was würdet ihr mir dann empfehlen? Ich arbeite bei der Tilemap mit loadanimimage, d.h. es wäre am besten wenn ich die zahl die in dem textdokument steht auch gleich die das dimfeld laden könnte. Mit was für einem lesebefehl wäre das denn möglich? | ||
coldie |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber warum muss es eine textfile sein? Schreib doch die daten vorher selber mit writeint in eine datei. | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du unbedingt ein Textdokument auslesen willst, so kannst du es wie folgt machen:
1. Mit ReadByte und dann manuell darauf bezonene Interpretation der Zeichen, zB mit kachel=ReadByte(file)-32 2. Mit ReadLine und dann jede Zeile 'ausparsen', also die Zeichen auslesen und Interpretieren 3. Am einfchsten, du bastelst dir ein einfachen Editor (~20min Arbeit) und speicherst gleich in Bytes oder Shorts... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group