2012年11月14日水曜日

12/11/13(スタック問題)

○codler(AOJ)

AOJとはAize Online Judge のことだそうです。

今日は問題番号93,13をやりました。

13はスタックの機能を説明するような問題で難易度1、
93はうるう年のプログラムを書く問題でこちらも難易度1。

問題が先に進むにつれて、難しくなるのかと思っていたらそんなことはないようです。
後は、STLにもstackクラスがあることをはじめて知りました。


○アクションゲーム作り

自キャラの設定やクラスの関数を整理するなどの作業をした。
とりあえず動かしてみて、気に入った動作を取り入れようと思う。

2012年11月13日火曜日

12/11/12(三角形の中に点があるかどうか)

○codler


見出し通りのプログラムの問題をやった。

図に描いてやってみてもうまい解法が見つからなかったので、ネットで検索したら
非常に簡単に求められる式を発見した。
それはcodeに直すのが簡単だったので、codeに直して解きました。

三角形以外にも多角形にも対応できる方法があるみたいです。
数学を知っている人のほうが確実に有利だと思いました。


○ゲームプログラマーになる前に覚えておきたい技術


chapter17

遅くないコードを書くために


stlの使い方や、inlineのメリットデメリットなどを学習。

stlのmapはプログラムの問題でも使っているのを良く見るので、覚えておいたほうがいいかもしれない。


行数を短くするには、vectorもいりますね。遅いですけど

2012年11月11日日曜日

12/11/11(あみだくじ問題)

○codler

今日は、あみだくじ問題をやった。
やり方はわかるのですが、なぜか解答が合わずに色々やっていたら、50分も経ってしまって
解いたのが1時間後だった。

正答率80%くらいの簡単な問題のはずなのに、なにやってんだか。
頭が悪い


○ゲーム制作


新しい部分の入力部分などを、分業化したりした。
まだ最終的なコントローラー処理を決めたわけではありません。

いまのところジャンプと移動だけのシンプルなやつを作ろうと思っています。
後死にげーであること。

本来はこっちを優先しないとけない

2012年11月10日土曜日

12/11/10(2次方程式)

○codler

プログラムの問題で、2次方程式を使う問題をやった。

どうやって2次方程式を求めてめればいいのかよくわからない。
自分の頭でやればすぐ出てくるのに、

そういえば、そんなこと考えたこともありませんでした。

学ぶことがいっぱいあります。

12/11/9(素数)

○codler

今日は素数に関する問題をやった。

入力した数字が10だったら、0,1,2...10の間にいくつの素数があるかを出力する問題でした。

まあforで全部調べればそれで終わりなのだけれど、当然TimeOverになってしまうので、
それは駄目です。

それで、素数を調べてみると求める方法がいろいろあることがわかりました。
でも、疲れたので効率のよい方法はおいておいて、とりあえず自分で作りました。

そしたらよくわからないけど、wrong answerになってしまう。
原因がわからないので、答えのソースを見さしてもらったら、中で処理がよくわからないことをしていた。
たぶん調べればわかるようになるはず、
自分の知らないことがいっぱいあった。

世の中と同様に

2012年11月9日金曜日

12/11/8(切り上げ問題)

今日は、頼んでいたjavascriptでゲームを作る本が届きました。
今は、androidでゲームを作ることにしたので、ちょこちょこみていきたい。

○codler

1000未満の数字を切り上げるという問題をやりました。
まず、切り上げるという言葉の定義があいまいだったので、調べることにした。
そうしたら、自分の考えてる切り上げるという言葉の定義とは違っていて、
問題を何度か間違ってしまった。

あいまいにやっていたことがわかってよかった。
プログラムの問題を解くのは、色々いい方向に働きそうだ。


○ゲームプログラマーになる前に覚えておきたい技術


chapter17

キャッシュメモリの考え方とか、実際にどういう風にメモリが使われるかの学習をした。
そんなこと考えたことがなかったので、勉強になった。


○自作ゲーム


絵が出るようにした。アイデアだしをした。

2012年11月8日木曜日

12/11/7(最小公倍数、最大公約数)

○codler


問題で、最大公約数と最小公倍数を扱ったものやった。

まず、両者の意味をわすれてしまったので、調べた。

/*
 2つ以上の正の整数の共通な倍数(公倍数)のうち最小のものを最小公倍数といいます.
 例 2 と 3 の公倍数は,6,12,18,24,... で, 6 が最小公倍数
*/
/*
 2つ以上の正の整数に共通な約数(公約数)のうち最大のものを最大公約数といいます.
 例 12 と 18 の公約数は,1,2,3,6 で, 6 が最大公約数
*/
ということで、codeはforでやったら、時間オーバーではじかれた。
素因数分解すればいいだけなのに、プログラムにすると直感的にできないから難しいです。

答えを見て納得して、書きました。