トップ > HSP3 > テキストファイルを読み込んでマップデータを取得

テキストファイルを読み込んでマップデータを取得

sdim txtdata,5
dim mapdata,5

txtdata(0)= 1,0,1,0,1

repeat 5
	x=cnt
	
	mapdata(x)=txtdata(x)
	
	if mapdata(x)=0{
			color 0,0,255
				boxf x*16,0,x*16+16,16
		}
	
	if mapdata(x)=1{
			color 255
			boxf x*16,0,x*16+16,16
		}

loop



sdim txtdata,5,5
dim mapdata,5,5

txtdata(0,0)=  1,1,1,1,1
txtdata(0,1)=  1,0,1,0,1
txtdata(0,2)= 1,0,1,0,1
txtdata(0,3)= 1,0,1,0,1
txtdata(0,4)= 1,1,1,1,1

repeat 5
	y=cnt
	
		repeat 5
	 		x=cnt
	 		
			mapdata(x,y)=txtdata(x,y)
	
			if mapdata(x,y)=0{
				color 0,0,255
				boxf x*16,y*16,x*16+16,y*16+16
			}
			
			if mapdata(x,y)=1{
				color 255
				boxf x*16,y*16,x*16+16,y*16+16
			}
		loop
loop



map.txt
10101

sdim txtdata,5
dim mapdata,5
bload "map.txt",txtdata,5

repeat 5
	x=cnt
	
	S=strmid(txtdata,x,1)
	mapdata(x)=int(S)
	
	if mapdata(x)=0{
			color 0,0,255
				boxf x*16,0,x*16+16,16
		}
	
	if mapdata(x)=1{
			color 255
			boxf x*16,0,x*16+16,16
		}

loop



map.txt
11111
10001
10101
10001
11111

マップの大きさ5×5
1行5バイト+2バイト(改行文字)=7バイト
7バイト×5行=35バイト
sdim txtdata,35
dim mapdata,5,5
bload "map.txt",txtdata,35

repeat 5
	y=cnt
	
		repeat 5
	 		x=cnt
	
			S=strmid(txtdata,y*7+x,1)
			mapdata(x,y)=int(S)
	
			if mapdata(x,y)=0{
				color 0,0,255
				boxf x*16,y*16,x*16+16,y*16+16
			}
			
			if mapdata(x,y)=1{
				color 255
				boxf x*16,y*16,x*16+16,y*16+16
			}
		loop
loop