経験値テーブル作ってみたのですが
桁が100万超えたときに という省略表記になるのですがこうならないようにすることは可能でしょうか。
それと、「ここもっとこうしたほうがいいよ」的なのあれば教えていただけると幸いです。
#include <iostream>
using namespace std;
int main()
{
int level, //現在のレベル
nextexp; //次のレベルに必要な経験値
double exp, //コマンドで追加する経験値
nextdbexp; //次のレベルに必要な経験値詳細
level = 1; //初期レベル
nextdbexp = 10; //初期レベルからのレベルアップに必要な経験値
cout << "経験値の値を入力してください。" << endl;
cin >> exp; //経験値入力
nextexp = nextdbexp; //nextexpの小数点切捨て
nextdbexp = nextdbexp - exp; //次のレベルまでの経験値-入力経験値
cout << "[ " << exp << " ]の経験値獲得!" << endl;
if (nextdbexp > 0) //レベルが上がらない場合
{
cout << "次のレベルまで[ " << exp
<< " / " << nextexp << " ]" << endl;
}
else //レベルが上がる場合
{
while (nextdbexp <= 0) //次のレベルまでの経験値が+になるまで
{
level++; //レベル+1
cout << "レベルアップ![ " << level << " ]" << endl;
exp = nextdbexp * -1;
nextexp = nextexp * 2; //経験値テーブル計算↓
nextdbexp = level * 30;
nextdbexp = nextexp + nextdbexp;
nextdbexp = nextdbexp / 2; //経験値テーブル計算↑
nextexp = nextdbexp; //nextexpの小数点切捨て
if (level >= 100)
{
cout << "上限に達しました。" << endl;
break;
}
cout << "次のレベルまで[ " << exp
<< " / " << nextdbexp << " ]" << endl;
nextdbexp = nextdbexp - exp; //次のレベルまでの経験値-入力経験値
}
}
return 0;
}