- Регистрация
- 23 Июн 2017
- Сообщения
- 981
- Лучшие ответы
- 38
- Репутация
- 364
PHP:
#include "pch.h"
#include <iostream>
#include <Windows.h>
#define MIN_ITEM_COUNT (0)
#define MAX_ITEM_COUNT (4)
#define MAX_ITEM_NAME_LEGTH (11)
#define DEFAULT_TIME_TO_SCORE_SEC (5)
#define UPDATE_GAMGE_IN_SEC (1)
using namespace std;
const char ITEM_NAME[MAX_ITEM_COUNT][MAX_ITEM_NAME_LEGTH + 1] =
{
"Компьютер",
"Видеокарта",
"Сервер",
"Дата-центр"
};
const float ITEM_PECENT_PRICE[MAX_ITEM_COUNT] =
{
30,
40,
50,
80
};
const float ITEM_ADD_COIN[MAX_ITEM_COUNT] =
{
0.0005,
0.003,
0.08,
0.1
};
struct Player
{
double p_coin;
float p_addmoney_sec;
int p_count_item[MAX_ITEM_COUNT];
float p_item_price[MAX_ITEM_COUNT];
};
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Player Player_1 = { 0.0000, 0.0001, { 0, 0, 0, 0 }, { 0.0002, 0.005, 0.01, 5.0 } };
int i = 0;
while (true)
{
Player_1.p_coin += Player_1.p_addmoney_sec;
cout << "Пополнение: " << Player_1.p_coin << " VKcoin (" << Player_1.p_addmoney_sec << "/с)" << endl;
if (++i == DEFAULT_TIME_TO_SCORE_SEC)
{
cout << "Весь список предметов: " << endl;
for (size_t j = 0; j < MAX_ITEM_COUNT; j++)
{
cout << (j + 1) << ". " << ITEM_NAME[j] << " за "
<< (Player_1.p_count_item[j] > 0 ? (Player_1.p_item_price[j] * (ITEM_PECENT_PRICE[j] / 100)) : (Player_1.p_item_price[j]))
<< " VKcoin" << endl;
}
int choose;
while (true)
{
cout << "Введите номер предмета, который хотите купить. В ином случае введите: -1" << endl;
cin >> choose;
if (choose != -1)
{
if (choose > MAX_ITEM_COUNT || choose < MIN_ITEM_COUNT + 1)
{
cout << "Введите номер предмета не больше " << MAX_ITEM_COUNT << " и не меньше " << MIN_ITEM_COUNT << endl;
continue;
}
else
{
float need_coin = (Player_1.p_count_item[choose - 1] > 0 ? (Player_1.p_item_price[choose - 1] * (ITEM_PECENT_PRICE[choose - 1] / 100)) : (Player_1.p_item_price[choose - 1]));
if (need_coin > Player_1.p_coin)
{
cout << "У вас недостаточно VKcoin, чтобы приобрести " << ITEM_NAME[choose - 1] << endl;
continue;
}
else
{
i = 0;
Player_1.p_coin -= need_coin;
Player_1.p_count_item[choose - 1] ++;
Player_1.p_item_price[choose - 1] = need_coin;
Player_1.p_addmoney_sec += ITEM_ADD_COIN[choose - 1];
cout << "Вы успешно приобрели " << ITEM_NAME[choose - 1] << " за " << need_coin << " VKcoin" << endl;
break;
}
}
}
else
{
i = 0;
break;
}
}
}
else
{
Sleep(1000 * UPDATE_GAMGE_IN_SEC);
}
}
cin.get();
return 0;
}
Последнее редактирование: