【发布时间】:2020-08-02 09:15:08
【问题描述】:
首先,我真的很抱歉我的英语不好 我试图尽可能多地解释这个问题
c 掷骰子游戏
计算机掷两个骰子,如果结果是 7 或 11,则直接获胜,或者结果为 2,3 和 12,则直接失败。
如果总和是 4、5、6、8、9 或 10,它希望您再次掷骰子。这次你必须找到相同的和 4,5,6,8,9 或 10 如果您在找到相同的数字之前获得了 7 或 11,那么您就输了。 (这就是问题所在,即使计算机两次找到相同的数字。它不会打印出“你赢了”。 https://imgur.com/KL358Fi
示例: 骰子正在滚动... 11 你赢了。
你想再玩一次吗(y/Y – n/N)?是的
骰子正在滚动... 3 你输了
你想再玩一次吗(y/Y – n/N)?是的
骰子正在滚动... 12 Kaybettiniz
Yeni oyun oynansin mi (y/Y – n/N)?是的
骰子正在滚动... 7 你赢了。
你想再玩一次吗(y/Y – n/N)?是的
骰子正在滚动... 7 你赢了
你想再玩一次吗(y/Y – n/N)?是的
掷骰子... 9 结果不明确,将再次掷骰子。滚动(r/R)?
骰子正在滚动... 8 结果不清楚,将再次滚动骰子。滚动(r/R)?
骰子正在滚动... 11 结果不明确,将再次滚动骰子。滚动(r/R)?回复
骰子正在滚动... 9 你赢了。
Yeni oyun oynansın mı (y/Y –(n/N)? e
Zarlar atiliyor... 5 结果不明确,将再次掷骰子。滚动 (r/R) r
Zarlar atiliyor... 10 结果不明确,将再次掷骰子。滚动 (r/R) r
Zarlar atiliyor... 7 你输了。
你想再玩一次吗(y/Y – n/N)?否
CRAPS 已经结束。
#include<stdio.h>
#include <time.h>
int main()
{
char ynd;
int kazan=0;
int sonuc=0;
char yoyun;
do{
printf("dice is rolling ");
srand(time(NULL));
kazan = rand()%11+1;
kazan++;
if( kazan==7 || kazan==11 )
{
printf(" %d you won.\n",kazan);
}
else if( kazan==2 || kazan==3 || kazan==12 )
{
printf(" %d you lose.\n",kazan);
}
sonuc=kazan;
if( kazan==4 || kazan==5 || kazan==6 || kazan==8 || kazan==9 || kazan==10 )
{
do{
printf("%d result is unclear, dice will be rolled again roll(r/R) ",kazan);
scanf(" %s",&ynd);
printf("dice is rolling ");
kazan = rand()%11+1;
kazan++;
if(kazan == sonuc)
{
printf("%d you won",kazan);
break;
}
else if(kazan==7){
printf("%d You lose",kazan);
break;
}
}
while(ynd=='r' || ynd=='R');
}
printf("want to play a new game ( y/Y-n/N )");
scanf(" %s",&yoyun);
} while(yoyun=='y' || yoyun=='Y');
printf("craps has ended");
return 0;
}
【问题讨论】:
-
您的问题是什么?你把代码贴出来了,有问题吗?
-
请阅读the help pages,接受SO tour,阅读How to Ask,以及this question checklist。
-
如果骰子是 4、5、6、8、9 或 10,我希望计算机找到相同的数字并打印为“你赢了”。
-
您没有解释您发布的(太多)代码遇到的任何问题,也没有提出任何问题。转储大量代码并期望我们都弄清楚您在问什么然后回答它是不合适的。请花一些时间阅读How to Ask 和minimal reproducible example,然后返回edit 您的帖子并提出更完整的问题,以便我们提供帮助。
标签: c