開発
作図ツールの試作をしてます。設計の詳細は次のページで見ることができます。 http://w.livedoor.jp/compass-ruler/d/lac.js 今回はプログラミングに依らずに作図した図をSAVEし、LOADする機能を書きました。不安定なので、動画中ではいくつかSAVEに失敗して…
lac.jsのテストのために現実的な問題の図を描いています。今日は、内心、外心の関数を作りました。はじめはコンパスとものさしを使った作図を意識して作りましたが、内心は処理が重いので、ベクトル解析による公式を使うことにしました。外心や他の関数もベ…
動画では、角の頂点とその対辺の中点を結んだ3つの直線が常に1点で交わることを確認しています。これは中学の時に習った重心ですね。動的な作図ツールがあれば、このような手書きでは確認不能なことが分かります。 それに加えて、cal.jsはヒントを出すことで…
cal.jsを下の動画のように動的に点を動かせるならば、辺の比や、直角、平行など不変な性質を見つけやすくできるかもしれません。これは手でやるよりずっと効率的なので、真っ先に実装すべきなのかもしれません。ただ、処理が重くなりそうだったり、大幅な書…
作図ツールの試作をしてます。設計の詳細は次のページで見ることができます。 http://w.livedoor.jp/compass-ruler/d/cal.js 今回も作図問題の自動判定で、問題も其ノ伍と同じです。新しく"LINE-SEGMENT", "ANGLE"という操作を加えました。これは、合同な角…
作図ツールの試作をしてます。設計の詳細は次のページで見ることができます。 http://w.livedoor.jp/compass-ruler/d/cal.js 今回も作図問題の自動判定です。新しく"ANGLE-ADD"という操作を加えました。これは2つの等しいと分かっている角の対があって、さら…
「コンパスとものさしの幾何学」というwikiを開設しました。このwikiで使っている図は、Javascriptで作ったプログラム(cal.jsといまのところ呼んでいます)で生成しています。
次のような内部DSLを書いて、メインプログラムを走らせると、ランダムに問題が出題されるアプリを作ってみました。 # -*- encoding: utf-8 -* problem "範囲演算子の問題" do size = 5 str = Rcert::random_string(size) f = rand(size-1) l = f + 1 + rand(…
UIの部分がほぼ完成しました。試しに1ゲームしてみたら、20分程度かかりました(ホンモノのボードゲームとして真剣に対戦したら60分程度かかるようです。)。ぼくが下手なのもありますが、結構時間がかかります。 ボードゲーム用ゲームエンジンみたいなのを作…
昨日見通したのとほぼ同じ方法でNPCと対戦できるところまでゲームを作りました。唯一の違いはC拡張を書くのを止めて、subprocessを使ったところです。 1戦目 2戦目 もし公開するつもりならば、やることはまだまだたくさんありますが、だいたいどうするべきか…
あらかじめ用意した操作手順を配列でNPCに与えることに成功しました。 これでようやく、NPCとの対戦までの道のりが見えてきました。今、手元にあるのは c/c++なら(おそらく)1秒以内に与えられた状況からゴールまでの操作手順が生成できる pythonのc拡張の書…
前回紹介したリンクスライダー。AIを作りたいのですがJavaScriptで考えるのはしんどいので、まずc++で計算してみました。結果を見せるために、ゲーム上で手動で操作して動画は撮りました(答えを見ながらやっているため、操作がぎこちない。。)。 まずパズル…
gistはコードスニペット置き場のような使い方が一般的だと思います。でも、gistそれぞれの投稿に1つのgitリポジトリが割り当てられていることを考えれば、もっと色々な使い方ができることに気付きます。ぼくが使っているのは2通りで、1つはフリーウェア置き…