Вы начинаете бросать кости. Удалите 6 и сложите оставшиеся кости, чтобы получить r_1. Теперь бросьте оставшиеся кости, уберите 6 и сложите оставшиеся кости, чтобы получить r_2; продолжайте до тех пор, пока все кости не покажут 6 (у вас ничего не осталось). Ваша оценка S = r_1 + r_2 + … + r_t, где t было количество бросков. Если S> 5 м, вы выигрываете, в противном случае вы проигрываете.
Код:
#include <iostream>
#include <stdio.h> // NULL
#include <stdlib.h> // srand, rand
#include <time.h> // time
using namespace std;
void cheddar();
void feta();
int main(){
//cheddar();
feta();
}
void feta(){
int count = 1;
int ri = 0;
srand(time(0));
int dice[7];
int score = 0;
int m = 7;
int fiveofm = 5*m;
int numofdice = 7;
do{
cout << count << " & ";
for(int i=0;i<7;i++){
dice[i]=rand()%6+1;
}
for(int i=0;i<7;i++){
cout << dice[i] << " & ";
}
for(int i=0;i<7;i++){
if (dice[i] != 6){
ri += dice[i];
//score += dice[i];
}
if (dice[i] == 6){
numofdice--;
}
}
cout << ri << endl;
ri = 0;
count++;
}while(numofdice != 0);
/*
if (score <= fiveofm){
cout << "You lose!" << endl;
}
else if (score > fiveofm){
cout << "You win!" << endl;
}
*/
}
Любая помощь будет оценена.
РЕДАКТИРОВАТЬ:
Извините, я нажал отправить, прежде чем набрал проблему. Он либо вызывает бесконечный цикл, либо не избавляется от 6, а затем генерирует оттуда. Он просто обновляет 5 новых номеров и сохраняет тот же номер справа, что и раньше.
Пример:
`2 & 3 & 3 & 4 & 1 & 5 & 6 & 18`
`6 & 1 & 1 & 6 & 1 & 4 & 2 & 9`
`5 & 3 & 6 & 6 & 5 & 5 & 4 & 22`
`5 & 3 & 3 & 3 & 3 & 6 & 5 & 22`
`2 & 5 & 5 & 3 & 6 & 5 & 1 & 21`
Вы не должны продолжать катиться все кости:
for(int i=0;i<7;i++)
Вместо этого используйте только те, которые все еще в игре:
int m = 7;
int numofdice = m;
do{
cout << count << " & ";
for(int i=numofdice-1; i>=0; --i){
dice[i]=rand()%6+1;
cout << dice[i] << " & ";
if (dice[i] == 6){
numofdice--;
}
else{
ri += dice[i];
//score += dice[i];
}
}
cout << ri << endl;
ri = 0;
count++;
}while(numofdice != 0);
(Обратите внимание, что когда вы делаете это таким образом, нет необходимости в массиве.)
Других решений пока нет …