プログラミング

1ヶ月のお休みとpaiza株式会社へ転職とpaizaの問題を解くときの準備

この投稿は paiza Advent Calendar 2023 の1日目の記事です! 近況報告みたいなものを書きますね。 10月 さて、10月は転職前の有給休暇を使って1ヶ月間を仕事しないで過ごしました。 (11月に前職でLTに招待してもらったのでその時にJamboardで書いたもので…

gym-super-mario-brosのマリオのスピードを取得する

gym-super-mario-brosのマリオの座標だけでなくスピードを取得する方法がわかったのでメモします。 方針 スーパーマリオのメモリマップからx方向とy方向のスピードを探し出して、取得します。 メモリマップの参考 Super Mario Bros.:RAM map - Data Crystal …

gym-super-mario-brosのジャンプの研究

前回からの続きです。 akiyah.hatenablog.com 今回は、gym-super-mario-brosのジャンプを研究します。 最大ジャンプのAボタンフレーム数 Aボタンを押すとジャンプするのですが、押している長さに応じて高さが変わるようです。 もちろんずーっと押し続けると…

gym-super-mario-bros 1-1を1歩ずつ5歩先のrewardを計算してクリアする

前回の続きです。 akiyah.hatenablog.com backupした状態までresetで戻れるようになったので、それを使ってマリオの1-1をクリアしてみました。 行動は「走る(["right", "B"])」か「走りながらジャンプ(["right", "B", "A"])」の2通りです。5歩先までマリ…

gym-super-mario-brosで途中から再開する方法

mario_backup_reset.gif 日曜日の勉強会の仲間が「マリオAIチャレンジ」をやっているのを見ていて、楽しそうだったので最近触っています。 karaage.hatenadiary.jp まだ学習をさせるところまでは行けていなくて、マリオに行動を配列で指示したり、gifなどの…

無限三目並べの必勝法

無限三目並べと言うゲームがあります。三目並べ(マルバツゲーム)に似たルールで、自分のコマの4つ目を打つ時に自分の一番古いコマが消えるというゲームです。 このゲームのQ学習をJavaScriptで作っていました。Q学習した結果を対戦相手として遊べるように…

Babylon.jsで簡単に3D空間のドラッグ&ドロップ(改善版)

前回の記事の改善版です。 akiyah.hatenablog.com 前回、『このPointerDragBehaviorを使ったドラッグ&ドロップは、ちょっと甘いところがあるんですよね。物理エンジンとあわせて使うことをあんまり意識していないのだと思うのですが、変な動きすることがあ…

Babylon.jsで簡単に3D空間のドラッグ&ドロップ

Babylon.js をちょっと触ってみました。 テンセグリティをコンピューター上でシミュレートするという私の要望があるのですが、なかなか進められていないので、それを進めるための調査でもあります。 やりたいこととしては、物理エンジンでゴムorバネを使うこ…

なぜ人はビューっとできずにドボドボしちゃうのか

shacho.beproud.jp この記事を読んでそうだよなーと思いました。ペルソナを絞り切れない状態ですね。私が参加しているプロジェクトでもよくあった気がします。 私の頭の中のイメージでは、消防車から出ているホースが二股に分かれていて、ビューっと出して水…

PechatとMESH(動きタグ)をつかってしゃべるぬいぐるみを作った

Pechatというおもちゃを借りたので、少し遊んでみました。 pechat.jp これ、なかなかよくできています。今回はうちにあった指人形に入れて2歳の娘に渡して、スマホで遠隔操作してお喋りをすることができました。 スマホでセリフを選ぶのがちょっと手間で、適…

VueとMathJaxで数式エディタを作ってみた

jp.vuejs.org Vueの勉強のために、↑このMarkdownエディタをマネして数式エディタを作ってみました。 Markdownエディタをちょっと変更すればいいだろうと思っていたけど、MathJaxはTeXのテキストをHTMLテキストに変換するようにはなっていないので、Vueと相性…

マストドンのインスタンスを立てたけどそのあとどうすればいいのか

話題のマストドンのインスタンスを立ててみました。 akiyah.com ↑ここです。おひとりさまインスタンスのつもりです。(ただ、会員登録は閉じていません。) AWSでつくりました。↓のチュートリアルをバッチリ参考にさせていただきました。ドメイン(akiyah.com…

光る魔法陣、というのを作ったら娘と奥さんが喜んでくれた

動かしてみると解ると思いますが、魔法陣っぽい図形がかけるツールです。Mahougenという魔法陣を作るAndroidアプリを私のAndroidタブレットに入れて娘に見せたら喜んでいたのだけど、娘が使っているデバイスはiPad miniなので入れられなくて、じゃあどこでも…

three.jsのDragControlsはドラッグ中の動作が平面じゃなくて球面らしい

akiyah.hatenablog.com に関連して。 three.jsのDragControlsでのドラッグ&ドロップも上記のエントリーの様に、カメラからの視線と仮想的に作ったドラッグ用の平面を使って実現しているのだろうなあ、と思っていたら、実は違いました。球面のようですが、ま…

Three.jsのDragControlsとTrackballControlsと一緒に使ってドラッグ&ドロップをする

three.jsで遊んでいて、勉強のために書籍も買いました。 three.jsによるHTML5 3Dグラフィックス〈上〉 作者: 遠藤理平 出版社/メーカー: カットシステム 発売日: 2016/06 メディア: 単行本 この商品を含むブログを見る 購入した目的はドラッグ&ドロップを実…

3D物理エンジンと3D描画ライブラリでドラッグ&ドロップをするやり方

3D物理エンジンでテンセグリティのシミュレーションをしようと思って、Cannon.jsとかOimo.jsを触ってみているところです。ちょっと触ったCannon.jsではテンセグリティの張力(バネ)の使い方がややこしかったので、いまはOimo.jsで実験しています。 3D物理エ…