---
title: "Läsa en level fil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/27916-läsa-en-level-fil"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Alpha II"
published: "2001-06-18T20:02:00.000Z"
updated: "2001-06-23T16:04:00.000Z"
replies: 3
views: 429
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/27916-läsa-en-level-fil"
---

# Läsa en level fil

## #1 — Alpha II, 2001-06-18T20:02Z

Hej!
jag håller på med ett enkelt spel som går ut på att man går runt i en liten "laborynt" och ska ta sig till mål. Banorna vill jag spara i speciella filer som ska vara upp byggda så här:

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
Level 01
wall01 5, 7
wall01 5, 8
wall01 5, 9
wall01 5, 10
wall01 5, 11
wall01 5, 12
wall01 5, 13
wall01 5, 14

wall01 10, 1
wall01 10, 2
wall01 10, 3
wall01 10, 4
wall01 10, 5
wall01 10, 6
wall01 10, 7

wall01 15, 7
wall01 15, 8
wall01 15, 9
wall01 15, 10
wall01 15, 11
wall01 15, 12
wall01 15, 13
wall01 15, 14

klinga 6, 7 move 9, 7
klinga 11, 7 move 14, 7

extralife 15, 10

Syntaxen är alltså:
*\[typ av object\] \[x\], \[y\]*
för alla utom "klinga".

Hur ska jag göra för att läsa filerna och skapa tex en TKlinga ( som är sprite) på rätt position och till änga variablerna movex, movey?

Säg till om ni inte förstår! :)

Permalänk: https://www.webforum.nu/p/27916

## #2 — Alpha II, 2001-06-21T00:05Z

Men hjälp mig då... :l :)

Permalänk: https://www.webforum.nu/p/400689

## #3 — Alpha II, 2001-06-21T16:21Z

Nu har jag suttit och försökt få det att fungera. Det fungerar nästan....
PosY tilldelas inte rätt värde :(

\<font size="1" face="Verdana, Arial, Helvetica, sans-serif"\>Kod:\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600"\>
procedure TForm1.OpenLevel(level: integer);
var
  LevelFile, S, obj, posX, posY, moveX, moveY : String;
  F : TextFile;
  I, tmp_pos : Integer;
begin
  if level \< 10 then LevelFile := 'level0'+inttostr(level)
  else LevelFile := 'Level'+inttostr(level);

  if not FileExists('levels\\'+LevelFile+'.lev') then begin
    showmessage('Banan hittades inte!');
    exit;
  end;

  AssignFile(F, 'levels\\'+LevelFile+'.lev');
  Reset(F);
    while not Eof(F) do begin
      ReadLn(F, S);

      obj := '';
      PosY := '';
      PosX := '';
      tmp_pos := 0;

      if length(s) \> 1 then begin
        for I := 0 to length(S) do begin
          if (S \= ' ') and (obj = '') then
            obj := copy(S, 0, I-1)
          else if (S \= ',') and (PosX = '') then begin
            PosX := copy(S, length(obj)+2, I-(length(obj)+2));
            tmp_pos := I;
          end
          else if (PosY = '') then
            PosY := copy(S, tmp_pos+1, length(S));
        end;

        showmessage('obj: "'+obj+'"'+#10+'PosX: "'+PosX+'"'+#10+'PosY: "'+posY+'"');

      end;

    end;

  CloseFile(F);

end;

Permalänk: https://www.webforum.nu/p/400690

## #4 — Alpha II, 2001-06-23T16:04Z

Lyckades lösa det själv :)

Permalänk: https://www.webforum.nu/p/400691

---

Tråden på webben: https://www.webforum.nu/amne/programmering/27916-läsa-en-level-fil
