• 大小: 8KB
    文件类型: .c
    金币: 2
    下载: 2 次
    发布日期: 2021-06-18
  • 语言: C/C++
  • 标签: c语言  

资源简介

使用c语言实现信任的进化部分功能,可作为c语言入门大作业参考。
信任的进化是一款模拟人和人信任发展及演变的游戏,实质是博弈论。

资源截图

代码片段和文件信息

/*************************************
 * Name:1998(The evolution of trust) *
 * Version:4.10                      * 
 * Productor: Jing Quan              *
 * Accomplished date: 2017.10.30     *
 * Claim: All rights reserved        *
 *************************************/
 
#include
#include 
#include
#include

int copycat(int aint bint iint nint t)                 //复读机:第一次合作,之后重复你上一次的选择 
{
char c1c2=‘1‘;
for(i=0;i {
printf(“\n第%d回合 你的选择是 “i+1);
c1=getch();
if(c1==‘0‘&&c2==‘1‘)
{
printf(“欺骗, TA的选择是 合作\n\n“);
a=a+3;
b--;
}
else if(c1==‘1‘&&c2==‘1‘)
{
printf(“合作, TA的选择是 合作\n\n“);
a=a+2;
b=b+2;
}
else if(c1==‘1‘&&c2==‘0‘)
{
printf(“合作, TA的选择是 欺骗\n\n“);
a--;
b=b+3;
}
else if(c1==‘0‘&&c2==‘0‘) printf(“欺骗, TA的选择是 欺骗\n\n“);
else i=mistake(i);
if(c1==‘0‘||c1==‘1‘) c2=c1;                        //实现复读的关键代码 
Sleep(t);
printf(“目前你和TA的得分为%d,%d\n“ab);
}
printf(“\n你的本局得分为%d.\n\n“a);
return (a+100)*1000+(b+100);                           //将ab信息都包含,后来提取出来 
}

int alwayscheat(int aint bint iint nchar cint t)      //老油条:永不合作 
{
for(i=0;i {
printf(“\n第%d回合 你的选择是 “i+1);
c=getch();
if(c==‘0‘) printf(“欺骗, TA的选择是 欺骗\n\n“);
else if(c==‘1‘)
{
printf(“合作, TA的选择是 欺骗\n\n“);
a--;
b=b+3;
}
else i=mistake(i);
Sleep(t);
printf(“目前你和TA得分为%d%d\n“ab);
}
printf(“\n你的本局得分为%d.\n\n“a);
return (a+100)*1000+(b+100);;
}

int alwayscooperate(int aint bint iint nchar cint t)  //小粉红:永不欺骗 
{
for(i=0;i {
printf(“\n第%d回合 你的选择是 “i+1);
c=getch();
if(c==‘0‘)
{
printf(“欺骗, TA的选择是 合作\n\n“);
a=a+3;
b--;
}
else if(c==‘1‘)
{
printf(“合作, TA的选择是 合作\n\n“);
a=a+2;
b=b+2;
}
else i=mistake(i);
Sleep(t);
printf(“目前你和TA得分为%d%d\n“ab);
}
printf(“\n你的本局得分为%d.\n\n“a);
return (a+100)*1000+(b+100);
}

int grudger(int aint bint iint nint t)                 //黑帮老铁:如果合作便一直合作,被骗一次就永远欺骗 
{
char c1c2=‘1‘;
for(i=0;i {
printf(“\n第%d回合 你的选择是 “i+1);
c1=getch();
if(c1==‘0‘&&c2==‘1‘)
{
printf(“欺骗, TA的选择是 合作\n\n“);
a=a+3;
b--;
c2=‘0‘;                                        //若被骗则c2被赋值为‘0‘,之后循环直接进入后两种分支 
}
else if(c1==‘1‘&&c2==‘1‘)
{
printf(“合作, TA的选择是 合作\n\n“);
a=a+2;
b=b+2;
}
else if(c1==‘1‘&&c2==‘0‘)
{
printf(“合作, TA的选择是 欺骗\n\n“);
a--;
b=b+3;
}
else if(c1==‘0‘&&c2==‘0‘) printf(“欺骗, TA的选择是 欺骗\n\n“);
else i=mistake(i);
Sleep(t);
printf(“目前你和TA的得分为%d,%d\n“ab);
}
printf(“\n你的本局得分为%d.\n\n“a);
return (a+100)*1000+(b+100);
}

int detective(int aint bint iint nint t)               //无官方翻译:前四次分别为合作、欺骗、合作、合作,若第四次被骗变为复读机,合作则变为老油条 
{
while(n<4||n>10)
{
printf(“\n对方不想理你,除非你和TA玩至少4局\n重新输入(此处输入后需要回车):“);
scanf(“%d“&n);
}
char c1[n]c2[n];
c2[0]=‘1‘;c2[1]=‘0‘;c2[2]=‘1‘;c2[3]=‘1‘;

评论

共有 条评论