1.投骰子的随机游戏

              💀😸 内卷起来家银们 🤥💀

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LiP6YGN5LiJ5Y2B5YWt5bK4,size_20,color_FFFFFF,t_70,g_se,x_16

 

介绍:

每个骰子有六面,点数分别为1、2、3、4、5、6,游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子。

每轮投两次骰子:

  • 第一轮如果和数为 7 或 11 则为胜,游戏结束;
  • 和数为 2、3 或 12 则为负,游戏结束;
  • 和数为其它值则将此值作为自己的点数,继续第二轮、第三轮…直到某轮的和数等于点数则取胜,若在此前出现和数为7则为负。

编程实现:

设计函数rollDice,负责模拟投骰子的过程,实现计算和数并将和数返回。main函数专注于游戏的过程,调用rollDice函数来实现投骰子游戏。

#include <iostream>
#include <cstdlib>
using namespace std;
enum game{WIN,LOST,PLAYNG};//枚举四种情况
//投骰子、计算和数、返回和数
int rollDice(){
  int d1=1+rand()%6;
    int d2=1+rand()%6;
    int sum=d1+d2;
    cout<<"player rolled "<<d1<<"+"<<d2<<"="<<sum<<endl;
    return sum;
}

int main(){
int sum,mypoint;
    game sta;
    unsigned seed;
    cin>>seed;
    srand(seed); //seed随机数种子
    sum=rollDice();
    switch(sum)
    {
            case 7:
            case 11:
                sta=WIN;
                break;
            case 2:
            case 3:
            case 12:
                sta=LOST;
                break;
        default:
            sta=PLAYNG;
            mypoint=sum;
            cout<<"pointis: "<<mypoint<<endl;
            break;         
    }
    while(sta==PLAYNG)//开始进行第二轮......
    {
        sum=rollDice();
        if(sum==mypoint)
            sta=WIN;
        else if(sum==7)
            sta=LOST;
    }
    if(sta==WIN)
        cout<<"player wins"<<endl;
    else
        cout<<"player loses"<<endl;
    return 0;
}

有兴趣的小伙伴可以试着运行

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6LiP6YGN5LiJ5Y2B5YWt5bK4,size_19,color_FFFFFF,t_70,g_se,x_16

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值