そこで少し疑問に思ったことがあったので質問させていただきます。
環境はWindows7,c++,DXライブラリです。
以下仮想コードで申し訳ないです・・・
#include "Dxlib.h"
title(){
switch(state){
case "New Gameが選択された時":
// ゲーム処理へ
break;
case "Load Gameが選択された時":
// ゲーム処理へ
break;
case "Exitが選択された時":
// 終了処理
break;
}
}
int WinMain(略){
// 初期化
while(メインループ){
title();
}
DxLib_End();
return 0;
}
質問したいのはtitle関数のcase "Exitが選択された時":についてです。
Exitが押された時プログラムを終了したいのですが、その方法として次のようなものが思い浮かびました。
方法1:
Exitが押された時return 1;など、適当な値を返しWinMain関数のメインループを抜けるようにする。
方法2:
c言語のexit関数を使用して強制的に終了させる。
方法1の場合、たとえばtitle関数の中のcalc関数の中の・・・のようにWinMain関数から遠い場合、
その都度returnで値を返さなければならないので、コードが汚くならないかなと危惧しています。
方法2の場合、DxLib_End関数は呼ばれないので、DXライブラリを使用しているのにいいのかなって思ってしまいます。
何か良い方法などありますでしょうか?
ご教授よろしくお願いします。