C 两人掷骰子游戏
我必须和两名球员进行一场比赛。每人掷一个骰子,然后骰子数较大的人得一分。这种情况发生了十次 这个节目可以吗?我怎么做这个游戏C 两人掷骰子游戏,c,C,我必须和两名球员进行一场比赛。每人掷一个骰子,然后骰子数较大的人得一分。这种情况发生了十次 这个节目可以吗?我怎么做这个游戏 int main(int argc, char** argv) int i; int sumplayer1=0,sumplayer2=0; int dice1 = 0; int dice2 = 0; time_t t; srand(time(&t)); for (i=0;i<=10; i++)
int main(int argc, char** argv)
int i;
int sumplayer1=0,sumplayer2=0;
int dice1 = 0;
int dice2 = 0;
time_t t;
srand(time(&t));
for (i=0;i<=10; i++)
{
dice1 = (rand() % 6);
dice2 = (rand() % 6);
if (dice1>dice2)
sumplayer1=sumplayer1+1;
if (dice1<dice2)
sumplayer2=sumplayer2+1;
if (dice1==dice2){
sumplayer1=sumplayer1;
sumplayer2=sumplayer2;
}
if (sumplayer1>sumplayer2){
printf("player 1 won");
}
if (sumplayer1<sumplayer2){
printf("player 2 won");
}
return 0;
}
}
不,你的密码不正确。您的代码中有一些错误。下面是更正的代码,所有错误都已更正:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //neccessary headers
int main(int argc, char** argv)
{ // You forgot this
int i;
int sumplayer1=0,sumplayer2=0;
int dice1 = 0;
int dice2 = 0;
time_t t;
srand(time(&t));
for (i=0;i<10; i++) // use < not <= as you want to loop 10 times
{
dice1 = (rand() % 6)+1;
dice2 = (rand() % 6)+1; //+1 because die values are 1-6 not 0-5
if (dice1>dice2)
sumplayer1++;
else if (dice1<dice2) //use else if
sumplayer2++; //++ is much easier to understand
/*if (dice1==dice2){ // No need of this part
sumplayer1=sumplayer1;
sumplayer2=sumplayer2;}*/
}
if (sumplayer1>sumplayer2){
printf("player 1 won");
}
else if (sumplayer1<sumplayer2){ //use else if
printf("player 2 won");
}else //There is a possibilty when both players get equal score
printf("Its a tie");
return 0;
}
//} Extra one here
整理压痕。在include中插入并添加注释。这里和那里的两个空格不会出错。这个程序可以吗?-你测试过了吗?发生什么事了?调试,调试器,调试!没有什么比通过观察代码逐行执行来学习和发现错误更好的了。快乐学习:兰德之后的+1并不重要。0-5,1-6将计算出sameI知道的结果。但它更方便做,因为OP说这是一个骰子游戏。