网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月24日漏签0天
c语言吧 关注:798,846贴子:4,357,476
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 1 2 3 下一页 尾页
  • 53回复贴,共3页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

【直播】囚徒困境小游戏,大家一起来PK,看谁最强

  • 只看楼主
  • 收藏

  • 回复
  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
突发奇想,想搞一个大家都能参与的小游戏
【语言】:C++(如果你不会C++也可以参加,我会留好接口,只用c也可以完成)
【游戏规则】:经典囚徒困境,增加沉默选项,即每个人可以做出“背叛”“合作”“沉默”三个选项,根据双方选项得分(得分规则后面会给出,是我自己随便写的,至于能不能存在纳什平衡点也不确定,反正随时可以改)
【框架构思】(如果看不懂请不要怕,可以跳到后面“你需要做的”,很简单的):
1.创建一个抽象类代表玩家,规定了玩家的一些属性,例如得分,参与游戏次数之类的,还有一个储存功能,储存对方的选择,以便你做下一次选择。然后定义一个虚函数,表示玩家的选择,需要大家继承类并重写虚函数(我会把模板写好)
2.随机PK函数,随机让两个人做出选择并计入得分和游戏次数。为了体现统计性,会PK很多次(大概玩家数*10000?)
3.计算所有人的平均分,看谁最厉害;
4.我会分析一下最厉害的人用的是什么策略(如果我看到懂的话)
【你需要做的】
只需要重写choice函数即可,而且策略随便用,难度不限(可以只用一行代码就可以搞定)!甚至你可以做一个搅局者,当一个大坏蛋,无论别人怎么做,你就背叛他,谁遇见你谁倒霉!或者当一个老好人,他人虐你千百遍,你仍然选择与他人合作。
【其他】暂时就想到这么多,有其他的我在本层回复,【本层禁回】


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
先动手定义玩家类,同时等有缘人上钩


2025-07-24 06:51:00
广告
不感兴趣
开通SVIP免广告
  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯,先定义一个头文件,叫player不上档次,就叫prisoner吧

养成好习惯,一定要define一个独有的宏,不然容易重定义


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
头文件完成了,暂时先这么多东西

【CHOICE】先定义了一个枚举类表示每个人的选择,防止大家重写函数的时候输出一个我没见过的东西。机智如我
【RULE】定义了对应的规则,里面的分数是我胡写的,大家有好多建议可以给我说,我改
【Prisoner】就是今天的主角了,好像写起来没有我想的那么麻烦,东西不多,而且都很简单
【PK】两个玩家PK的函数,最后再写他。
后续我会想办法把文件发出来,比如建一个v x群?不过现在最要紧的是,怎么还没人来??


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

完成了大部分,就这??
还差一个PK函数,有人吗,回复一哈给我点动力


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

当当当当,PK函数也好了。
来个吃瓜群众也好呀。
是不是无奖竞答没有人感兴趣呀?
要不..额,要不奖励第一名5毛钱太少了不行,太多了我也给不起,小学生党一枚,要不给5块吧就酱


  • 贴吧用户_7A9A1Q6
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看不懂


  • 贴吧用户_7A9A1Q6
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
C语言萌新


2025-07-24 06:45:00
广告
不感兴趣
开通SVIP免广告
  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
“囚徒困境”是1950年美国兰德公司的梅里尔·弗勒德(MerrillFlood)和梅尔文·德雷希尔(MelvinDresher)拟定出相关困境的理论,后来由顾问艾伯特·塔克(AlbertTucker)以囚徒方式阐述,并命名为“囚徒困境”。
囚徒困境的故事讲的是,两个嫌疑犯作案后被警察抓住,分别关在不同的屋子里接受审讯。警察知道两人有罪,但缺乏足够的证据。警察告诉每个人:如果两人都抵赖,各判刑一年;如果两人都坦白,各判八年;如果两人中一个坦白而另一个抵赖,坦白的放出去,抵赖的判十年。
所以需要你做的就是给我说你要选择什么而已。(然后我多加了一个沉默选项,具体看1楼)
【大家来了的不要跑呀,最后需要你做的很简单,其他的我来写。我对这个结果比较感兴趣,想知道大家博弈的结果是什么】


  • 贴吧用户_7A9A1Q6
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那我看看


  • 贴吧用户_7A9A1Q6
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是c++,看不懂,走了


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

大家需要写的就两个文件(一个头文件,一个cpp文件),我把这个两个文件都写好,大家在里面改就行了。
这是头文件,会C++的应该就不需要多解释什么了,不会的照着我的注释做就行了。
比如你叫王小明,你可以把文件名命名为wangxiaoming.h
然后内容如下:
【
#define _WANGXIAOMING_
class Wangxiaoming :public Prisoner
{
public:
CHOICE Choice();
};
】
内容就这点就够了,(就是说这个文件除了命名和变量名之类的改一下,其他不用动就行,当然会C++的想增加其他功能函数都请自便)


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这是cpp文件,要做的就两件事,一个是把第8行的include的文件改成你自己刚才写的头文件就行,第二件事就是15行,写你自己的代码就可以。
【如果如果如果你照着做也做不明白,那ok,你就把15行你改的代码发我就行,顺便给我一个你独特的名字(不给的话我就给你命名为陈二狗)】


  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

最后测试一下,大成功!!

两个憨憨互相背叛对方,最终两个人平均分都是-1


2025-07-24 06:39:00
广告
不感兴趣
开通SVIP免广告
  • 小柒洛陌殇
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我忽然想起来,memory我设置了private,但是没有给输出结构,我再修改一下


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 1 2 3 下一页 尾页
  • 53回复贴,共3页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示