掷骰子交替游戏c++编程

掷骰子交替游戏c++编程,第1张

一.rand()函数产生0到32767范围内的整数。二.有且仅有5种规则立方液烂兆体的所有面的形状和大小都相同(四、历腊六、八、十二、二十面)。三.算法:

⒈把随机数除以6(面数)取余数,余数在0到5间的整数;

⒉余数加一,得1到6的整数;

⒊因为骰子有不同的面闹租数,因此把第一步的面数用变量sides代替。四.源程序:

#include <stdio.h>

#include <stdlib.h>

#include <time.h> int main(void)

{

int rollem(int)

int roll_n_dice(int,int) int dice,roll,sides/*骰数个数,总点数,一个骰子的面数*/srand((unsigned int)time(0))

printf("输入骰子的面数(输入0退出):")

while(scanf("%d",&sides)==1&&sides>0)

{

printf("输入骰子的个数:")

scanf("%d",&dice)

roll=roll_n_dice(dice,sides)

printf("使用%d个%d面骰子掷%d点。",dice,sides,roll)

printf("\n输入骰子的面数(输入0退出):")

}

return 0

}int rollem(int sides)

{

int roll roll=rand()%sides+1

return roll

}int roll_n_dice(int dice,int sides)

{

int d

int total=0 if(sides<2)

{

printf("至少两个面!!!\n")

return -2

}

if(dice<1)

{

printf("至少一个骰子!!!\n")

return -1

}

for(d=0d<diced++) total+=rollem(sides)

return total

}

具体 *** 作步骤:

1)在VC++中建立一个工程;

2)在程序开始的注释行禅纤旁中写上你自己的信息;

3)生成1-6之间的一个随机数,为了使随机数更随机,可以使用随机数初始化函数srand()

模拟掷骰子的程序段参考如下:

printf("\n请掷骰子(按Enter键)")

getchar()

srand((unsigned)time(NULL))

num1=rand()%6+1

printf("\n您掷的骰子点数是%d\n",num1)

为了使上面一段程序能够正常编译连接,在程序开始应该包含下面的头文件:

#include"stdlib.h"

#include"time.h"

4)在程序编译正确后,要求在程序运行时提示您按ENTER键(模拟掷骰子).

在你按ENTER键后,生竖枯成第一个随机数,并进行显示;

之后提示你第二次掷骰子(按ENTER键),在你按ENTER键后,生成第二个随机数,并进行显示。

可以利用getchar()函数等待按下ENTER。注意在需要时使用函数fflush(stdin)清除键盘缓冲贺橡区。

5)使用ifelse转移控制语句判断两次生成的随机数的大小,分别根据不同情况输出下面的语句之一:

"\nPlayer1的点数大,Player1胜出!\n"

"\nPlayer2的点数大,Player2胜出!\n"

"\nPlayer1和Player2点数一样大,平局!\n"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12377854.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存