2015-08-01から1ヶ月間の記事一覧
昨日はゲーム画面からスタート画面への遷移を作った。 今日は遷移するときに確認のダイアログを出すようにしていく。 UIAlertController 確認のダイアログを出すときに使えるのが、UIAlertController。 (なお、以前はUIAlertViewが使われていたけれど、非推…
昨日はスタート画面からゲーム画面への遷移を作った。 今日は逆に、ゲーム画面からスタート画面への遷移を作成していく。 スタート画面への遷移 昨日と同様に、GameSceneに画面遷移を実装する。 //============================== // YWF //----------------…
昨日は設定関係を完成させた。 今日はスタート画面からゲーム画面へ遷移できるようにしていく。 ゲーム画面への遷移 ゲーム画面へ遷移できるようにするために、スタート画面をPlayButtonNodeObserverプロトコルに準拠するようにする。 //===================…
昨日は設定の描画を作った。 今日は設定のモデルオブジェクトの実装と、設定の描画のリファクタリングを行う。 設定の保存について iOSでは、データを保存するための手段がいくつか提供されている。 その中でも特に、設定を保存するためのクラスとして用意さ…
昨日はボタン類の実装をした。 今日は設定の描画を実装していく。 設定の描画 ということで、さっそくコードを。 //============================== // YWF //------------------------------ // ConfigNode.swift //============================== import …
昨日はスタート画面のレイアウトだけ作成した。 今日はボタン類を作っていく。 プレイボタン まずはゲームを開始するためのプレイボタンから。 //============================== // YWF //------------------------------ // PlayButtonNode.swift //======…
強化学習の方はちょっとお休み。 今日からは、変種オセロ「良い子悪い子普通の子」のスタート画面を作っていく。 変種オセロ「良い子悪い子普通の子」については、以下を参照。 デザイン まずは、スタート画面をどんなふうにするのかをデザイン。 必要なもの…
昨日はグリーディ法とグリーディ法を扱った。 今日はn本腕バンディット問題に対する別のアルゴリズムを考えていく。 ソフトマックス法 グリーディ法では、探査を行うために、の確率でランダムに行動を選択していた。 もう一つ、探査を行うための方法として、…
昨日はn本腕バンディット問題の行動の価値について考えた。 今日は、それを使って具体的なアルゴリズムを考えていく。 グリーディ法 一番最初に思いつく方法は、現在の推定される行動の価値の中で、最も価値の高い行動を選ぶという方法。 すなわち、回目に選…
昨日はn本腕バンディットをプログラムで書いてみた。 今日はn本腕バンディット問題に対するアルゴリズムを考えるために、「行動の価値」について考えていく。 行動の価値 どのレバーを下すのかを考えるときに、これまでの結果から、出来るだけ良さげなレバー…
昨日は、n本腕バンディット問題と、「知識利用」と「探査」のバランスの問題について説明した。 今日はn本腕バンディット問題をプログラム(Ruby)で実際に動かしてみる。 正規分布に従う乱数生成器 今回、n本腕バンディット問題のレバーの期待値、および、…
昨日は、強化学習で考える具体的な状況や、用語について説明した。 今日は、もうちょっと簡単な場合について考えていく。 非連想的な問題 昨日の「報酬」に関する説明を聞いて、次のように思ったかもしれない。 「(猿の例で)大きな箱を選んでも小さな箱を…
昨日は強化学習の「強化」とは何なのかについて説明した。 今日は、強化学習で考える具体的な状況や、そこで使われる用語について。 エージェントと環境 強化学習では、学習したり行動を決定する主体(つまりAI自身)のことを、エージェントと呼ぶ。 そして…
昨日の記事は以下。 今日は、強化学習についてもう少し説明したいと思う。 「強化」って何? そもそも、「強化学習」の「強化」って何なんだ?という話。 「強化」っていうと、何かを強くするのかなぁ、という感じだけど、「強化学習」という訳語の元になっ…
ゲームを作っていくときに必要となるのが、AIの作成。 変種オセロを作っているときにもいくつかの探索アルゴリズムを実装したけれど、盤面の評価については単純に「出来るだけ自分の色が多く、そして相手の色が少ない方がいい」としただけだった。 ただ、こ…
自分は哲学が好きだけど、哲学者本人の書いた、いわゆる「哲学書」というのはほとんど読まない。 なぜって、理由は簡単で、「難しい」から。 なので、哲学に関する本を読むとしても、それは(例えば飲茶さんが書いた『14歳からの哲学入門』のような)「哲学…
これまでの各記事は以下から。 イントロ、画面設計 変種オセロのUIを作ってみた。(その1) - いものやま。 素材作成 変種オセロのUIを作ってみた。(その2) - いものやま。 変種オセロのUIを作ってみた。(その3) - いものやま。 変種オセロのUIを作って…
ユーザ情報の表示も出来た。 あとはゲームの結果を表示したりも必要だけど、かなり長くなったので、とりあえずまとめていく。 ターンコントローラの修正 とりあえず、終了判定の実装だけは入れておく。 //============================== // YWF //---------…
Undoボタンの対応も出来た。 あとは、ユーザ情報の表示。 レイアウトマネージャの修正 ユーザ情報の表示を行うとき、そのエリアのサイズが必要となったので、レイアウトマネージャの修正を行った。 ついでに、すこしリファクタリングも実施。 //============…
昨日の続き。 Playerプロトコルの修正 Undoに対応するためにPlayerプロトコルに少し修正を加える。 //============================== // YWF //------------------------------ // Player.swift //============================== public protocol Player {…
昨日はPassボタンの対応を行った。 今日はUndoボタンの対応を行っていく。 BoardNodeの修正 まずは、Undo自体が出来るようにするために、BoardNodeを修正していく。 オペレーションキューの追加 今までの実装では手を抜いてたけど、Undoを出来るようにするた…
前回はターンコントローラを実装して、AI相手にもプレイが出来るようにした。 次は各ボタンの機能を対応していく。 まずはPassボタンの対応から。 人間プレイヤーの修正 Passボタンを使うのは人なので、人間プレヤーの修正をしていく。 具体的には、 Humanク…
Picky-Picsは、オンラインでポスターやチラシ、プレゼン資料が作れるというツール。 Twitterを見ていたら、これを使ってゲーム会のポスターを作ってみたというツイートが流れてきた。 RUCCIで、ボードゲームのチラシを作ってみたの話そして、コピーが思い付…
昨日はボタンとボードにオブザーバパターンを実現した。 今日はそれを使ってゲームのプレイが出来るようにする。 ターンコントローラの実装 ゲームをプレイできるようにするためには、まず手番を管理する必要がある。 ということで、BoardNodeObserverプロト…
さて、レイアウトの修正は出来た。 次はボタンのタッチ処理を出来るようにする。 また、ボードのタッチ処理についても、修正を行う。 オブザーバパターンの実現 SwiftでSetの型パラメータにプロトコルを指定する方法について。 - いものやま。で言及したよう…
昨日はレイアウトのリデザインを行った。 今日はこのレイアウトを実現するための仕組みを実装する。 レイアウトマネージャ SpriteKitでレイアウトを決めるときに必要になるのが、プロパティのpositionの値。 なので、各要素のpositionの適切な値を返すクラス…
昨日はボタンの描画を実装した。 しかし、レイアウトに問題があることが発覚したので、今日はその解決を。 レイアウトのリデザイン とりあえず、今まではどの画面サイズについても、縦方向の構成はどれも同じでいいやと思っていたけれど、画面サイズでこうも…
ちょっと間が空いたけど、続き。 今日はUndoなどを行うためのボタンを作っていく。 ボタンの描画 ということで、まずはボタンの描画から。 SKSpriteNodeを継承して、ButtonNodeを作る。 //============================== // YWF //------------------------…
自分はiPhone 5を使っているのだけど、ここ最近、調子が悪くなってきていた。 具体的には、ホームボタンの反応がやたらと悪い。 最初は「ちょっと反応悪いかな?」くらいだったのが、いつの間にか押し込まないと反応しなくなってきて、最近はアプリ切り替え…
飲茶さんの新刊、『14歳からの哲学入門』を読み終わったので、その紹介と感想など。 14歳からの哲学入門 「今」を生きるためのテキスト作者: 飲茶出版社/メーカー: 二見書房発売日: 2015/07/27メディア: 単行本この商品を含むブログ (1件) を見る コンセプ…