当前位置:   article > 正文

双骰子赌博——C++算法题_双骰游戏数学建模

双骰游戏数学建模

Question:掷两个骰子。每个骰子有六面,检查两个骰子的和。如果和为2、3或12(称为掷骰子),你就输了;如果和为7或11(称作自然),你就赢了;但如果和是其他数字,就确定了一个点。继续掷骰子,直到掷出一个7或掷出和刚才相同的点数。如果掷出的是7,你就输了。如果掷出的点数和你前一次掷出的点数相同,你就赢了。
 

以下是用C++来编写的一个程序来解决这个问题。

方法1:

  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <ctime>
  4. using namespace std;
  5. int main() {
  6. // 获取当前时间的秒数,用于生成随机数种子
  7. srand(static_cast<unsigned int>(time(nullptr)));
  8. int point = 0;
  9. while (true) {
  10. // 掷两个骰子,计算点数
  11. int dice1 = rand() % 6 + 1;
  12. int dice2 = rand() % 6 + 1;
  13. int sum = dice1 + dice2;
  14. cout << "玩家掷出了" << dice1 << "和" << dice2 << ",点数为" << sum << endl;
  15. // 判断掷出的点数是否为胜利点数
  16. if (sum == 7 || sum == 11) {
  17. cout << "玩家胜利!" << endl;
  18. break;
  19. } else if (sum == 2 || sum == 3 || sum == 12) {
  20. cout << "庄家胜利!" << endl;
  21. break;
  22. } else {
  23. if (point == 0) {
  24. // 确定点数
  25. point = sum;
  26. cout << "玩家确定了点数" << point << endl;
  27. } else if (sum == 7) {
  28. cout << "庄家胜利!" << endl;
  29. break;
  30. } else if (sum == point) {
  31. cout << "玩家胜利!" << endl;
  32. break;
  33. }
  34. }
  35. }
  36. return 0;
  37. }

方法2:

  1. #include<iostream>
  2. #include<ctime>
  3. using namespace std;
  4. void main()
  5. {
  6. int last=0;
  7. srand((unsigned)time(0));
  8. int a,b;
  9. while(1)
  10. {
  11. a=rand()%6+1;
  12. b=rand()%6+1;
  13. cout<<"你掷出了"<<a<<"和"<<b<<" ";
  14. if(last==0)
  15. {
  16. if(a+b==2||a+b==3||a+b==12)
  17. {
  18. cout<<"你输了"<<endl;
  19. break;
  20. }
  21. if(a+b==7||a+b==11)
  22. {
  23. cout<<"你赢了"<<endl;
  24. break;
  25. }
  26. }
  27. else
  28. {
  29. if(a+b==7)
  30. {
  31. cout<<"你输了"<<endl;
  32. break;
  33. }
  34. else if(a+b==last)
  35. {
  36. cout<<"你赢了"<<endl;
  37. break;
  38. }
  39. }
  40. last=a+b;
  41. cout<<"继续掷骰子"<<endl;
  42. system("pause");
  43. }
  44. }

这两个方法都可以实现,免费复制哦!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/806782
推荐阅读
相关标签
  

闽ICP备14008679号