2012年11月30日金曜日

12/11/29(背景を書く)

○アンドロイドゲーム


背景のマップ作り、一応納得のいく背景の一つができた。
後は実際に描画して試してみる。


○基本情報(235,+5)

cpuの基本

2012年11月29日木曜日

12/11/28(レコード(基本情報))

○基本情報(230,+30)

今日はレコードのところをやりましたが、覚えられそうにないので
記入しておく。


総ブロック数


コード数 / ブロック化因数


1ブロックの記録に必要な容量


ブロックの長さ + IBG(Inter Block Gap)


1トラックに記録できるブロック数


1トラックの容量 / 1ブロックに必要な容量


必要なトラック数


総ブロック数 / 1トラックに記録できるブロック数


必要なシリンダ数


必要なトラック数 / シリンダ当たりのトラック数


次は.....



△平均アクセス時間の求め方


□平均アクセス時間


平均シーク時間 + 平均回転待ち時間 + データー転送時間


□平均回転待ち時間

 
ディスクが1/2回転する時間


□データー転送時間


ディスクが「データー分」回転する時間



実際に記録されている様子とかを見ると意味がわかるんだと思う。
そうじゃなきゃ暗記地獄です。やる気をそいでくれる。


○codler(AOJ)


20.Capitalize

難易度1
知識問題


入力された文字列が小文字だった際に大文字に変換せよという問題。
文字の並びをしらないと解けない問題ですが、これは常識なのでしょう。

いくつずらすんだっけか、と思いましたがネットで調べてなるほどと思いました。

char s[length]

として、

s[0] += 'A' - 'a';

とすれば文字の長さがいくつかわからなくても変換できることに気づきました。
というか、aからzまでの長さでいいじゃないかと今思った。








2012年11月28日水曜日

12/11/27(ネオン)

○codler

アルゴリズムの基本という本を読んでいる。
とても簡単な本です。

その中ではじめて知ったこと、


グラフ、フィボナッチ数列、ワーク変数、バケットソート


□ワーク変数は値を入れ替えるときに使う変数の総称だそうです。


int a,b,c;
a = 1;
b = 2;

c = a;
a = b;
b = a;


この時のcをワーク変数というそうです。
呼び名があったなんて初めて知った。


□バケットソート


バケットソートはソートの方法です。
なんとソートするにあたって全てのデーター範囲をあらかじめもっておくという方法だそうです。
普通はこんなこと考えないと思う。馬鹿だと思われるだろうから。


○アンドロイドゲーム


今回も素材作り、背景用のマップチップを書きました。
gimp2を使って、ネオンを酷使してなんとか光っているぽいマップを作る。
なのでプログラムはしていません。


○基本情報(200,+15)

200分突入、まだ三時間くらいしかやってない。
4月が本番だからたぶん問題ない。
メモリの仕組みをやる。




2012年11月27日火曜日

12/11/26(基本)

今日はできなかった。

○基本情報

cpuの計算のところ

2012年11月26日月曜日

12/11/25(背景に乗り出す)

○codler(AOJ)


33.Ball(難易度1)


ボールを積んでいく問題、特に難しいところはなかったけれども、
自分は入れものを二つ使ったが、他の人のコードを見ると一つしか使っていなかった。

自分は問題の解法を直線的にしてしまうので、もっと効率というか容量とかを食わないように
気をつけながら書かないと意味がないと思った。

でも自分でかけないことはしょうがないか。
とにかく人のいいところをまねしないということはわかってます。
なかなかできないけれども。


○アンドロイドゲーム


めんどくさくてやりたくなかった背景を書くことをはじめた。
とりあえず今回は初の2重スクロールにしようと思っているので、頑張ってみようと思う。


○基本情報(175,+20)


10章タスク管理


正直よくわかりません。


2012年11月25日日曜日

12/11/24(背景の取り組む)

○codler

「アルゴリズムC」

木探索の部分を読む、用語がいっぱい出てきてよくわかりません。
実際にサンプルコードを読まないとわからないかもしれない、読んでもわからないかもしれない。

もっとジャンキーな本がないかなーと思う。



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


chapter18.立体の衝突判定


とうとう内積と外積が登場する。
プログラムにおいての数学の大切さを痛感しました。

こういう内容が使えるようになって初めてゲームプログラマーといえるようになるじゃないだろうか?
でも今は中身がわからなくても、ライブラリーがあればできるし、どうなんでしょうか。
もちろん使えるようになりたいです。


○アンドロイドゲームプログラム

棘のオブジェクトは作りたかったので、そのプログラムを書いた。
後は、背景のアニメーションとか、絵図らのほうをどうしようかと色々考えた。
やっぱりアニメーションしていないとゲームとしての寂しさはぬぐえないし、
取り入れるべきだと思う。


問題は絵に時間がかかることである。そのあたりをどうにかしたい。
とりあえずアイデアを考える。


○基本情報(155,20)

プロセッサの仕組み、暗記物です

2012年11月23日金曜日

12/11/23(ゲーム弾の処理)

○colder(AOJ)

60.Card Game

難易度1


ブラックジャックのプログラムを書けというものかと思ったら、
前半の前置きはほぼ関係なかったというがっかり問題だった。
相変わらず見栄えのあまりよくないプログラムになってしまったが、これはしょうがないと思う。


○基本情報(135,+15)


6章プロセッサの仕組み

アドレスの指定方式などをやる。覚えることがありすぎる


○アンドロイドゲーム


弾の発射処理のプログラムをする。
マップとの当たり判定をとりあえず取り入れる。
敵はまだやっていません。

12/11/22(t66.TicTacToe)

○codler(AOJ)

66.TicTacToe

難易度1


○×の書いた文字列が与えられて、勝敗を判定するプログラムを書く問題。
とくに難しいところはないですが、短くしたり効率よくするならば色々とやり方があるのでしょう。

自分は、そのまま配列を使って、なにも面白みのないものをそのまま書きました。
これじゃ成長しないな

後、アルゴリズムCを読んだ


○アンドロイドゲーム


アイデアを考える、そしてスクロール処理を入れようかどうか迷う。
さらに、背景を2重にするにはどうしたらいいか考える。絵的な意味で、

普段から考えるようにしようと思う。


○基本情報(120,+30)

コンピュータシステムの部分をやる、わからない単語がかなりでてきた。
なんでも覚えなきゃいけないんだなと落胆。


□命令レジスタ


主記憶から取り出した命令を格納するためのレジスタ。


□フラグレジスタ


演算結果の正負や、比較命令の実行結果の大小関係に応じて値が格納される。


□プログラムカウンタ


現在実行中の命令や、次に実行する命令が格納されている、主記憶上のアドレスを保持する。
命令アドレスレジスタとも呼ばれる。


□アキュムレーター


演算対象となるデーターや演算結果を保持する。


□インデックスレジスタ


インデックスアドレス指定方式で用いるレジスタ。


□ベースレジスタ


ベースアドレス指定方式で用いるレジスタ。



2012年11月22日木曜日

12/11/21(当たり判定直す)

○codler(AOJ)

28(ModeValue)難易度1


最頻値を求める問題、当然すぐできる問題だったが、入力条件を考えてたらすぐできなかった。
どんな状況で終わるかが書いてないからわかりません。
EOFで終了するようにした。

思ったよりもぐだぐだなコードになってしまった。スマートな書き方がしたいけど、
これは本で勉強するしかないなと思った。


○アンドロイドゲーム(当たり判定)


昨日作った当たり判定に穴があったので直しました。
直した結果、if文も減ったし、結果コードの量も減ったわでいいことづくめだわ^-^、
早くこうゆう風に書いてればよかったと思ったけど、いままで作ってきたからこそわかったことなのだとも思った。

絶対にもっと効率のいい書き方があるけれども、どんどん進みたいからとりあえず放置する。


○基本情報(90,+45)

昨日もやっていたが、書き忘れていた。

今日の知らないワードは、


オートマトン、メジアン、相関係数、BNFであった。

一応全部覚えたけれど、また忘れるわ


メジアン:


整列したデーターの中で中央に来る値のこと。



これだけ知ってれば大丈夫


2012年11月21日水曜日

12/11/20(ゲームの当たり判定を見直す)

○codler

アルゴリズムCの本をやった。

今日はおなじみのstackやqueueなどをやる。
いつかこうゆうのを使うときがくるのでしょうか?


○アンドロイドゲーム制作


今回作るのもアクションゲームですが、またまた当たり判定をみなすことにしました。

X軸方向の移動に対する当たり判定を見直しましたが、一年前から作り始めてきた
アクションゲームもだいぶ作り方がわかってきた感じです。

今回は好きな移動量でもめり込まないようなプログラムを書きました。
今までは、移動量が一定量で固定でしたが、今回はすきな移動量でもめり込まないような
プログラムを書いてみました。

まあ一人で考えているから時間がかかるのはしょうがない。
改良を加えて少しづつましになっている感じがします。

やっぱりなんか作るのは楽しい

2012年11月20日火曜日

12/11/19(三角関数)

○codler(AOJ)

三角関数の問題、要約すると。
またtimeoverになってしまった。
原因は、入力の取り方が間違っていて、無限ループに陥っているみたいだった。

この間のtimeoverもたぶんこれが原因だろう。


○基本情報(45,+5)

値のとり方の問題をやる間違えましたので、ここに乗せておきます。


○平均値:


データーの総和 / データー数


○中央値(メジアン):


データを値の大きさの順に並べたとき、
中央に位置するデーター値


○最頻値(モード)


度数(現れる頻度)のもっとも多いデーター値


○分散


(データー値 - 平均値)^2の総和 / データー数


○標準偏差


ルート(分散)


これは常識なのだろうか








2012年11月18日日曜日

12/11/18(アルゴリズムC)

codlerで問題を解いていても新しい知識はなかなか身につかないので、
アルゴリズムCも一日おきに読むことにしました。

○codler(アルゴリズムC1巻)

素数のふるい問題や、循環リストの作り方など


○基本情報(40,+30)

進数問題と確率問題など

12/11/17(基本)

○基本情報(+5)

進数変換問題

2012年11月17日土曜日

12/11/16(原因がわからず)

○codler(AOJ)

15.National budgetをやる。


答えはあっているはずなのに、なぜかtimeOverになってしまう。
forだって100回しか回してないし、自分の環境ではちゃんと実行できるのに原因がまったくわからない。なにか依存しているのかな


○基本情報(10,+10)

進数の変換



2012年11月16日金曜日

12/11/15(基本情報技術者試験を受けることにした)

IT系の資格を何も持っていないので、基本情報試験を受けることにした。
いまさら意味ないんじゃないと思われるけど、最終的にネットワークスペシャリストの資格を取りたいので、そのステップの一つとしたいと思う。
一日15分以上は勉強したい。


○codler(AOJ)

integral

つまりは積分の問題、恥ずかしながら答えを見るまで問題の意味がわからなかった。
理解力が足りません。どうしようもない


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

chapter17が終わって、chapter18立体の衝突判定に入った。

なんか、最初から難しいです。覚悟しないと理解できないな。



○基本情報

2進数の簡単な問題



2012年11月15日木曜日

12/11/14(アルゴリズムCを借りた)

図書館でアルゴリズムCという本を借りた。
アルゴリズムを説明した、基本的な本らしいです。

ぱらっと見ると章末に問題が載っていますが、答えのソースが書いていない。
ネットにソースが載っているみたいです。
とりあえず読み進めようと思う。


○codler(AOJ)

videoTapeの問題、難易度1の問題だが、勘違いして間違えた。

アルゴリズムCの本をぱらっと見る。


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でやったら、時間オーバーではじかれた。
素因数分解すればいいだけなのに、プログラムにすると直感的にできないから難しいです。

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


2012年11月7日水曜日

12/11/6(スタック)

○codler


この日もスタックというかリスト系の処理をやった。

そして、C言語によるはじめてのアルゴリズム入門という本で、スタックの部分を勉強したが、
説明が少なくよくわからない。
もともとわかっているけれど、説明が少ないと思う。
あとちょっと変な気がする。

そんな感じでアルゴリズムを勉強中。


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


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


ちょうどアルゴリズムとかデータ構造をやっているのでどんぴしゃの内容で大変勉強になります。
先の本と比べて解説も詳しいし、サンプルコードにもコメントが記載されているので、
理解に困ることはありません。

その中で2分検索のやり方が出ていたが、そういえば学校で前習って、実際にコードを書いたことを思い出した。その頃は気づかなかったが早いのか。

codlerの探索問題につかえますな。


○自作ゲーム


主人公のデザインなどを考えた。少し内容が決まった。
ちょこちょこ書いている。

2012年11月6日火曜日

12/11/5(風邪気味)

○codler


スタックの問題をやる。というよりも、問題文の入力の仕方がわからなかったので、
答えを見てしまった。

プログラムがわからないわけではないので、良しとしました。
わからないのもあったけれど、


○game


新しいゲームをandroidで作ることにした。
アイデアなどを考えた。

2012年11月4日日曜日

12/11/4(stackなど)

○codler


スタックを使う問題やソートの問題などをやった。

スタックは最初にプログラムを勉強して以来やっていないし、使ってもいないので、
使い方を忘れていた。
そうゆう風に考えるといろいろなところが抜けていると思い初めてきて、いままでなにをやってきたのかと思いたくなった。
ちょうどいい機会なので、こういうことに強くなりたいと思いました。
いまさらやるのでなくて、今からやるのである。

後、一日一問を最低ノルマにして、2問くらいは毎日やろうと思った。


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


chapter16が終わって、chapter17の遅くないコードを書くためにに入った。

ちょうど今codlerでアルゴリズムとかをやっているので、いい勉強になると思います。
頑張ろう

12/11/3(ソートなど)

○Codler


今日は新しいことがいっぱいあった。

まずは、バブルソートをやって、その後にSelecionSortをやった後に逆ポーランド方式の問題などをやった。

問題の解き方がわからないといういうよりも、cinやstringを使う場合のやり方がわからなくて困ることが多かった。たぶん問題ではstringを使うことが多くなるから、しっかり使いこなせるようにならないといけない。
そう思ったけれど、stringは遅いからあんまりつかったらいけないのかもしれない。
後は、100円でCのアルゴリズムの本を買ってきた。
問題のパターンを覚えて、解ける問題を増やして、早く解けるようになりたいです。


○javascript


関連の本を注文していますが、洋書なので届くのに半月くらいかかるみたいです。
失敗しました。
なにやろうかな

2012年11月3日土曜日

12/11/2(ソートに入った)

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


chapter16:xmlもどきを読むの章

こういうことをひたすらやった記憶がよみがえってきた、退屈だしうまくいかなかった時の脱力感といったら、言葉では表せません。

とはいえ勉強になった、むずかしいですけど。


○codler


今日はソートのところに突入した他、いろいろな問題をやった。
ほとんどは考えるというよりも、C++の機能を知れば簡単に解けるけど、知らないと時間がかかるよ、という問題だった気がする。

後、範囲制限はほとんど気にしなくていいということがわかりました。
例外処理はしなくていいみたいです。


ソートはバブルソートくらいしか、名前と方法が一致するものがわからない。
この程度でどれくらいわかるようになるか。

2012年11月1日木曜日

12/11/1

○codler


会津大学の問題をひたすら解いた。
とりあえずの目標は高校生用のプログラムコンテストの問題が軽くとけるようになること、

ソートとか、プログラムの問題とかは、初めてプログラムを覚えはじめてちょっとやったくらいなので、そういう経験を身につけたい。楽しいし

12/10/31

○javascript


ネットで文法などを確認した。
最初はクラスが作れて、基本的なことがわかればいいと思っていましたが、
garbageが意外なところで発生することを知ったら、うすっぺらではいけないことに気づいた。
あーメンドクサイ、つくれない


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


chapter15ライブラリーの作り方を読み終えた。


今のところライブラリーを作ることはないだろう思う。
でも参考になりました。
これは他の色々なプログラムの本と比べても良書です。
一番いいです。


○codler


会津大学のプログラムテストサイトに登録して、
色々プログラムを打ちました。


c++はなかなか使う機会がないけれど、これで使うことになりそう。
やっているだけで楽しいです。
もっと早く出会えばよかった。


とりあえず、しらみつぶしに問題をやって、レベルを上げていきたい。
でも、ゲームプログラムに役立つかどうかは不明、あまり効果はない気がする。