プログラミング

動的計画法のテスト

会場案内計画 / rch850 フィボナッチ数列で動的計画法の威力を見てみた。*1 *1:動的計画法 - Wikipedia

Codingame『Bender - The Money Machine』クリア

Bender / José Carlos Cortizo Pérez 普通に再帰で全探索したら時間が足りなくてアウト。 そこで初めて動的計画法を考えてみた。 動的計画法 - Wikipedia いやぁ凄いね。スイスイですよ、スイスイ。 かかる時間が雲泥の差。 それでもイマイチ理解しきれてな…

あっ、歩数制限つけなきゃ(間違い)

Paizaの『S002:最短距離を測る』をやったけど、しょうもないミスしてランクD……平均より20分早くできたのに、何であんな余計な制限をわざわざつけたのか*1。 Codingameと比べて一発コッキリの印象が強いので、もうちょっとテストケースを用意して欲しいです。…

見てるだけライフゲーム

Processing.jsを使ってサイトに載せてみるテスト。 ルール決定→20世代まで世代交代→ルール変更→20世代まで…のループ。 個人的には見てるだけで満足感を得られる。

ライフゲームの分類

唐突に2Dライフゲームのルールを分類してみようとかトチ狂ったこと思いついたので、 ルールを変えつつ20世代目を全出力してみた。 結果:19683ファイル生成(pngファイル) そのうち半分くらいは変化無かったり他のルールと同じ結果だったり。 重複するものを…

『Unity5とC#で作るライフゲーム』できた

物自体は12月の半ばにはできてたけど、 祖母の介護やら何やらでバタバタしててすっかり忘れてた。 というわけで新刊できました。 通常通りコミケ価格の500円ポッキリ。 次は何作ろうかな。Unity5とC#で作るライフゲーム: UnityとC#で作ってみようシリーズ3発…

TypeScript始めました

Visual Studio Code入れて、 node package master入れて、 node.js入れて、 microsoftのファーストステップガイドみたいなのを参考にしてやってたら 途中でハマった……。 あと、JavaScript界隈というかWeb系まわりは、 「アレ使ってコレ使って、ソレ使ってど…

0,1の繰り返しと%を使わない余りの出し方

0,1,0,1,0,1,0,1,……と繰り返す方法 XORを使う。 for(int i = 0; (終了条件); i ^= 1) { (処理) } こう書けば i は1と0を繰り返す。 単純だけどさっぱり思いつかなかった。 %を使わない余りの出し方 例えば10/3の余りは1。 int i = 10 % 3; と書くと i に余り…

Unity5とC#で作る内サイクロイド 出版完了

シリーズ2冊目できたー。 イルカを描こうと思ったらサメっぽくなったのでサメで。 やっぱりある程度のひな型や書き方を確定させると、格段に書きやすい。 著作・編集 記号について 1 内サイクロイドを作り始めよう 1.1 新しいプロジェクトを作る 1.2 フォル…

KDPで出版 三冊目

三冊目を出しました。Unity初心者向け本です。 いつも通りコミケ価格の500円。 外サイクロイドを作るまで載せてます。 こういうのって英語版も作った方がいいんだろうか。 英語壊滅的に苦手だけど。 なんかかっこいい表紙にしようとした結果こうなりました(´…

Codingame『Indiana - Level 1』

インディアンなジョーンズが洞窟を底へと滑り落ちていく。 滑り落ちていく方向を制御して、奈落へ叩き込もう!(助けない) リプレイはこんな感じ

Codingame『Stock Exchange Losses』

Black Monday (1987) 黑色星期一 / kingrahsu 「証券取引の損失」というわけで、上の写真はブラックマンデーの写真です。 問題の内容は、株価グラフ内で、最大どれくらいの損が出るかを調べる問題。 最初は普通に2重for文で作ったものの、即タイムアウト。 1…

Codingame『Skynet: the Virus』LEVEL 1のAmbush取れた

pongeponge.hatenablog.jp 結構昔にやったあと、トロフィーをどうすれば取れるか考えてた。 取れてなかったトロフィーはこれ。 Ambush Finish the 4th test of the "Skynet: the virus" puzzle with 50 or more remaining links and get a 100% score. Ambus…

Codingame『Bender - Algorithmic Complexity』

気が変わって難易度:ハードの一番下にある問題をやってみた。 データの説明に最も適する近似曲線は何ですか?という問題。 自分で作ってて思ったけど、超クソコードです。テストは通ったんですけどね。 どうしたらもっと綺麗に書けるんだろうなぁ……。 一回…

Codingame『The Paranoid Android』

自身の体を張って仲間の進行を妨害する、設計者の顔が見てみたいロボをゴールへ導く。 右移動左移動を直接指定できれば簡単なのに…と思わなくもない。 情報を仔細に得てるのに、有効に使った感じゼロ! Test case 07 のリプレイ画面はここから

Codingame『APU: Init Phase』

ルールがよくわからなくて、めちゃくちゃ時間かかった。 隣接ノードを探すんじゃなくて、離れていても右にあるノード、下にあるノードを探す。 それが分からずに「なんでやー、なんでやー」と頭抱えてた。 英語読めないのが悪いといえばそうなんだけどね。

WebPlayerとサイトの連携

「Unity内で綺麗な数式が表示できないなら、Unity外で表示すればいいじゃない!」 と思いつき、調べてみたら方法はあった。 ただ、Javascriptなんて(避けては通れないとはいえ)ほとんど使ったことないよ!*1 *1:使うことがないから、未だにAjaxとかjQueryと…

足し算小3くらい

pongeponge.hatenablog.jp ゲームしながらポチポチやってたら何とか形になってきた。 そして新しい問題もわかってきた。

シーザー暗号(Caesar cipher)作ってみた

シーザー暗号作ってみました。 twitter投稿機能も付けてみたけど、ちゃんと動くといいな……。

コラッツ問題シミュレーター

3n+1問題もしくはコラッツ問題 - Pongepongepongeponge.hatenablog.jp コラッツ問題を気軽にできるように、Unityで作ってみた。 バグ多いけどね……。こういうのってシミュレーターに入るんだろうか? リゾルバーのほうがいいんだろうか?

チェスの移動

チェス駒をアセットストアからダウンロードして動かしてみた。

Unityで騎士巡回問題

といってもC#のアレを移植しただけですが。騎士巡回問題 - Pongepongepongeponge.hatenablog.jp 騎士巡回問題ソースコード - Pongepongepongeponge.hatenablog.jp

騎士巡回問題ソースコード

コードがごちゃっとしてて分かりにくかったので、できる範囲で分かり易く改善してみた。 system.drawingのPointは演算子に対応してないから手作り。 たぶんきっとちょっとは見やすくなったはず。

騎士巡回問題

騎士巡回問題とかいうのがある。 簡単に言うと、 『チェスのナイトが、盤面の全てのマスを踏んで元の位置に戻る』ルートを探せ という問題。

ローレンツアトラクタ シミュレータ作った

Unityちゃんのアセットを落としたけど、アニメーションをどう触っていいのかいまいち理解できないので、かわりにローレンツアトラクタのシミュレータを作ってみた。

外サイクロイドシミュレータ

外サイクロイドシミュレータを作ってみました。

Unityで画面遷移

Unityで画面遷移やってみた。

リサージュ図形

リサジュー図形作ってみた。

永遠に足し算するunity

unityで足し算作ろうとしてまだ途中。 今の所延々と足し算し続けるメカになってる。

3次元ライフゲーム

ついでのついでに3次元バージョンも作ってみた。 ……が、パラメータの設定が微妙過ぎて何とも言えない。 (処理が激しく重いので注意!)