急求囚徒困境的java代码

Victor_Victor 2012-06-18 08:59:05
一.基本问题阐述:
有两个参与者和一个庄家。参与者每人有一式两张卡片,各印有“合作”和“背叛”。参与者各把一张卡片文字面朝下,放在庄家面前。文字面朝下排除了参与者知道对方选择的可能性。然后,庄家翻开两个参与者卡片,根据以下规则支付利益:
一人背叛、一人合作:背叛者得5分(背叛诱惑),合作者0分(受骗支付)。
二人都合作:各得3分(合作报酬)。
二人都背叛:各得1分(背叛惩罚)。
二.求解(要求用C语言或JAVA语言)
1.每个人所能得分的所有情况及可得的最高分和最低分;
2.两个人能得分和的所有情况及最高分和最低分;
3. 比较互相背叛的及单独背叛,合作获分比背叛高还是低.
...全文
523 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Victor_Victor 2012-06-20
  • 打赏
  • 举报
回复
这是个作业,但是有些不是很会,不懂用0.0
Victor_Victor 2012-06-20
  • 打赏
  • 举报
回复
这是个作业,但是有些不是很会,不懂用0.0
woainisxy 2012-06-18
  • 打赏
  • 举报
回复
这游戏 会有人选合作吗?
sir_tian 2012-06-18
  • 打赏
  • 举报
回复
import java.util.Scanner;


public class Main
{

/**
* @param args
*/
public static void main(String[] args)
{
Scanner cin = new Scanner(System.in);
int score_1 = 0;
int score_2 = 0;
while(true)
{
System.out.println("我是庄家, 请第一个参与者给我一张牌(hezuo/beipan):");
String in_1 = cin.next();
while(!(in_1.equals("hezuo")||in_1.equals("beipan")))
{
System.out.println("您给的牌不和规则, 不许出千, 请重新给我一张牌:");
in_1 = cin.next();
}
System.out.println("我是庄家, 请第二个参与者给我一张牌(hezuo/beipan):");
String in_2 = cin.next();
while(!(in_2.equals("hezuo")||in_2.equals("beipan")))
{
System.out.println("您给的牌不和规则, 不许出千, 请重新给我一张牌:");
in_2 = cin.next();
}

int s1 = 0; //本轮第一个人得分
int s2 = 0;

if(in_1.equals("beipan")&&in_2.equals("hezuo"))
{
s1 = 5;
}
else if(in_2.equals("beipan")&&in_1.equals("hezuo"))
{
s2 = 5;
}
else if(in_1.equals("hezuo")&&in_2.equals("hezuo"))
{
s1 = s2 =3;
}
else
{
s1 = s2 = 1;
}

score_1 += s1;
score_2 += s2;

System.out.println("本轮游戏结束, 得分如下");
System.out.println("第一个参与者本轮得分:"+s1+",总得分:"+score_1);
System.out.println("第二个参与者本轮得分:"+s2+",总得分:"+score_2);
System.out.println("======================================");


}
}

}
dai_ 2012-06-18
  • 打赏
  • 举报
回复
显然是
android_Y 2012-06-18
  • 打赏
  • 举报
回复
作业?
这样不好吧

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧