读书人

双骰子游戏-编译不通过,该如何处理

发布时间: 2012-03-17 19:06:28 作者: rapoo

双骰子游戏--编译不通过
//游戏者投2个筛子,每个筛子有6面,把2个筛子朝上的点数想家
//在第一次投掷时候,如果得到的和为7或11,那么游戏者就赢了
//如果得到的和为2,3,12游戏者就输了
//如果为4,5,6,8,9,10,那么这个和就是游戏者的点数,要想赢得话,
//就必须投掷筛子,直到取得自己的点数,即为第一次透出的点数4,5,6,,8,9,10
//但是如果从第二次起,如果之点数为7,那么游戏者就输了

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
int rollDice(void);
int myPoint;
int gameStatus;
int sum;
srand((unsigned)time(NULL));
sum =rollDice();
switch(sum)
{
case 2:
case 3 :
case 12:

gameStatus =1;
break;
case 7:
case 11:
gameStatus =0;
break;
default :
gameStatus =2;
myPoint = sum;
printf("Point is %d,and wait for next turn!\n",myPoint);
break;
}

if (gameStatus==0)
{
printf("You win!");
}
else if (gameStatus==1)
{
printf("You lose!");
} else
{
sum =rollDice;
if(sum==myPoint)
{gameStatus=1;}
else if (sum ==7)
gameStatus =2;
return 0;

}

return 0;
}

int rollDice()
{
int dice1;
int dice2;
int total;

dice1= 1+rand()%6;
dice2=1+rand()%6;
total= dice1+dice2;
return total;


}

编译不通过,提示信息为:

C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin\²úÉúËæ»úÊý.cpp(48) : error C2440: '=' : cannot convert from 'int (__cdecl *)(void)' to 'int'


请朋友们帮帮忙啊

[解决办法]
{
sum =rollDice; // 改成sum = rollDice();
if(sum==myPoint)
{gameStatus=1;}
else if (sum ==7)
gameStatus =2;
return 0;

读书人网 >C语言

热点推荐