見出し画像

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);
     }
   }

こんなふうにしてみました。

実行してみましょう。

画像1

おおぅ。6以下ばっかり。7や8はホントに少なくて見た感じ9は超レアですね。(これなら9食べたらボーナス点あげてもいいかも?w → というアイデアはメモしておいて、バージョンアップ時に実装するとかも楽しそう☆)

プレイしてみる

画像2

めっちゃ小回り効く! たのしい!!

どんどんやってみる

画像3

すごい! どんどん掘れる!!(歩く、というよりなんだか掘ってるイメージになってきたw)でもこの回はココで打ち止めかなー?

画像4

それでも今までにない高得点!!(∩´∀`)∩☆

これ、ネットにハイスコア送って記録とかできちゃってもいいですねw
という変更アイデアがどんどん出てきます☆

プレイしても楽しいし、プログラムしても楽しい! 良い感じです☆

※ほかにも、これ、間違いのないルートで全部食べられるはずという「詰めNUMBER TRON」とかもできそうですね☆ そういうモード作ってもいいかも?(( ..)φメモメモ)

たったこれだけの修正で、ぐぐっと「楽しさ」アップです!

2プレイヤーモード!

さらに、@MickyAlbert さんによると、このゲーム、2プレイヤーモードが「アツい」のだそうです。ι(´Д`υ)アツィー☆

なんでも、次の手の読み合いになって、先の先まで読む力が試されたり、マリオブラザーズのように協力プレイしたり逆に足を引っ張りあうようなことができる絶妙のおもしろさなのだとか!

これは、やってみないわけにはいきませんねぇ。

というわけで、がががと2プレイヤーモードを追加してみようと思います。

VisualStudio Codeで編集

今度は小手先の修正じゃなくてプログラム全体にかかわる修正になるので、ArduinoIDEのエディタじゃわかりにくい! というわけで VisualStudio Codeを引っ張り出して、そこにプログラムソースである inoファイルを突っ込んで見ます。

参考URL

そうすると

画像5

こんなふうに上手いことソースが色分けされて大変読みやすくなります☆

これだけでもインテリセンスさん(関数や変数の補完機能)が使えるので凄い楽!

さらに、VS Codeの右下のほうにある

画像6

<Select Board Type>というところをクリックして、

画像7

出てくる Arduino Board Configuration で Seeed Wio Terminal を選びます。

さらに、この時、ArduinoIDEが別窓で立ち上がっていて、Wio TerminalがUSBに刺さっていたら、あらふしぎ

画像8

ばっちり設定が読み込まれています!(∩´∀`)∩☆

この後、VS Codeの右上にある

画像9

このアイコンを押すと、ArduinoIDEのプログラム☑チェックと同じことができちゃいます。(すごい!)

さらに、その隣の

画像10

このアイコンは、そう、プログラムをボードへ転送してくれちゃう便利機能!!

さっそくやってみます。(その前にCOMポートを指定してね)

ポチっとこの Arduino Uploadアイコンを押すと

画像11

こんなかんじでちょっと文字化けしたログが始まり、


ずらーっと流れて (WARNINGは(゚ε゚)キニシナイ!!)

画像12

Done できました!!

画像13

無事コンパイルされて転送されてます。超便利です!!
これができたらもうArduinoIDEは要りませんネッ!(たぶん何かあったら使うと思うけどw)

そうしてうがががっと書き換えたのがこちらです

またプレイしてみる

1プレイヤーモード

画像14

2プレイヤーモード

画像15

うひょおお!! たのしいい!!☆

最初はTRONってゲームにあわせて2つの壁が伸びていくようにしようかとおもったのですが、次の手がどうなるか読み合いになるという@MickyAlbertさんのヒントから、一つの機体(X)を二人が交互にコントロールしているイメージにしてみました。

もしかしたら根本的に違うゲームになっちゃっているかもしれませんがw
これはこれで面白いので良いんじゃないかなとおもいます☆

さ・ら・に!

Wio Terminalには画面の上側に3つのボタンがあります。今回、左端のボタンCをプレイヤー数のセレクトモードにしました。

画像16

↑左ボタンを押すとプレイヤーモードが変更になる。

あと2つボタンあるじゃんw

ってことで、真ん中のBボタンを、マップの数字を9まで確率を減らさずに出すモード(HARD MODE)変更ボタンにしました。

画像17

これを押すと、

画像18

こんなかんじで9まででてくるようにしました。(わかります?)

さらにさらに!!

ボタン3つめ。じつはやりたかったスーパーモード!!

画像19

3つめボタンを押すと……

どん!

画像20

ぐっちゃああw → イメージ的にはこんな感じw

ちょー細かい、8x8ドットのフォント描画モード!! もちろん9までのハードモードと同居もOK!! (画面の上にタイトルとハイスコアを出しておくとマップ内の数字が隠れちゃうので、タイトルは消して、ハイスコアは下にもってきました)

画像21

目がちかちかするぅ!!!w

めっちゃ目に悪そうですww

もしかしてオリジナル版より細かいんじゃないですかこれって?w

いちおう、目に優しいとされている緑色を主体にしてはいるのですが、、これはちょっと人間工学的によろしくないですねぇw

まあ、超やり込みたい人向けのモードってことでw

仕上げ

せっかくなので、オリジナルの画面の最初についていたようなタイトル画面をつくりましょう。

画像22

こんなかんじかな?

(英文はてきとーですw)

上の2つの黒いのはボタンの位置に合わせてあります。タイトル画面の時や、ゲームオーバー後にそれぞれのボタンを押すと、設定を変えることができます。

最後に

ぷはー。つかれたー☆

やってるうちに色々と壁にぶつかったり、飽きかけたり(おい)して時間かかっちゃいましたが、けっこういい感じにできたんじゃないかな? って自画自賛ですw

Wio Terminalなんていうワタシの他に持ってる人しらないような機械で動いてもしょうがない気もしないでもないですがw

一人で面白いヨーっていっててもねぇw

ともあれ、こういうのを一回作ってみると、この機械のできることできないこと、得意なこと不得意なことが良くわかるので、次以降の「何か」を作る時にこの経験が役に立つような気がしますw

とゆーわけで、勝手に自分の経験値稼ぎに突っ走っちゃった感のある自分向け連載でした。こんな製作記が皆さんの転ばぬ先の杖になったり何かの足しになると良いのだけれど、どうかなあ?w

最後の最後に、プログラムソースと今までの苦闘の歴史を記したGitHubのリポジトリを置いておきます。

Wio Terminalの初期設定をして、Arduino IDEにコレを読み込ませたら、とってもおもしろい(自画自賛)ゲームが楽しめますよん♪

ってことで☆

最後の最後の最後に、面白ゲームを紹介してくださった @MickyAlbert さん、そもそものオリジナルを作ってくださった JoachimFroholt さん、とってもありがとうございました。

―――

さらにつづいちゃったりして



#WioTerminal #ゲーム制作 #レトロゲーム #作ってみた #らせん工房



よろしければサポートお願いします!いただいたサポートはクリエイターとしての活動費にさせていただきます!感謝!,,Ծ‸Ծ,,