見出し画像

ボードゲーム「ピクテル」とプログラミング(IchigoJam)の不思議な関係

ひさびさにボードゲーム系の記事。今回はアークライトより発売されている絵合わせ頭脳バトル的な作品「ピクテル」を紹介するとともに、これをウチの家族でより楽しく遊ぶためにちょっとしたプログラム(IchigoJam使用)を作ってみた話をしたいと思います。

ピクテルとは

画像1

このようなピクトグラムがデザインされた透明のカードを組み合わせ、お題に沿った図案を構成するゲームです。


<お題例1>通学中自転車に当たった(悲しかったこと)

自転車に当たった


<お題例2>卒業式(イベント)

卒業式


<お題例3>ET(映画・本)

画像20


おおまかなルール

このゲームは3人以上からプレイ可能。まずはお題を出す人「出題者」と、それに基づいて図案を組み立てる人「作成者」を決めてゲーム開始。残りのプレイヤーは出されたお題が何なのかを当てる「回答者」となります(3人でプレイするときは出題者が作成者も兼ねます)。

画像5

まずは出題者が12面ダイスを振っておおまかな「テーマ」(下図参照)を決定。それに基づくお題を考えて作成者に伝えたら、作成者がそれに基づいてピクトグラムを組み合わせていきます。

画像6

回答者は作っている最中でも「わかったー!!」と思ったらいつでも答えと思しきものを言って構いません。当たったら作成者・出題者・正解者にそれぞれ1点。誰も当てられない場合は出題者がサポートを行なっても良い(これで正解が出た場合は出題者に2点入ります)。

画像7

こうして役割を順に回しながらプレイしていき、最終的に一定の得点を達成したプレイヤーが勝ち(プレイ人数によって何点必要かが変わります。5人以上のときは5点、4人以下のときは6点となります)。

画像8

このゲームのミソは組み合わせるカードが透明ということ。どんな風に重ねてもOKなので、かなり自由に(あるいはムリヤリに)イメージを組み立てることが可能となっています。昔のTRPGに堪能な方なら「Millennium's End」(1991.米国)という作品のオーバーレイシートという概念を思い浮かべて思わずニヤリとすることでしょう(私くらいかそんな奴?)。

画像9

▲「Millennium's End」。銃でターゲットを狙う際に、どの目が出たらどこに命中するかを割り出すための透明なシートが付属していました。


ではここで問題です!

突然ですがここでこれをお読みの皆様にクイズです。

以下のピクテルはすべて我が久保田家(chitoseArk一家)でプレイした際に作成されたアニメ作品をあらわしています。どれが何のアニメか当ててみてください!全部当たった方には先着1名にて、何かお好きなテーマで記事をひとつ書きます!投稿はこのnoteまたは各種SNSのコメント欄にて。いや、これもし全部当たる方がいたら超能力者ですよマジで…。

ではいきます。


ダイ


トトロ


ヤッターマン悪


画像24


ハルヒ

あらためてこうして並べてみると混沌やな…。皆様は分かりましたでしょうか?なお3枚目のやつはもしかしたら複数シリーズ候補あるかもしれませんので、おおむね当たっていれば正解とします(大ヒント)。

さてそれでは記事の続きをどうぞどうぞ。


面白いんだけど難点が…!

ということで、家族で大いに盛り上がって遊べたのですが、難点はテーマのバリエーションが少なすぎること!12面ダイスで決められる範囲でしか選べないわけですから、そんなの3人家族で遊んでたらすぐにネタ尽きますって!それにですよ。例えば「漫画・アニメ・ゲーム」とかって一見バリエーション無限にありそうですが、家族みんなが知ってそうなやつってなると、そりゃ限られてくるってもんです。ウチの家族は全員それなりにアニメ好きですが、全員好みの方向性がバラバラですからね。自分がイチ推しの作品でお題作っても誰も回答できないし…。

ヤッターマン悪

とはいえこれ3,000円近くしましたからね。せめてそれなりに元を取るくらいは遊びたいもの。そこで一家の主である私は考えたのです。

家族内でテーマを公募するっ!!

例えばウチの娘が作ったこれ。

あのビル

「浅草のみんなが知っているあのビル」なのだそうで(俗称をここに書かなかった私を誰かほめてください)。これあえてテーマで言えば「建造物」や「観光地」に該当すると思いますが、あいにく初期ルールにそんなバリエーションは無し。

無いなら作ったらいいじゃないか!!
久保田家の総力をあげてみんな考えるんじゃー目標100個な!!

画像14

100個は無理でしたが、初期テーマ(1~12まで)と合わせて30個になりました。まぁ中には無理ゲーっぽいやつもあるような気もしますが…。

でもちょっと待てよ?このゲーム12面ダイスしか入ってないよ?これ遊ぶのに30面ダイス必要だけどどうすんの?つーかそんなダイス売ってるとこあるの?100面ならあるんだけどなー。

まったく次から次へと出てくるねぇ問題が。
だけどその程度じゃこのchitoseArkは止められないぜ!!


さぁさ、ここでプログラミングの登場です

取り出しましたるは毎度おなじみのIchigoJam。

画像22

これでサイコロくらいナンボでも作ったるわ。
あらよっと!!

5 CLS
10 X=RND(30)+1
20 LOCATE 15,10:PRINT X
30 IF BTN(32) THEN GOTO 60
40 LOCATE 15,10:PRINT"?? "
50 GOTO 10
60 I=INKEY():IF I<>10 GOTO 60
70 GOTO 10

画像22

「お前それプログラミングとか言っちゃう?」「詐欺記事だ金返せ」「そのサイコロは日本じゃ二番目だな(下から)」etc…。識者皆様からの罵詈雑言がここまで聞こえてくるようでございます。まぁーねー、確かに乱数分かる人なら誰でも作れますよねこれ。

でもでもー、単に乱数の結果を出力するだけじゃなくて、見せかけだけでもスロットの目押しっぽく作ったところはそれなりに評価してくれてもいいんじゃなぁい?私、IchigoJamの「INKEY」よく分からないなりに何とかしたんですよぉ?(まったくBASICはいいかげん文法を統一してほしい!)。

画像16

画面見ておおよそ想像つくと思いますが一応説明しときますと、このプログラムは実行すると1~RND文で指定した数字の範囲(今回の場合は30)で指定した座標(LOCATE文で指定)の場所に数字をランダムで出し続けるというものです。スペースキーを押すとそこで数字が止まり、それが「出た目」になるってワケ。数字はランダムかつ高速で変わるので目押しとかはできません(たぶん)。再スタートはENTERキー。

画像15

なおこの「スペースキー」や「ENTERキー」はどう設定してるのかというと、IchigoJamでは特殊キーコードというのがあり、ENTERキーなら「10」、カーソルキーなら左「28」/右「29」/上「30」/下「31」、スペースキーなら「32」といったような感じで押されたキーに対応した数字が決められています。その入力を「INKEY」や「BTN」という命令で読み取り、止めたり動かしたりしてるのです。

画像18

今回のプログラムでは高速で乱数生成と表示を繰り返す動作をスペースキーで止めるのに「BTN」、止めている処理を再開されるのに「INKEY」を使っています。このあたり私もよく分かっていなかったので、下記サイトを参考にさせていただきました。

ただ今回作ったこの万能サイコロプログラム、何でだかENTERキーとスペースキーを逆にしたり、どっちか一方のキーだけで運用できるように作ろうとするとうまくいかないんですよね…。
止める処理をENTERキーにすると押しても止まらないし、逆に再開処理をスペースキーにすると今度は一度止めたら回らなくなるし。まったくもって謎です。ホントはワンキーで完結した方がスマートなんですけど、まぁ遊べるからこれで良しとしています(ホントはまだ納得いってないけど)。


そんなこんなで、みんなもプログラミングしようYo!

まぁ何が言いたいかっていうと、こういうちょっとしたことがカンタンなプログラミングで解決しちゃうことって割とあるんじゃないかなってことなんですよ。

▲過去こんなのもやってます。こんときはPi-STARTERでやりました。

今回の課題は「ピクテル」というゲームでテーマのバリエーションを増やしたらそれに対応するサイコロがないっていうことでした。私はこういうとき瞬時に「あぁそんなん作ったらええやん」と思ってしまう方なのですが、これだってそもそも「プログラミングでそういうことができる」ってこと自体知らなかったらその発想にすら行き当らないわけで。

今回のこれは「乱数発生とその出力」と言うプログラミング初歩中の初歩がその基本となっています。これが分かるだけで100面ダイスはもちろん「素数のサイコロ」なんていうこの世になさそうなものまで作れちゃうわけなんです。そう考えるとすごくないですか?

まぁ私もド素人なのであまり人に偉そうに言えたもんじゃございませんが、ほん~のちょこっとでも知らないよりは知ってた方が、なんかのときに役立つんじゃないのかなと思いますよ。「芸は身をタスク」って昔からよく言いますしね!何かバグったこと言った気もしますがこの辺で…あ。

Syntax error

いいなと思ったら応援しよう!

この記事が参加している募集