Другие языки программирования и технологии
Дали задачу по С++ ,сделать игру "Кости"
Есть условие сделать игру, в которой будет участвовать 2 игрока, по очереди бросать "зарики" (костяшки) , нужно ввести счет до бесконечности и если выиграл то предложить пользователю продолжить игру или выйти ...Ребят я в замешательстве, изучаю недавно С++ никогда ничего подобного не делал . Я понимаю, что есть несколько циклов for для компьютерного игрока и пользователя и команда getch чтобы не закрывалось окно. Направьте по пути истинному. Заранее благодарю.
Что-нибудь типа такого?
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
void roll(int &s) {
static const char *ds[] {
" -----\n| |\n| . |\n| |\n -----\n",
" -----\n|. |\n| |\n| .|\n -----\n",
" -----\n|. |\n| . |\n| .|\n -----\n",
" -----\n|. .|\n| |\n|. .|\n -----\n",
" -----\n|. .|\n| . |\n|. .|\n -----\n",
" -----\n|. .|\n|. .|\n|. .|\n -----\n"
};
int d1 = rand() % 6 + 1, d2 = rand() % 6 + 1;
cout << ds[d1 - 1] << ds[d2 - 1] << "выброшено: " << d1 + d2 << "; всего: " << (s += d1 + d2);
}
int main() {
bool run = true;
int us = 0, gus = 0, cs = 0, gcs = 0, d1, d2;
srand(time(0));
while (run) {
cout << "\nваш бросок (нажмите Enter)";
char c = cin.get();
roll(us);
cout << "\nбросок компа: \n";
roll(cs);
if (cs >= 36 || us >= 36) {
if (cs == us) continue;
cout << (cs > us ? "\nкомп выиграл этот раунд" : "\nвы выиграли этот раунд")
<< "; общий счет: вы - " << (gus += us > cs) << "; комп - " << (gcs += cs > us)
<< "\nпродолжить игру (введите 1 для продолжения или 0 для окончания) ";
if (cin.get() != '1') run = false;
cin.sync();
cs = us = 0;
}
}
cout << (gus == gcs ? "ничья\n" : gus > gcs ? "вы выиграли\n" : "вы проиграли\n")
<< "нажмите Enter для выхода";
cin.get();
}
Хотите нормальную графику, пишите на почту.
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
void roll(int &s) {
static const char *ds[] {
" -----\n| |\n| . |\n| |\n -----\n",
" -----\n|. |\n| |\n| .|\n -----\n",
" -----\n|. |\n| . |\n| .|\n -----\n",
" -----\n|. .|\n| |\n|. .|\n -----\n",
" -----\n|. .|\n| . |\n|. .|\n -----\n",
" -----\n|. .|\n|. .|\n|. .|\n -----\n"
};
int d1 = rand() % 6 + 1, d2 = rand() % 6 + 1;
cout << ds[d1 - 1] << ds[d2 - 1] << "выброшено: " << d1 + d2 << "; всего: " << (s += d1 + d2);
}
int main() {
bool run = true;
int us = 0, gus = 0, cs = 0, gcs = 0, d1, d2;
srand(time(0));
while (run) {
cout << "\nваш бросок (нажмите Enter)";
char c = cin.get();
roll(us);
cout << "\nбросок компа: \n";
roll(cs);
if (cs >= 36 || us >= 36) {
if (cs == us) continue;
cout << (cs > us ? "\nкомп выиграл этот раунд" : "\nвы выиграли этот раунд")
<< "; общий счет: вы - " << (gus += us > cs) << "; комп - " << (gcs += cs > us)
<< "\nпродолжить игру (введите 1 для продолжения или 0 для окончания) ";
if (cin.get() != '1') run = false;
cin.sync();
cs = us = 0;
}
}
cout << (gus == gcs ? "ничья\n" : gus > gcs ? "вы выиграли\n" : "вы проиграли\n")
<< "нажмите Enter для выхода";
cin.get();
}
Хотите нормальную графику, пишите на почту.
Когда люди "в натуре" бросают зары, то что они видят? Два числа, каждое от 1 до 6. Вот от этого и пляши...
Сколько костей в игре?
Похожие вопросы
- Можно ли сделать игру своими силами?
- программисты профи,помогите. как сделать игру какой двиг лучше и как с чего начать хочу игру про паркур
- Не могу сделать игру в PascalAbc
- Решили с друзьями сделать игру, но для начала хотя бы простую, програмистов среди нас нет.
- как сделать игру через блокнот
- На каком движке, бесплатно можно сделать игру про революцию?
- Помогите люди с хорошей фантазией Я хочу сделать игру на cryengine 3 какую задумку посоветуете?
- Нужно сделать игру на C++ за деньги до 25 августа:
- Не могу сделать игру, так как не получается выучить программирование.
- C++ Игра в кости!