タグ

ブックマーク / rhysd.hatenablog.com (3)

  • Vim を WebAssembly に移植した - はやくプログラムになりたい

    久々のブログです. 6月ぐらいにWebAssembly の仕様をざっくり読んだので,なんか WebAssembly でやりたいなと思って,VimWebAssembly に移植してブラウザで動くようにしてみました,という話です. github.com 多分実物を見ていただくのが一番早いので,下記のリンクにアクセスしてみてください. デモページはこちら(下記の注意事項を先にお読みください) 注意 デスクトップ版の Chrome か Firefox か Safari か Edge を使ってください.どうやら macOS では Safari が一番動きが良いです. デモページは全部で1MBほどのリソースを fetch します.モバイルネットワークなどからアクセスする場合はお気をつけください. keydown でキー入力を取っているので,キー入力を横取りするブラウザ拡張などが有効になっていると

    Vim を WebAssembly に移植した - はやくプログラムになりたい
  • C や C++ のコードを自動で整形する clang-format を Vim で - はやくプログラムになりたい

    この記事は Vim Advent Calendar 269 日目の記事になります. きつねさんとおぼえる!Clang というを読んでいて,clang 周りで色々役立ちそうなツールがあることを知ったので,その中でも C や C++ のソースコードを整形する clang-format というツールの Vim への応用について書きます. clang-format とは clang-format とは,入力した C や C++(Objective-C は未確認)のソースコードを一定のルールに従って自動整形して出力してくれるツールです.clang の静的解析機能を使っています.インストールは LLVM project の clang のサイトを参照してください. 例えば,次のようなソースコードがあったとします. #include <iostream> #define TEST_CPP_FOR_OP

  • 2048 の AI を読んでみた - はやくプログラムになりたい

    以前第一回2048AIコンテスト 結果報告という記事を見かけて,興味がわいたので 2048 の AI について調べてみました. 2048 は 4x4 のパズルゲームで,ルールは実際にやってもらったほうが分かりやすいぐらい簡単なものですが,テンポが良くて結構ハマりました. 今回は公開されている 2048 の AI の中で一番メジャーっぽいものを TokyoVim #19 で読んでみました. ov3y/2048-AI - Github 小並感 平穏な感じ AI でした. js/grid.js に各評価関数の定義があり,js/ai.js に探索を行うメインの部分の処理があります. 評価関数 良い手を選ぶには,ある盤面が与えられたときにその盤面がどれだけ有利な状態かを知る必要があります.それを知るために必要なのが評価関数で,今回だと 2048 の 4x4 の盤面を引数に取り,その盤面のスコアを返す

    2048 の AI を読んでみた - はやくプログラムになりたい
    tanakaBox
    tanakaBox 2014/05/21
  • 1