はじめに
(再び)コンソールで動くゲームの制作をする機会を得たので0から自分なりに効率の良い制作の仕方を紹介して行きます。
コンソールゲームとは
ここでいうコンソールゲームはWindowsのコンソール上で動くゲームの事を指します。
誰もが知っているこの黒い画面です。
こんな者でゲームが動くわけがないと思うかもしれませんが、以外とこれでゲームを作ってる人がいて、Youtubeで「windows console game」と調べてみると色々出て来ます。
最初に書いたように"再び"制作するのですが、過去にこんなゲームを作っています。
C言語覚えたての頃なので温かい目で見守ってやって下さい(;
コンソールゲーム(黒歴史 pic.twitter.com/DM5NsFvT5I
— Selector (@selector828) 2017年6月3日
*埋め込みツイートが見れない場合はこちらのリンクから
開発環境
- Visual Studio 2015 VC++
- Surface Pro 4
- Windows10
- Intel i5
- メモリ 4GB
PC性能でゴリ押しーなんて事はしたく無いので標準的(?)なスペックで制作をしています。
描画(出力)
コンソールでゲームを作るに当たって、間違いなく一番工夫をしなきゃ行けないのは描画です。
元々ゲーム向けでは無いので、用意されている物だけを使ってゲームを作らなきゃ行けません。
コンソール用に用意されている関数はMSDN(英語 : 日本語)で確認できます。
英語ページの方が関数が数個多いので英語版も目を通しておくと良いかもしれません。
今回は描画の処理を作っていくので出力に使えそうな関数に注目します。
出力関数といえば標準出力のprintf関数を思い浮かびますが、ゲーム制作には向いていません。(後々解説します)
出力関数
- FillConsoleOutputAttribute:指定位置から指定したセル分の色(文字・背景)を再設定する。
- FillConsoleOutputCharacter:指定位置から指定したせる分の文字を再設定する。
- WriteConsole:指定した位置から指定した文字列を書きこむ。
- WriteConsoleOutput:指定した長方形ブロックに含まれる文字セルに、文字と色(文字、背景)。
- WriteConsoleOutputAttribute:指定した長方形ブロックに含まれる文字セルに、色(文字・背景)の再設定します。
- WriteConsoleOutputCharacter:指定した長方形ブロックに含まれる文字セルに、文字の再設定します。
補助
- SetConsoleTextAttribute:カーソルの色(文字、背景)を設定します。
- SetConsoleCursorPosition:カーソル位置を設定します。
次回
次回はそれぞれの出力関数の使い所と理由を説明します。
長い文は書き慣れていなくて、体力が尽きたので続きは後日投稿します。
また来て下さい。