Wio Terminalでゲームを作ってみる勝手企画⑤ VS Code でWioするよ!
ゲームは面白くなくっちゃね!
とゆーことで、「面白さ」追及編です。また例によってめちゃくちゃやってますw
↑この記事のつづきでーす☆
難易度調整
以前、バグで”9”が実は出ていなかった。って件がありまして、それはもう
直したのですが、画面が小さいと8とか9を食べると移動距離が大きいもので一気に端っこまですすんでしまってにっちもさっちもいかなくなります。
( ゚д゚)ハッ! そういえば「にっちもさっちも」って、漢字で書くと『二進も三進も』なのですね。近くに2や3が無くてどうにも進めなくなる、このゲームのための用語みたい!! 日本語ってスゴイ!(ちょっと違う?(本当はそろばんの用語)でも勉強になるなあw)
閑話休題。
じつは↑でこのゲームを紹介してくださった @MickyAlbert さんからこっそり教えてもらった方法があります。6以上の数字の出る確率を5以下より下げると、小さい画面でもいい感じになるよ! とのこと。早速作ってみます。
これは簡単、6以上が出たらもう一度ランダムを通して別の数字を割り当て、それがまた7以上ならもう一度、それが8以上なら……と、9までランダムサイコロを振りなおす仕組みにしてみます。これなら、9が出る確率はかなり低くなるはずです。
// 数字マップ作成
for (int y = 1; y < PLAY_FIELD_HEIGHT; y += 1) {
for (int x = 1; x < PLAY_FIELD_WIDTH; x += 1) {
int n = random(1, 10);
if(n>5){
n = random(1, 10);
if(n>6){
n = random(1, 10);
if(n>7){
n = random(1, 10);
if(n>8){
n = random(1, 10);
}
}
}
}
STAGE[x][y]=n; // 画面の数字情報を配列に入れておく
tft.drawChar( x*TEXT_WIDTH, y*TEXT_HEIGHT,STAGE[x][y]+48,ILI9341_GREEN-STAGE[x][y]*4, ILI9341_BLACK, 2);
}
}
こんなふうにしてみました。
実行してみましょう。
おおぅ。6以下ばっかり。7や8はホントに少なくて見た感じ9は超レアですね。(これなら9食べたらボーナス点あげてもいいかも?w → というアイデアはメモしておいて、バージョンアップ時に実装するとかも楽しそう☆)
プレイしてみる
めっちゃ小回り効く! たのしい!!
どんどんやってみる
すごい! どんどん掘れる!!(歩く、というよりなんだか掘ってるイメージになってきたw)でもこの回はココで打ち止めかなー?
それでも今までにない高得点!!(∩´∀`)∩☆
これ、ネットにハイスコア送って記録とかできちゃってもいいですねw
という変更アイデアがどんどん出てきます☆
プレイしても楽しいし、プログラムしても楽しい! 良い感じです☆
※ほかにも、これ、間違いのないルートで全部食べられるはずという「詰めNUMBER TRON」とかもできそうですね☆ そういうモード作ってもいいかも?(( ..)φメモメモ)
たったこれだけの修正で、ぐぐっと「楽しさ」アップです!
2プレイヤーモード!
さらに、@MickyAlbert さんによると、このゲーム、2プレイヤーモードが「アツい」のだそうです。ι(´Д`υ)アツィー☆
なんでも、次の手の読み合いになって、先の先まで読む力が試されたり、マリオブラザーズのように協力プレイしたり逆に足を引っ張りあうようなことができる絶妙のおもしろさなのだとか!
これは、やってみないわけにはいきませんねぇ。
というわけで、がががと2プレイヤーモードを追加してみようと思います。
VisualStudio Codeで編集
今度は小手先の修正じゃなくてプログラム全体にかかわる修正になるので、ArduinoIDEのエディタじゃわかりにくい! というわけで VisualStudio Codeを引っ張り出して、そこにプログラムソースである inoファイルを突っ込んで見ます。
参考URL
そうすると
こんなふうに上手いことソースが色分けされて大変読みやすくなります☆
これだけでもインテリセンスさん(関数や変数の補完機能)が使えるので凄い楽!
さらに、VS Codeの右下のほうにある
<Select Board Type>というところをクリックして、
出てくる Arduino Board Configuration で Seeed Wio Terminal を選びます。
さらに、この時、ArduinoIDEが別窓で立ち上がっていて、Wio TerminalがUSBに刺さっていたら、あらふしぎ
ばっちり設定が読み込まれています!(∩´∀`)∩☆
この後、VS Codeの右上にある
このアイコンを押すと、ArduinoIDEのプログラム☑チェックと同じことができちゃいます。(すごい!)
さらに、その隣の
このアイコンは、そう、プログラムをボードへ転送してくれちゃう便利機能!!
さっそくやってみます。(その前にCOMポートを指定してね)
ポチっとこの Arduino Uploadアイコンを押すと
こんなかんじでちょっと文字化けしたログが始まり、
:
ずらーっと流れて (WARNINGは(゚ε゚)キニシナイ!!)
:
Done できました!!
無事コンパイルされて転送されてます。超便利です!!
これができたらもうArduinoIDEは要りませんネッ!(たぶん何かあったら使うと思うけどw)
そうしてうがががっと書き換えたのがこちらです
またプレイしてみる
1プレイヤーモード
2プレイヤーモード
うひょおお!! たのしいい!!☆
最初はTRONってゲームにあわせて2つの壁が伸びていくようにしようかとおもったのですが、次の手がどうなるか読み合いになるという@MickyAlbertさんのヒントから、一つの機体(X)を二人が交互にコントロールしているイメージにしてみました。
もしかしたら根本的に違うゲームになっちゃっているかもしれませんがw
これはこれで面白いので良いんじゃないかなとおもいます☆
さ・ら・に!
Wio Terminalには画面の上側に3つのボタンがあります。今回、左端のボタンCをプレイヤー数のセレクトモードにしました。
↑左ボタンを押すとプレイヤーモードが変更になる。
あと2つボタンあるじゃんw
ってことで、真ん中のBボタンを、マップの数字を9まで確率を減らさずに出すモード(HARD MODE)変更ボタンにしました。
これを押すと、
こんなかんじで9まででてくるようにしました。(わかります?)
さらにさらに!!
ボタン3つめ。じつはやりたかったスーパーモード!!
3つめボタンを押すと……
どん!
ぐっちゃああw → イメージ的にはこんな感じw
ちょー細かい、8x8ドットのフォント描画モード!! もちろん9までのハードモードと同居もOK!! (画面の上にタイトルとハイスコアを出しておくとマップ内の数字が隠れちゃうので、タイトルは消して、ハイスコアは下にもってきました)
目がちかちかするぅ!!!w
めっちゃ目に悪そうですww
もしかしてオリジナル版より細かいんじゃないですかこれって?w
いちおう、目に優しいとされている緑色を主体にしてはいるのですが、、これはちょっと人間工学的によろしくないですねぇw
まあ、超やり込みたい人向けのモードってことでw
仕上げ
せっかくなので、オリジナルの画面の最初についていたようなタイトル画面をつくりましょう。
こんなかんじかな?
(英文はてきとーですw)
上の2つの黒いのはボタンの位置に合わせてあります。タイトル画面の時や、ゲームオーバー後にそれぞれのボタンを押すと、設定を変えることができます。
最後に
ぷはー。つかれたー☆
やってるうちに色々と壁にぶつかったり、飽きかけたり(おい)して時間かかっちゃいましたが、けっこういい感じにできたんじゃないかな? って自画自賛ですw
Wio Terminalなんていうワタシの他に持ってる人しらないような機械で動いてもしょうがない気もしないでもないですがw
一人で面白いヨーっていっててもねぇw
ともあれ、こういうのを一回作ってみると、この機械のできることできないこと、得意なこと不得意なことが良くわかるので、次以降の「何か」を作る時にこの経験が役に立つような気がしますw
とゆーわけで、勝手に自分の経験値稼ぎに突っ走っちゃった感のある自分向け連載でした。こんな製作記が皆さんの転ばぬ先の杖になったり何かの足しになると良いのだけれど、どうかなあ?w
最後の最後に、プログラムソースと今までの苦闘の歴史を記したGitHubのリポジトリを置いておきます。
Wio Terminalの初期設定をして、Arduino IDEにコレを読み込ませたら、とってもおもしろい(自画自賛)ゲームが楽しめますよん♪
ってことで☆
最後の最後の最後に、面白ゲームを紹介してくださった @MickyAlbert さん、そもそものオリジナルを作ってくださった JoachimFroholt さん、とってもありがとうございました。
―――
さらにつづいちゃったりして
#WioTerminal #ゲーム制作 #レトロゲーム #作ってみた #らせん工房
よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,