凡人の日々の経過を記録
カレンダー
カテゴリー
リンク
最新記事
(03/21)
(03/11)
(03/05)
(03/02)
(02/06)
ブログ内検索
コガネモチ
コンソール上でゲームを作る場合、どうしてもクリアしなくてはいけない問題がある。
それは、キー入力と画面操作。 キー入力には一般にscanfやgetcなどがあるが、これを使用するとそこで処理が止まってしまうので都合が悪い。 そこで、kbhit()とgetch()を利用する。 kbhit()はキー入力がある場合、1を返し、それ以外は0を返すもので、処理は止まらない。 画面操作としては、エスケープシーケンスといったものがある。しかし、WindowsXPの場合は、このエスケープシーケンスによる操作ができないため、代用できるものが必要になる。 画面クリアとしてはsystem( "cls" )を実行する方法がある。 system()関数はコマンドプロンプト上で実行できるコマンドをCプログラム中で書くことができるものである。 コマンドプロンプト上で"cls"と入力すれば画面クリアすることができるので、これを利用する。 以下にプログラム例をのせる
PR 最近、うどんが食べたくなって作ることにした。
うどんは、冷凍うどんに限る。冷凍最高!!! スーパーへ行ったら、冷凍うどんがあったのでそれを買ってうどんを作ることにした。 作ったのは煮込みうどんで、材料はたまねぎ、にんじん、長ネギ、油揚げ、ひき肉といたってシンプルなものにした。 味は味噌味にしたが、なかなかおいしくできた。 うどんのコシがしっかりしていて、料理へたな私でもおいしいものを作ることができた。 冷凍うどんの良さは、冷凍室で買い置きできるし、作ったときのコシの強さがいい。 ということで、これからうどんは冷凍を買って作ろうと思う。 今回、材料が1人前よりも多くなってしまった。 油揚げとか、あまってもどうしようもないので、残りは適当に切って冷凍することにした。 冷凍って便利だね。 ご飯もれ~と~ お味噌もれ~と~ 最近は、会社でC++の勉強をしている。
一応、講習という形で行われているのだが、声も届かず、黒板も見えず、はっきり行って自分で勝手にやっていたほうがいいのではと思う。 ただ、演習問題が配られるので、それは結構勉強になるのでやっている。 C++は、大学のときにちょっとやっていて、オブジェクト指向とか、クラスとかの辺は、ほどほどのものなら作れた。 今回、コピーコンストラクタというものがでてきたのだが、これがくせものだった。 クラスのメンバ変数で、int型とかchar型とかの静的な場合は、ただ単にコピーするだけで良いのだが、ポインタといった動的な場合は、ひと工夫が必要らしい。 デフォルトのコピーコンストラクタの仕様は、ビットごとにオブジェクトをコピーする、というものなのだが、ここで、メンバにポインタが使われている場合、そこに格納されたアドレスがそのままコピーされてしまう。 よって、コピーコンストラクタによって生成したオブジェクトとその元の動的なメンバ変数は、同じ場所をさしてしまうため、メモリの開放をダブって行ってしまう危険性がある。 私は、このことをはじめ知らなかったので、デストラクタでdeleteとやっていたのだが、どうもエラーがおこってしまい、うまくいかず悩んでしまった。 大学でも、同じ経験があったので、これがわかったことは、かなりの収穫だった。 コピーコンストラクタと同じように、代入演算子も同じらしい。 C言語はなかなか奥が深いが、C++も奥が深そうだ。 馴れるまでが大変そうだ。
Powered by 忍者ブログ
Design by © まめの
Copyright © [ ずくのない凡人の日記 ] All Rights Reserved. http://bambooflow.blog.shinobi.jp/ |