近況報告
解析学の中間試験……むり
統計力学ゼミ発表……はやく準備しなきゃ
量子力学・微分幾何・確率統計あたりの勉強がしたい
でも微積も線型もなにも分かってない……
電磁気学の授業わからず
S自評どうするんや……
ゲーム作りたい
お絵かきもしたい
CTF……
死ぬしかないじゃない
Slackチャンネルに入ってね
Slackに#csgameというチャンネルを作ったので、部員の人はここに入ってください。質問などをここでも受け付けます。
まだ部員でない方も、もし質問があれば口頭で説明するので、安心して下さい。
初めての人のために
このプロジェクトでは最後(夏休み前か後を予定)に作ったゲームを発表してもらおうと思っています。
みんなで遊んで品評会をしましょう。
実際に作る段になってから考え初めても大変なので、どういうものを作りたいか予め考えておいて下さい。
高度なものは求めません。3分ゲーのようなもので結構です。
ゲームを完成させること
一つの例として「ゲームを完成させること」を目標にしてみるのはいいのではないかな、と思います。
誰かゲーム会社の人がツイッターで「どんな稚拙なものでも、ゲームをエンディングまできちんと完成させた学生さんはどれほどいるだろう?」みたいなことを言っていたのを見た記憶。
ちなみに私は完成させたことがないのでこれを目標にしたいと思います。
コーディング規約の話
http://dobon.net/vb/dotnet/beginner/namingrules.html
デバッグの基本手法
「メモリを覗く」「1ステップずつ実行する」などの手法があります。
プログラムはメモリ上に展開され、それをCPUが順番に読み取ることで実行されます(C#の場合はCLIという規格に基づいた仮想環境上で実行されます)。
そこを覗いて動作を確認したり、直に書き換えて動作を変更したりすることでバグを探します。
デバッグの基本手法
実行ファイル(*.exe)だけが与えられたときにデバッグするのは、かなり難しいです。
やりたいひとはCTF勉強会へ!
今回はソースコードを自分で書いているので、デバッグに適した形式でコンパイルできるなど、とてもやりやすいです。
Visual Studioは最高。
実習タイム
キャラクターを動かしてみましょう。
実は前に一度画像を動かしていますが、あれは座標や画像をGame1クラスに直接指定していて設計としてはあまりにも初歩的でした。
もう少しオブジェクト指向らしく、キャラクターのクラスをつくって、そこにキャラクターの座標や画像をもたせてみましょう。
設計案
Keysクラス
各キーが押され続けているフレーム数
Monogameの初期装備のキーボード入力クラスは「この瞬間に押されているか否か」しかとれないので、長押しの情報をとるためにこのようなクラスを作る。