# maze 2D迷路ゲーム スタート(S)からゴール(G)までの移動数最小を目指す感じ スタート時点では迷路自体は隠された状態で移動するたびに周囲が明らかになる (ゲームとして成立してないかも?) | BASICソース | 変換後CASL2 | 概要 | |:----------------|:------------|:---------------------------------------| | program.bas | MAIN.cas | メイン部 | | mod_init.bas | INIT.cas | 初期化と乱数種の取得 | | mod_rand.bas | RAND.cas | 乱数生成 | | mod_make.bas | MAKE.cas | 迷路作成 | | mod_dfsfill.bas | DFSFILL.cas | 迷路をループのない木構造に変換する | | mod_dfsfar.bas | DFSFAR.cas | 指定位置から迷路内で最も遠い位置を探す | | mod_cmd.bas | CMD.cas | コマンドの受け取り | | mod_lower.bas | LOWER.cas | 文字列内の英字を小文字に変換する | 変換 ``` cargo run -- -src program.bas cargo run -- -src mod_init.bas cargo run -- -src mod_rand.bas cargo run -- -src mod_make.bas cargo run -- -src mod_dfsfill.bas cargo run -- -src mod_dfsfar.bas cargo run -- -src mod_cmd.bas cargo run -- -src mod_lower.bas ``` 実行 - MAIN.casをプログラムのスタートとして実行する 実行例 ``` Seed? (1 - 999) ? 345 0 steps ############### #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*****###*****# #***** @#*****# #*****###*****# #*************# ############### command? (up,right,down,left,end) ? left 1 steps ############### #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #****####*****# #**** @S#*****# #**** ###*****# #*************# ############### command? (up,right,down,left,end) ? left 2 steps ############### #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #***#####*****# #*** @ S#*****# #***# ###*****# #*************# ############### command? (up,right,down,left,end) ? down 3 steps ############### #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #***#####*****# #*** S#*****# #***#@###*****# #***# #*******# ############### command? (up,right,down,left,end) ? up 4 steps ############### #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #*************# #***#####*****# #*** @ S#*****# #***# ###*****# #***# #*******# ############### command? (up,right,down,left,end) ? end ```