meow_noisy’s diary

publish, or perish

数当てゲーム『hit and blow』の16進数5桁版は手間が増えて面倒なだけだった

f:id:meow_noisy:20210813105703j:plain

hit and blowを難しくしたバージョンのアプリを自分で作って遊んだという趣旨の記事です。

作ったものは下記のリンクで遊べます。

https://meow-noisy.github.io/hit_and_blow_hex/

hit and blowとは

hit and blowは数当てゲームの一種です。Wikipediaだと『マスターマインド』という名前で記事になっています。

hit and blowのオーソドクスなルールは下記の通りです。

  1. ゲームマスターは最初に当ててほしい4桁の数字を思い浮かべる。ただし各桁の数字はそれぞれ異なる。
  2. プレイヤーは4桁の数字を予想して答える。もちろん、各桁の数字はそれぞれ異なるものとする。
  3. ゲームマスターはhit数とblow数をプレイヤーに伝える
    1. hit数は、正解と予想で、桁が一致した数字がいくつあるかを意味する。例えば正解が1234で予測が0231の場合は、2と3の2つが桁が一致しているのでhit数は2である。
    2. blow数は、予想した数が正解に含まれる数を意味する。例えば正解が1234で予測が0231の場合は、2,3,1の3つが正解に含まれているのでblow数は3である。
  4. hit数が4(もちろんblow数も4)になったらゲームセット。それ以外は手順2へ戻る。

私は、このゲームを『シルバー事件』の中で知ったのですが、少ない手数で正解範囲を絞っていくのが面白く、大ハマリしました。

hit and blowのアプリは世の中にたくさんありますが、大抵は0から9までの10つの中から(10進数)で、桁数は3か4桁でした。

それだと物足りなくなったので、やりごたえを求めて、数は0からFまでの16つの中から(16進数)で、桁数は5桁にしたバージョンのhit and blowを自分で開発してみました。

遊んでみた感想

10進4桁との比較です。自分で作っておきながら言うのもひどい話ですが、遊んでいてストレスがたまるだけでした。

  • 手順が増えただけで面倒
    • 解き方は10進4桁と一緒であり、桁数や底(進数の数)を増やしたからと言って何か別の面白さが発生するわけではありませんでした。
      • 例えば、どの数字が含まれているかの切り分けを行う作業です。10進4桁だと初手0~3区間、4~7区間、、、でそれぞれhitを探ります。16進5桁も0~4区間、5~9区間、A~E区間でhitを探ります。この構造は全く一緒であり、大して面白さは増えませんでした。
  • 解いていてサクサクさを感じられない
    • 10進数4桁だと5〜8回くらいで解にたどり着けるところが、16進数5桁版だと10〜14回程度必要になります。
  • hitの桁を覚えているのが面倒
    • 5桁なので、解いている最中にどの桁にhitが含まれているかを頭で暗記することができなくなりました。
    • しょうがないのでアプリではメモ欄を設けました

おわりに

hit and blowを難しくして遊んでみました。遊んでみて16進数5桁のhit and blowが巷に無い理由がなんとなくわかった気がします。当たり前のことですが面倒さが増えるだけの難しさは面白くないですね。

もともとの動機がJavaScriptの練習だったので、面白いかどうかは後回しでモノができればOK程度に思っていましたが、いざプレイしてみると、もう少し面白くできないかという欲がでてきました。今回の開発はこれで完成としますが、やはり何らかの形で改良したいですね。

この記事を読んでいただきありがとうございました。いらっしゃるかはわかりませんが16進数5桁のhit and blowを遊んでみたいと思われた方のためにリンクを再掲します。

16進数5桁のhit and blow ページ

姉妹記事

今回のゲームづくりの開発は1から勉強したのでかなり時間がかかりました。その開発過程を記した記事を別に書きました。興味があればご覧いただけると幸いです。

meow-memow.hatenablog.com

ムヒソフトを塗っても指のかゆみが治まらなかったので皮膚科に行った

f:id:meow_noisy:20201019171153p:plain

最近夜になると左手の親指がやたらと痒く、指紋が消えるくらいに掻いていた。
ムヒを塗っても全く効かなかったし、左手人差し指も同様の症状が出て悪化してきたので、皮膚科の先生に診てもらった。

診断結果としては汗疱(かんぽう)という症状とのこと。指の汗で炎症を起こしているみたいなことを仰っていた。

薬としては、クロベタゾールプロピオン酸エステルクリーム0.05%「MYK」というクリーム(軟膏に近い)を処方された。 これを1日に4回塗っていたら、かゆみが納まった。

よかったよかった。

タッチレスデバイス『フィンガープラス』は私の生活では使う場面がそれほどなかった

f:id:meow_noisy:20200913194829j:plain

コロナ禍の中、公共物のボタンを押下するのは感染リスクがあるので抵抗を感じます。
私はその場合、人指指を曲げて第2関節の背で押して、その後指をアルコール消毒するようにしています。
ある日、『フィンガープラス』というデバイス瀬戸弘司さんの動画で知り、注文しました。

商品リンク
決済はamazonアカウントでできて便利でした。

この記事は、1週間ほど使った感想です。

フィンガープラスに関して

指の直接の接触を防ぐ用途のツールです。使い方はボタンなどを押す時にフィンガープラスで代わりに押すというシンプルなものです。
指の代わりに別の物で押すというアイディアは誰でも思いつくかもしれませんが、フィンガープラスは指の代わりに物を押すことに特化した設計がなされています。
3点あげると、

  • 透明なので押す位置が視覚的にわかりやすい。
  • アクリル素材で角が丸いので鍵でものを押した時のように引っかき傷をつけてしまう恐れが少ない。
  • アルコールで消毒時ひびが入りにくい

ということです。

商品を開封すると、フィンガープラス本体とそれを通す丈夫そうな紐がついていました。
紐はストラップ状にはなっていないので、アクセサリーとして取り付ける場合は紐を自分で結ってつける必要があります。

一週間使った感想

  • 大きさ
    • 想定と同じくらいの大きさでした
    • USBメモリーよりも1cm大きいようなイメージです
  • 私の所持の仕方:
    • 鍵のアクセサリー代わりにしました。
    • 鍵を親指と人差し指でもち、残りの指でフィンガープラスを握るような形です。ちょうどよいグリップ代わりになっています。
  • 使い勝手の感想
    • ポケットから取り出す必要があり、面倒でした。特に夏服のときはスラックスのポケットには財布とスマホを左右に入れているので、鍵をまさぐって取り出すのが厄介です。
    • ものを押すことが分かっている場面では予めポケットから出しておけるのですが、土壇場で取り出すには面倒で、指の背で押してしまうことが多々ありました。
      • また、両手が自由でない時(例えば駐車場の一時利用券のボタンを押す時)などで即座に取り出そうとすると、ポケットから他のものがこぼれそうになり、利用を控える場面もありました。
    • アクリルなので、静電式タッチパネルにも非対応です。電子パネルが感圧式なのか静電式なのかパッと見でわかるわけではないので、やはり指の背で押しがちでした。

総評

キーアクセサリーとして持っておくと、使う場面が少ない印象でした。
さっと出してさっと使うための工夫や、そもそもの意識改革が必要そうです。

macbookのUSキーデビューに失敗した

背景

個人開発にmacbookを使っているが、作業上、メモリ8GBじゃスワップが入りまくって作業にならないので、買い換えることにした。
16GBのメモリを詰んだmacbookとなるとBTOになるが、macbook自体もうapple公式オンラインショップは扱っていない。公式が扱っているもので現行で一番軽いのはmacbook airだが、macbookと比べて質量が370g重くなる。これは結構きつい。
ということで、カスタマイズ品を中古で探すことにした。別に中古でも動けばいい。

所望のスペックのmacbookは簡単に見つかったが、問題はそれがUSキーだったことだ。USキーを過去に実際に使ったことはない。
とはいえ、「エンジニアたるものUSキーの方が慣れれば作業捗るんじゃないの?」という考えが頭によぎり、デビューすることにした。

・・・しかし、2週間さわっても、一向にUSキーに慣れない。というのは、USキーには「英数」「かな」キーがなかったためだ。切替はctrl + spaceということになる。日本語と英語を織り交ぜながら文章を作りたい時に不便だった。あと、英数モードにしようとしたらすでに英数モードだったときに日本語モードになってしまい二度手間になるのも地味にストレスだった。あと、私はPythonで主に開発しているので、コロンを多用する。USキーボードはコロンはshift + セミコロンで入力するので一々shiftを押さなければならずこれも面倒だった。

行う作業を日本語キーmacbookとUSキーmacbookで分けることも考えたが、持ち運びで作業することを考えると現実的ではない。したがって、ソフトウェアで論理的にキーを入れ替えて、なるべく日本語キー配列に寄せることにした。

『Karabiner-Elements』によるキー入れ替え

調べると、キー入れ替えには『Karabiner-Elements』という、キーカスタマイズツールが便利らしい。 google"macbook USキー carabiner"で検索すると、『Karabiner-Elements』で「英数」「かな」キーを割り当てる方法が数多く出てくる。記事をいろいろ参考にして以下のように『Karabiner-Elements』の設定をしてキーを割り当てた。

Simple modifications 欄

ここでは、スペースの左右についているcommandキーの挙動を「英数」「かな」に入れ替えた。あと、自分の好みでfunction、optionなどを割り当てている。

f:id:meow_noisy:20200607162939p:plain

Complex modifications 欄

ここでは、2件のキー入れ替えを行っている。①セミコロンとコロンを入れ替える、②capslockの挙動をcontrolキーの挙動に入れ替える

f:id:meow_noisy:20200607163006p:plain

セミコロン、コロン入れ替えの方法は下記記事を参考にした(ありがとうございます)。

キー交換後の所感

完全な日本語キー配列互換ではないものの、入れ替えるべきところは入れ替えられて、文章作成とコーディングがスムーズに行えて満足である。あとはキーシールみたいなのを上に貼ればなお良さそう。

『Helltaker』を自力で解きたい方向けのごくごくわずかなヒント(VI, VII, IX)

2020年5月11日にリリースされたパズルx恋愛SLG『Helltaker』をクリアしました。出てくるキャラクターはどの娘もかわいいですね。

https://store.steampowered.com/app/1289310/Helltaker/

システムでパズルをスキップできるので、解かなくてもパズルクリア後の会話パートへ進めますが、どうせなら、自力でパズルを解きたいですよね。しかし、考えてもなかなか思いつかないことがあるのも事実です。
ありがたいことに、ゲーム側でヒントも用意されていますが、一部の問題は実質ノーヒントなものもあります。
そこで、私が自力で解いてみて難しかった問題(VI, VII, IX)において、解く楽しみを損なわない程度にヒントを残しておきます。

  • VI
    • 序盤、あえて意識的に詰んだ盤面を作ってみると、ひらめきやすい。
  • VII
    • 会話で得られるヒントを参考にしても手数が若干足りない場合は、効率化できるステップが存在する。
  • IX
    • 鍵を開ける直前で手数が尽きるならば、方針は合っている。

"電車通勤 × iPad × Colaboratory"という勉強体制の構築に失敗した

f:id:meow_noisy:20200322140509p:plain

電車でも機械学習pythonのお勉強をしようと思って、ラップトップPCの代わりにiPadでColaboratory(Colab)ができないか試みた。
事実、iPadでもColabは使える。PC同様GPU計算は使えるし、変数の補完とかも行ってくれる。
しかし、以下の問題があり、作業が思うように捗らなかったからやめた。
下記、あがいた時のメモ。

私のiPadのスペック、備品

  • iPad Pro(2018年) 64GB
  • ケース(兼スタンド)
    • 非公式の↓こんなやつ

電車内 × iPad × Colaboratoryを実行していて分かった問題

仮想キーの問題

  • タイプミスをしやすい
    • 私だけかもしれないが、物理キーボードよりも、打ち間違えが生じやすかった。
  • notebookセルがほとんど見えない
    • 仮想キーが画面の半分を閉めるので、見にくい。
  • 矢印キーがないので、カーソルをタッチで指定しないといけないが、移動位置がミスりやすい

仮想キーを使っていて非常にストレスだったので、物理キーボードを購入した。

電車内固有の問題

  • iPadを立てられない
    • 私のiPadケースはスタンドにもなるが、直立させると電車が揺れた時に倒れる。したがって、スタンドをやめて膝に置く。
  • (やっぱり)iPadの画面がキーボードで隠れる。
    • スタンドで立たないので、iPadの上に物理キーボードを上にかぶせるような感じになった。
    • この時点で画面が半分になるのは仮想キーボードと変わらないが、キーボードを一時的にずらして確認できる点で、物理の方がマシだった。
    • apple純正のMagic KeyboardならばiPadを直立できるかもしれない。
      • やりたいことに対して、31,800+税もかけたくなかったのと、iPad自体がキーボードの分厚くなるのが嫌だったので検討から外した。
  • 腕をハの字にしてキーボードが打てない
    • 左右にも乗客がいるので、腕がぶつからないように、肘を腹につけるような構えになる。そうすると、指のホームポジションが"6","7"キーのところまでくるので、下側のキーを親指や人差し指の爪で打つことになって打ちづらい。
    • あと、一般的な物理キーボードだと、矢印キーが右下にあるので打ちづらい。
      • そのため、apple純正のキーボード↓をメルカリで3,000円くらいで購入した。これによって、controlでカーソル操作ができるようになり、比較的楽になった1

Apple Magic Keyboard - 日本語(JIS)

Apple Magic Keyboard - 日本語(JIS)

  • 発売日: 2015/10/14
  • メディア: Personal Computers

  • 物理キーボードが滑る
    • 画面にキーボードを載せている以上、しょうがないが、傷のつきにくいフィルムを貼っているために、ゴム足も滑る。
    • 電車が揺れる度にキーボードの位置を手で補正するはめになる

iOSとColaboratoryの連携の問題

  • googleドライブアプリから、Colabを開けない
    • ipynbファイル自体は認識できるが、ファイル名をタッチすると、実行できる形式が存在しないメッセージが出る。
      • PCだったら、colabで開くみたいなやつがあるのだが、iPadだと出ない。
    • 解決策として、https://colab.research.google.com/notebooks/をブラウザで開くと、iPadでも開ける。
      • ただし、自分でアップロードしたipynbはColabのメタ情報を持っていないせいか、ファイル一覧に出ない。表示させるには一回PC経由でファイルをColabで開いてセーブする必要がある。これが面倒くさい。
  • コピペができない
    • command + C が効かない
    • というよりも、commandボタンを押すと、キーボード自体が効かなくなる。

おわりに

使いづらい点はあったものの、それでもiPad x Colabは魅力的だったのであがいた。しかし、最後のコピペ不可が決定打となって、電車内外問わず、iPadでColabやるのはやめようと判断した。
まぁ、Colabなんて普通PCでやるよね。ColabしたいけどiPadを使わざるを得ないシチュエーションなんてほぼ考えられないよね2。需要がない以上、メンテも期待できなそう。
Colabは座れた時にPCでやってるけど、iPad自体も、座れなかった時にpdf(論文とかweb記事をスクラップしたもの)読んでペンでメモできたりして勉強が捗るので、PCと合わせて持って通勤している。


  1. 他の方のiPad x Colabの記事では、物理キーの矢印キーでのカーソル操作ができないというものも見かけたが、私の方では物理キーボードの矢印キーでカーソル操作できた。

  2. 知り合いの話だけど、自分のPCは社内で開くの不可だけどタブレットはOKな会社があるみたいなんで需要はある

朝起きると必ず皮膚に破線状のかさぶたができていたのでとった6つの対策

去年の初旬から朝目覚めると、ミシン目のような、かさぶたが腕や膝にできるようになった。とくにかゆみはなかった。 多分、ダニだと思って対策してみたが、問題の収束にはてこずった。
収束までに色々やったので、その過程をメモしておく。

対策

その1 敷布団クリーニング+防ダニ加工する

だいたい、噛まれているのが、地面に面していることが多かったので、敷布団を疑った。 私の敷布団は、折りたたむには硬く、コインランドリーに入りはしなかったので、宅配(ふとんリネットさん)でやってもらうことにした。有料オプションで防ダニ加工もしてもらえるので、これもお願いした。
ただし、クリーニング後もかさぶたは(前よりもできる間隔は長くなった気がするが)できていた。

その2 掛け布団のクリーニング

冬用に替えるタイミングで、掛け布団をコインランドリーでクリーニングした1。それでも、かさぶたはできた。

その3 ダニ捕りパックを仕掛ける

敷布団のカバー内に仕込むやつ。効果はわからなかった。

その4 布団にダニよけスプレーを散布

効果はなかった。ここまでくるとダニのせいではない気がしてきた。ちなみに↑の商品の香りは爽やかでかなり良い。

その5 室内殺虫剤を焚く

ここら辺からやけくそになった。部屋の中にいる虫を駆除するために取った。布団にも薬剤がかかるようにしたが、結果は効果がなかった。

その6 インナー(上・下)を裏返して洗濯

なにかのきっかけでインナー(というかヒートテック)の裾がめくれていて、その裏側に角質のような白い粉がびっしり着いていることが分かった。おそらく乾燥肌のために着いたものだと思うが、裏返して洗うとこれが効果があった。洗ったインナーを着たその日から、かさぶたができる現象はぴたっと止んだ。
問題は収まったので良かったのだが、根本要因がわからない気持ち悪さは残る。それまでもインナーは洗っていたわけで、ダニが死なずにずっとひっついていたとは考えにくい。

所感

自分でいろいろ対策したが、はじめに皮膚科行った方が早く解決したかもしれない。


  1. もちろん、冬用布団を仕舞う前にもクリーニングはしていた。念には念を入れた形。