2014年5月9日金曜日

パソコンでレゴをする

最近はけっこううちの子もレゴで何かを自作するようになってきました。

で、レゴで一緒に遊ぶことも多いです。

そんな中、レゴの情報をネットで探してて見つけたのがこれ。

LEGO DIGITAL DESIGNER


ダウンロードして、普通にインストールして起動すると、PCの中でレゴを組み立てられるというお手軽さ。

あんまり使い方とかよくわからなくても、左側のパレットからレゴを拾ってきてペタペタくっつければなんとなくできあがっていくので簡単。

まだよくわかってないけど、面白そうだからしばらく遊んでみることにしよう。

2014年4月12日土曜日

Raspberry Pi から NAS フォルダをマウントしてみる

去年くらいから(?)話題になっていた Raspberry Pi(ラズベリーパイ)をようやく買いました。

OS のセットアップなんかは今さら感が強いので特に記事にしませんが、NAS のフォルダをマウントしようとしたらハマったのでメモ的に記事にしておきます。

ちなみに OS は Raspbian でやってます。

以前に Linux Mint でやったときにうまくいった方法 で試してみたら、Invalid argument とか言い出すし、dmesg で確認してみると NT_STATUS_NOT_IMPLEMENTED となんとも嫌な感じのメッセージが現れたりしていらっしゃる。

結局、解決策としては、以下のような感じになった。

> sudo mount -t cifs -o sec=ntlm,username=ユーザ名,password=パスワード,file_mode=0777,dir_mode=0777 //接続先マシン名(IPアドレス)/接続先フォルダ マウント先(/mnt/nas)

これでどうにか接続っていうかマウントされた。

たしか sec=ntlm はデフォルトだった気がするのだけど、どうやらきちんと指定してやらないといけないらしい。

なぜ必要なのかはよくわからなかった。

2013年11月24日日曜日

幼稚園児でもできるポケモンカードゲームを作ってみた

ポケモンの話題です。

前回は仮面ライダーの話でしたが、ウィザードが終わると同時に、うちの子供の興味が仮面ライダーからポケモンに移行しました。鎧武は好みに合わなかったのか…

そこで、それに合わせてちょっとしたポケモンのカードゲームを自作してみました。

といっても、4歳児に合わせて作ったものですから

  • ひらがなとカタカナがある程度読める。そして、ポケモンのためならがんばって読める。
  • 数字は 100 まで数えられる。そして、ポケモンのためなら 3桁の数字をがんばって読める。
  • 100 前後のまでの数の大小を比較でき。ポケモンのためなら…

くらいの子供が対象です。実際にできたのものはこんな感じ。


左が表、右が裏です。一枚一枚を見るとこんな感じ。


こんな感じの絵が裏表になっていて、1枚1枚は名刺サイズ。

遊びのルールは簡単で、

  1. カードの表を見ながら、2人で順番に技の名前を読み上げながらサイコロを振る。
  2. カードの裏を見て、サイコロの出た目に対応する数字を確認。
  3. 大きい方が攻撃できた。
  4. 3回(書いてある技の回数分)だけ同じことを繰り返して、攻撃できた回数が多い方の勝ち

まあ、最初に3枚なり5枚なり好きなカードを選んで(ゲットして)、こんな感じで戦って、勝ったポケモンの多いトレーナーの勝ちとか、そんな他愛もないゲームです。

ただ、こんなゲームを作ってやったことで、親の目論見通り、技の名前をがんばって読み上げ、だいぶひらがなとカタカナを読む努力をすることを覚えました。あと、3桁の数字の読み方も分かって、大小の比較もだいぶ分かってきたようです。

子供、親の術中にハマったり。

ちなみに、画像は主に「ポケモンずかん」の画像をお借りしており、裏側の数字は「ポケモン徹底攻略」「ポケモン図鑑XY」を参照させていただき、「HP、こうげき、ぼうぎょ、とくこう、とくぼう、すばやさ」を機械的に当てはめています。(ピカチュウなら、35、55、40、50、50、90 という感じ)

世にはポケモンカードゲームなるものが売られていますが、幼稚園児にはちょっと難しいような気がします。もうちょっと字が読めるようになればこれを買ってあげて、一緒に遊んでもいいんだけどなぁ。ってくらいのお子様にこんななんちゃってカードゲームを作ってあげるというのはいかがでしょうか?



2013年9月12日木曜日

続・仮面ライダーブレイクジョーカーのデッキについて考えてみた

前の記事の続きです。前の記事を読んでいない方はそちらからご覧ください。

前の記事では、自分のデッキ 12枚でいわゆるブラックジャックに強い組み合わせを考えてみました。

ただ実際には、サポーターを含む 13枚のカードで戦うわけで、それを考慮する必要があります。

というわけで、自分のデッキ 12枚(1918通り)×サポーター(7通り) の 13426通りの中から、ブラックジャックに強い組み合わせを調べてみました。

強い組み合わせを決める条件については前の記事と同じです。

さて、結果は…

21 になる確率が高い組み合わせ(上位20位まで)

デッキ21 (%)18~21 (%)
A A A 4 4 4 5 5 5 6 6 6 531.1%84.1%
A A A 4 4 4 5 5 5 6 6 6 630.5%82.1%
A A A 4 4 4 5 5 5 6 6 6 A30.4%83.3%
A A A 4 4 4 5 5 5 6 6 6 428.3%86.6%
A A 4 4 4 5 5 5 6 6 6 7 526.8%81.1%
A A A 4 4 5 5 5 6 6 6 7 526.1%79.7%
A A A 4 4 4 5 5 5 6 6 7 526.0%84.3%
A A 4 4 4 5 5 5 6 6 6 7 626.0%79.1%
A A 2 4 4 4 5 5 5 6 6 6 625.9%82.1%
A A A 2 4 4 4 5 5 6 6 6 425.8%85.0%
A A A 4 4 4 5 5 5 6 6 7 625.7%81.6%
A A A 4 4 4 5 5 5 6 6 6 725.7%82.3%
A A A 4 4 4 5 5 6 6 6 7 425.7%84.3%
A A A 4 4 4 5 5 6 6 6 7 525.6%81.3%
A A 4 4 4 5 5 5 6 6 6 7 425.5%83.1%
A A A 4 4 5 5 5 6 6 6 7 425.4%81.6%
A A A 3 4 4 4 5 5 6 6 6 625.4%84.7%
A A 2 4 4 4 5 5 5 6 6 6 525.3%82.5%
A A A 2 4 4 4 5 5 5 6 6 525.2%83.7%
A A A 4 4 4 5 5 6 6 6 7 625.2%81.2%


18~21 になる確率が高い組み合わせ(上位20位まで ※同率20位を含む)

デッキ21 (%)18~21 (%)
A A A 5 5 5 6 6 6 7 7 7 710.2%88.6%
A A A 2 5 5 6 6 6 7 7 7 69.4%88.5%
A A A 3 4 4 4 5 5 5 6 6 524.4%88.0%
A A A 2 5 5 6 6 6 7 7 7 711.2%87.8%
A A A 2 5 5 6 6 6 7 7 7 A9.4%87.8%
A A A 5 5 5 6 6 6 7 7 7 A9.1%87.7%
A A A 3 4 4 4 5 5 5 6 6 421.2%87.6%
A A 3 4 4 4 5 5 5 6 6 6 422.5%87.5%
A A 3 3 4 4 4 5 5 5 6 6 519.9%87.0%
A 3 3 4 4 4 5 5 5 6 6 6 418.7%87.0%
A A 3 3 4 4 4 5 5 5 6 6 418.6%86.8%
A A A 2 5 5 5 6 6 7 7 7 712.3%86.7%
A A 3 3 4 4 4 5 5 6 6 6 420.6%86.6%
A A A 4 4 4 5 5 5 6 6 6 428.3%86.6%
A 3 3 4 4 4 5 5 5 6 6 6 A19.4%86.6%
A A A 3 4 4 4 5 5 6 6 6 423.9%86.5%
A A 3 4 4 4 5 5 5 6 6 6 523.4%86.4%
A A 3 3 4 4 5 5 5 6 6 6 420.1%86.4%
A A 3 3 4 4 4 5 5 6 6 6 519.8%86.4%
A 3 3 3 4 4 4 5 5 5 6 6 416.4%86.3%
A A A 2 5 5 5 6 6 7 7 7 610.1%86.3%
A A A 3 4 4 4 5 5 5 7 7 416.1%86.3%
A A 3 4 4 4 5 5 5 6 6 6 319.7%86.3%
A A A 3 4 4 4 5 5 6 6 6 524.1%86.3%
A A A 2 5 5 5 6 6 6 7 7 710.4%86.3%
A A A 2 5 5 6 6 6 7 7 7 510.9%86.3%

さて、少々見にくいですが、デッキの左側 12枚が自分のカード、一番右、青く色が付いているのがサポーターと思ってください。

特筆すべきは、前の記事でおすすめした 「A A A 4 4 4 5 5 5 6 6 6」 がサポーターを含めてもやっぱり 21になる確率が高いということ。特にすでにデッキに入っている 「A」「4」「5」「6」 の数字を持つサポーターを連れて行けば間違いなくダントツで 21になる確率が高いです。

「4」 のサポーターを連れて行った場合は、21になる確率は少々落ちますが、その分、18~21になる確率が全体の 14位(86.6 %)と、堅実性が上がります。

この結果だけ見ていると、自分の 12枚を他の組み合わせにする理由がなくなりそうです。あえて言うなら、堅実さを求めて、18~21 の方で 3位の「A A A 3 4 4 4 5 5 5 6 6 + 5」 はありかもしれませんね。

ただもちろん、好きなカードや強いカードをデッキに組み込むのもありですし、そもそも、この数字は 「相手の数字を気にせず、駆け引きなどせず、合計が 18未満ならもう 1枚引く」 という限られた条件下での数字です。他の組み合わせも十分検討の余地はあるかと思います。

こんな計算がもし何かの参考にでもなれば幸いです。

ところで、私のフレンド ID は 018 734 727 ですので、もしよかったらご登録をお願いします。


2013年9月7日土曜日

仮面ライダーブレイクジョーカーのデッキについて考えてみた

最近、子どもに遊ばせるために「仮面ライダーBJ(ブレイクジョーカー)」をやってます。

4歳の子どもは「仮面ライダーのゲーム」というだけでうれしいので、まあ、私がレベルを上げておいて、適当に勝てるところで子どもに遊ばせるわけです。

でも、どうせやるならちょっと真剣にやろうかと思い、デッキについて考えてみました。

あ、この話が参考になったかなと思いましたら、よかったらこちらのフレンド ID を登録してギフトをゲットしてください。

フレンドID: 018 734 727

そもそもこのゲーム、12枚のカードで自由に(といっても同じカードは3枚まで)デッキを組み、そのカードでいわゆるブラックジャックをし、勝った方が攻撃できるという仕組み。つまりはそもそもブラックジャックに勝たないと攻撃もできないわけで、攻撃力とかHPとか以前にブラックジャックに強いデッキを組まなければならないのかなと思うわけです。

さて、「カードの種類は A~7」「A は 1 または 11 でカウント(ブラックジャックと同じ)」「同じ数のカードはデッキの中に 3 枚まで」 という条件で 12 枚を選択し、ブラックジャックに強いデッキを考えます。

この条件で数字の組み合わせは 1918 通り。(計算あってるかな…?)

意外と少ない。それなら全組み合わせを計算しちゃいましょう。

でも、相手の手札まで考えると組み合わせが爆発してしまうので、相手のことは考えずに、「自分の手札が18未満の場合はカードを引く(HIT)」「18以上になったらストップ(HOLD)」ということにして、21 になる確率が高い組み合わせと、18~21 になる確率が高い組み合わせを調べます。
(18 は適当。このくらいだと強いかな? って数字を独断で決定)

プログラム組んで…、デッキの組み合わせを計算させて…、各デッキで 10万回ずつカードを引かせて…

というわけで、いきなり結果です。

21 になる確率が高い組み合わせ(上位10位まで)

デッキ21 (%)18~21 (%)
A A A 4 4 4 5 5 5 6 6 630.484.5
A A 4 4 4 5 5 5 6 6 6 725.981.2
A A A 4 4 4 5 5 6 6 6 725.482.3
A A A 2 4 4 4 5 5 6 6 625.183.2
A A A 4 4 4 5 5 5 6 6 725.183.5
A A 2 4 4 4 5 5 5 6 6 625.083.2
A A A 4 4 5 5 5 6 6 6 724.379.9
A A A 2 4 4 4 5 5 5 6 624.183.2
A A A 3 4 4 4 5 5 6 6 623.785.9
A A A 3 4 4 5 5 5 6 6 623.684.5


18~21 になる確率が高い組み合わせ(上位10位まで)

デッキ21 (%)18~21 (%)
A A A 2 5 5 6 6 6 7 7 710.288.1
A A 3 4 4 4 5 5 5 6 6 623.487.0
A A A 3 4 4 4 5 5 5 6 622.486.8
A A 3 3 4 4 4 5 5 5 6 618.286.8
A A A 5 5 5 6 6 6 7 7 79.286.5
A A A 2 5 5 5 6 6 7 7 711.886.3
A A 3 3 4 4 4 5 5 6 6 619.686.2
A 3 3 4 4 4 5 5 5 6 6 619.185.9
A A A 3 4 4 4 5 5 6 6 623.785.9
A A A 3 4 4 4 5 5 5 6 719.485.8

21 になる確率はダントツで 「A A A 4 4 4 5 5 5 6 6 6」 が高い。このデッキは 18~21 になる確率も 84.5 % と 10位には入っていないものの、全体で 44/1918 位とかなり上位。

反対に 18~21 になる確率トップの 「A A A 2 5 5 6 6 6 7 7 7」 は 21 になる確率が低すぎる。こっちから採用するなら 2位の 「A A 3 4 4 4 5 5 5 6 6 6」 かな。あ、さっきのデッキの「A」が 1 枚 「3」 に変わっただけか。

まあ、あとは好みのカードとかの問題もあると思いますが、ブラックジャックで勝てることを主体とするなら…

「A A A 4 4 4 5 5 5 6 6 6」「A A 3 4 4 4 5 5 5 6 6 6」 

あたりのデッキが有効なのかななどと思います。

繰り返しますが、私のフレンド ID は 018 734 727 ですので、よかったら登録お願いします。

[追記]
サポーターも含めた 13枚のカードでの確率も計算してみました。こちらの記事をご覧ください。



2013年8月12日月曜日

OleCreatePropertyFrame() を 64bit で使いたい

っていう必要がありまして、しばらく調べていました。

普通ですと、olepro32.dll を取り込んで使うわけですが、これはどうやら x64 をターゲットにすると、「そんな DLL ないよ?」というエラーになる。

調べていると、同じ症状が出て困っている方も多数。で、解決策としてあがっているのは、「ターゲットを x86 にすればいいよ」

って、そんなことはわかってるんですよ。ただ、他の DLL とかシステム全体とかのからみもあるんで、ターゲットは x64 のままにしとかなければならないんです。そんな場合の解決策が見つからない…

で、さらに調べていたら、oleaut32.dll っている DLL の中にも同名の関数 OleCreatePropertyFrame() があることがわかりまして、とりあえず使ってみました。

おっ、これは x64 でも動くじゃないですか。しかも、引数とか olepro32.dll のやつと同じ。検索するとよく見つかる、olepro32.dll の OleCreatePropertyFrame() を使う方法をそのままコピペって、olepro32.dll の部分を oleaut32.dll に書き換えるだけで使えた。

細かい違いとかがあるのかどうかはこれから調べるとして、とりあえず x64 でも OleCreatePropertyFrame() が動いたよ。っていうお話でした。

2013年7月2日火曜日

タブレット

アイリバー ITQ701 をポチっとしてみた。

届いたらここに色々書いてみる予定。