SSブログ
English Version

PIC24FJ64GAでGAME言語(その5) [PIC]

 マイコン上で動作するベーシック言語環境として IchigoJam がありますが、数十行のソースが色々公開されていて見ていて楽しいですね。
 目指す方向はかなり違いますがPIC24FJ64GA用GAME言語の動作確認の意味も込めて迷路生成プログラムを作ってみました。
 PIC24FJ用GAME言語ではシリアル接続での表示なので制御コードでカーソル移動や表示色制御を行っています。

 迷路生成と探索を行う画面表示のサンプルを YouTube にアップしましたのでご覧くださいませ。


https://youtu.be/n53Iz6BRqWE


 ソース自体は60数行程度の小規模なものです。

 迷路生成&探索(GAME言語)
1' meiro(boutaoshi method) 2015/09/27 by skyriver
2 S=60 T=36 #=100
8' move cursor
9 Y=P/S X=%(0)
10 $=$1B "[" ?=Y+1 ";" ?=X+1 "H" ]
18' set wall
19 Y=P/S X=%(0)
20 B:Y*S+X)=8 ]
29' wait
30 ¥=8 @ @=(¥=0) ]
100 D=& B=D+8
102 D(0)=1 D(1)=S D(2)=-1 D(3)=-S U=S*T-1
110 @
119' create maze
120  I=S*T @ I=I-1 B:I)=0 @=(I=0)
130  Y=0,T
140   X=0 !=20
150  @=Y+1
160  X=0,S
170   Y=0 !=20 Y=T !=20
180  @=X+1
190  G=2,T-2
200   F=2,S-2
210    X=F Y=G !=20 P=S*G+F
220    @ R=P+D('(4-(G>2))) @=(B:R)=0)
230    P=R !=19
240   @=F+2
250  @=G+2
259' display maze
260  $=$1B "[2J" X=0 Y=0 !=10 $=$1B "[36m"
270  Y=0,T
280   X=0,S
290    Z=" " ;=B:Y*S+X) Z="#"
300    $=Z
310   @=X+1
320   /
330  @=Y+1
340  $=$1B "[m"
350  X=S-1 Y=T-1 !=10 $="@"
360  ¥=100 @ @=(¥=0)
369' explore
370  P=S+1 Z=0
380  @
390   !=9 "+" $=8 Z=(Z-2)&3
400   @ ""
410    Z=(Z+1)&3 R=P+D(Z)
420   @=(B:R)<8)
430   P=R B:P)=B:P)+1
440   !=30
450  @=(P=U)
459' best route
460  $=$1B "[43m" P=S+1
470  @
480   !=9 "+" $=8
490   N=0 E=8
500   Z=0,3
510    W=B:P+D(Z))
520    ;=(W>0)&(W<E) E=W N=Z
530   @=Z+1
540   B:P)=7 P=P+D(N)
550   !=30
560  @=(P=U)
570  $=$1B "[m"
580 @=(0)


[TOP] [ 前へ ] 連載記事 [ 次へ ]
nice!(0)  コメント(0)  トラックバック(3) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 3