俄罗斯轮盘赌:一种残忍的赌博游戏。游戏的道具是一把左轮手枪,游戏规则为:在左轮手枪中的6个弹槽中随意放入一颗或者多颗子弹,在任意旋转转轮之后,关上转轮。游戏的参加者轮流把手枪对着自己,扣动扳机,中枪或者怯场,即为输的一方,坚持到最后的即为胜者。
本实践项目类似轮盘赌,使用线性表的两种结构都可实现(链表更容易理解)。游戏规则:n个参加者排成一个环,每次由主持向左轮手枪中装一颗子弹,并随机转动关上转轮。(可以看做一个随机数m,轮流m个人开枪,第m个人中枪),游戏从第一个人开始,轮流拿枪;中枪这退出赌桌,退出者的下一个人作为第一人开始下一轮游戏。直至最后剩余一个人,即为胜者。(这问题其实是约瑟夫问题的改版,每一轮都将m取随机数,其他规则相同这部分代码重点在于考虑删除头结点的情况以及shotnum的随机取值)
//用循环链表实现代码如下:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//循环链表模拟轮盘赌
typedef struct line{
int number;
struct line next;
}line;
line initLine(int n)
{
line* head=(line*)malloc(sizeof(line));
head->number=1;
head->next=NULL;
line* list=head;
for(int i=2
实践项目之俄罗斯轮盘赌小游戏
最新推荐文章于 2023-11-15 00:00:00 发布