「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



だいぶ前から、麻雀の役判定ロジックをなんとか自分で
書けないかなぁ?と思ってもがいているんだけど、

https://blog.goo.ne.jp/nekosan0/e/f643f2b93d6740d2ca15d11360a4dfa3

あれこれ情報を漁っていて、こないだ見つけたページを、
こないだ夕飯食いながらスマホの画面で眺めてて、
「お!?」
ってなった。なるほどねぇ。インデックス化して、テーブル
に上がりの手を整理しておいて検索っていうの、なるほどねと。

以前考えていたロジックは、これに近い考え方だったんだ
けど、上がり手順をテーブルにしておくっていう発想が
なかった。
というか、テーブル化すること自体は頭の片隅にはあった
んだけど、なんか泥臭いというか、1行1行のテーブルデータ
の検証をテストしないといけないのがスマートじゃないって
思って、早々に却下してしまった。

そのせいで泥沼にはまってしまったんだけど、でもやっぱ、
こういう風に数字(データ量)とかをもとに考えていくと、
意外と最短距離なのはわかる気がする。なにより、すごい
高速に処理できる。そりゃそうだ。

最大の問題は、やっぱりテーブル化した上がりパターン
の1件1件をどうやって検証しつつ、そのパターンのセット
に過不足が存在しないかを確認・テストする方法なんだよな。

あとは、上りかどうかは簡単に判別できるけど、役判定自体
はまた別なんだよな。役判定するには、雀頭と残りの順子・
刻子1個1個に分割しないといけないのと、さらにそれを元に
複数の役の組み合わせを洗い出して、どれが一番高い役に
なるかとか、鳴きあり/無しとか、チョンボとか、振りテン
とかも判定しないといけなくて、なかなかに厄介。

あと、オイラは昔ながらの構造化言語スタイルでコードを
書くのは好きなんだけど、オブジェクト化してしまいたい
と思いつつ、オブジェクト指向は得意じゃないので、
どんなふうにまとめたらいいのかがよくわからんという
状態。

全部のパターンを網羅しているかどうかは、手で1行1行
コードを書いてたら絶対間違えるので、ロジックで自動生成
させるのが正解だろうな。で、その生成ロジック自体のテスト
を行う、と。
(よく読み返してたら、Rubyで上がりの形を列挙する
というプログラムも公開されていた。あとで読む)




あと、Arduino R4の内部を探るために情報収集しているん
だけど、なかなか手を動かしてる時間まで作れないので、
空回り中。

32ビットARMに変わったR4の、タイマ割込み、GPIOの
直接制御、PWMの詳細な制御、EEPROM周り…といった
部分は、AVRベース(というかMEGA328ベース)のR3
までとは異なるわけだけど、その辺の違いについては、
代替できる方法を用意しておかないと、古いスケッチ類
が移植できないんよねぇ。

それができるようになれば、一気にR4に移行しても
いいかな、っていうくらいに、R4のボード自体は
かなりよくできてる。5Vダイレクトに入出力できるし、
IDEにも簡単につながるし、なんかそのあたりで不便
っぽい不便はなかったな。

なので、その辺を一度きちんと整理しなおしたいんだ
けど、なにせ、新しいCPUのマニュアルが分厚い…






そうそう。いしかわきょーすけさんのツイートで、
令和版Oh!Xがようやく予約可能になったという情報を得た
ので、さっそく予約を入れた。楽しみー。







これさいしょ、いったいなんぞ?って思ったんだけど、
あぁ、そういうことか。
画面に表示するのは某ゲームであったけど、それをリアル
に再現しちゃったってわけね。
まぁ面白いんだけど、一番いいのはやっぱり、本物の
体感機ってことで、筐体が前後左右に動いて、加速度を
感じているように思える仕組みだよな。
(シミュレータともいう)







あの与謝野晶子のあれ、元ネタ全然知らなかった。こういう
やつだったのか。




2で割ることと3で割ること - Qiita

2で割ることと3で割ること - Qiita

この記事でお題にするのはCPUレジスタ上の整数除算です。以下、単に除算とも書きます。除算は非常に高コストな演算なため、コンパイラは最適化によって、できるだけ整数除算...

Qiita

 





2で割るのはシフト命令でいいとして、3で割るのって、
逆数をあらかじめ計算しておいて乗算で処理するって
いうの以外思いつかないんだけど…と思ったら、やっぱ
逆数の方法だった。







コシロンが、Switch版EGGのイースについて触れてた。
こないだ、こけばにさんが98版をクリアしてたんだけど、
その時にEGGでイースの話題出てたな。とうとうリリース
されたのね。やりたいね。
(いまだにSwitchの実機を入手していないんだよな。あぁ、
どうしようかな。中古で買おうか迷っているんだけど、
あまりゲーム頻繁にやらないんだし、新品で買わないと
あれこれトラブルから…って脅されてたり、ライトを買うか
フルスペックの方を買うかも悩ましい)






最近のmicro:bitって、最初からなにやら面白げなプログラム
が書き込み済みなのね。
オイラのは、初期の初期のやつなんだけど、そういうのは
どこかに公開されてたりするのかな?書き込めば、同じように
実験できるのかな?







バイナリ打ちするキーボード。これすごいな!







お!納税は自由意志でいいのか!これはよいではないか!
少なくとも、3000万までは大丈夫だよな。


コメント ( 0 )
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする



« ブツが届いた ロボット行っ... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。