LoginSignup
0
0

More than 3 years have passed since last update.

FUZE BASICを触ってみる4(寄り道して環境整備編)

Last updated at Posted at 2019-08-24

今日やること

前回、画面描写がきちんとされない現象にぶつかりました。
フルスクリーンモードがきちんと動かないなどから環境の問題の可能性があるため、RaspberryでもFuzeBasicの環境を入れて同じコードを試したかったのですが、手元に新しいSDカードがなくて諦めました。

描写問題に真面目に対応するために Games Worksheet を進めても良かったのですが、ここで一旦寄り道して環境整備をすすめます。
そもそも前回プログラムが長くなりすぎて、FuzeBasicのエディタ(FuzeEditor)だと辛くなりつつあったんですよね。

なので、ホストのMac側でソースコードを編集して、Ubuntuで実行する流れにしてみます。
fuze basicの実行がコマンドラインからできればよかったのですが、できなさそう😭
👆FuzeEditorを介さずに実行できました👍🏻

  • Macでファイル編集して
  • FuzeBasicでソースファイルをロードして実行

のサイクルが可能か試してみました。

-> 今回の整備の結果、こうなりました

  • VSCでファイル編集
  • Ubuntu側でコマンドラインから直接実行

快適になりました🎉

アンカー

前の記事)FUZE BASICを触ってみる3(ゲームの入り口)

まずは、Vagrantのファイル共有について

と言ってもやることは簡単。vagrantfileを書き換えました。ホストの toybox/home/vagrant/Desktop/fuze-basic/toybox に割当ました。

image.png

VisualSourceCodeでソースを編集して、Ubuntuで実行してみる

よっしゃと思ったのもつかの間。VSCで開こうとすると「このファイルはバイナリかサポートされてないテキストエンコード…云々」。
え?と思ってMIMEタイプを調べてみるとなんと charset=binary

$ file --mime toybox/1.fuze
toybox/1.fuze: text/plain; charset=binary

たしかに強引に開くとファイルの最後になんかある。ソースコードの部分は読めているので文字とバイト列が混在しているからバイナリと判定したと思われます。

image.png

まぁでも思考停止して、まずは普通にVSCでコード書いて動かしてみて動かなかったら謎の4文字をバイナリで追記すればじゃん、と思ったのですが結論として実行自体は問題なかったです。

確認したところ、FuzeEditorで保存するときに追加されるみたいでした。

気持ち悪いのでエディタ使わないで直接実行する方法を探してみた

「fuze commandline execute」とかで検索してみてもぜんぜん見つからないんですよね…ということはできないのかな。エディタ使いたくないなぁ…思ってコマンドがちゃがちゃ試していたら…

vagrant@vagrant:~/Desktop/fuze-basic/toybox$ fuze --help
?
Usage: fuze [-f] [-d] [-H] [-m mode] [-x xSize] [-y ySize] [-z bpp] [-l] [-D] <filename>
vagrant@vagrant:~/Desktop/fuze-bas

--help って解釈できなかったんだな…って、おぉぉ?… filename がある ❗️❗️❗️

おもむろに実行すると…

おお、実行できた!そして、謎のバイト列もつかない!
今後はこれで開発することにします🤓

所感

  • コマンドラインから直接実行できるので、VSCでソース修正 -> Ubuntuで実行のサイクルが確立できた!
  • 気持ち悪いバイト列ともオサラバ🙋🏻‍♂️
  • -x, -y, -mode以外のオプションがなんなのか。調べたけど見つからない。キニシナイ!
  • VSCのシンタックスハイライトが欲しい。。。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0