fb:porticula NoPaste
2.1: Leveldaten über DATA-Zeilen einlesen
Uploader: | nemored |
Datum/Zeit: | 24.09.2011 11:30:22 |
Hinweis: Dieser Quelltext ist Bestandteil des Projekts OpenBook: 2D-Spieleprogrammierung, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.
' *** CODE 2.1: Leveldaten über DATA-Zeilen einlesen
DIM AS STRING*1 felddata(20, 10) ' Daten des Spielfeldes
DIM AS STRING text ' eingelesene DATA-Zeilen
DIM AS INTEGER sx, sy ' Position der Spielfigur
DIM AS INTEGER ax, ay ' Position des Ausgangs
RESTORE level1
FOR zeile AS INTEGER = 0 TO 10
READ text
FOR spalte AS INTEGER = 0 TO 20
' einzelnes Zeichen extrahieren
felddata(spalte, zeile) = MID(text, spalte+1, 1)
IF felddata(spalte, zeile) = "S" THEN
' Startposition entdeckt; Feld wird angepasst
felddata(spalte, zeile) = " "
sx = spalte
sy = zeile
END IF
IF felddata(spalte, zeile) = "A" THEN
' Ausgang entdeckt; Feld wird angepasst
felddata(spalte, zeile) = " "
ax = spalte
ay = zeile
END IF
NEXT
NEXT
level1:
DATA "#####################"
DATA "#S # # # #"
DATA "### # ########### #"
DATA "# ### # # # #"
DATA "# # # # # ## # #"
DATA "# # # # # #"
DATA "# # ##### # # ######"
DATA "# # # # #"
DATA "###### ##### ########"
DATA "# # A"
DATA "#####################"
level2:
' DATA-Zeilen des zweiten Levels
' ...