计导实验报告 丼字走三关(人人对战)

#include<stdio.h>
#include<string.h>
void initialize(char a[3][3]);
void print(char a[3][3]);
int judge(char a[3][3]);
void Input1P(char a[3][3]);
void Input2P(char a[3][3]);
int main(void)
{
 char a[3][3];
 initialize(a);
 int count=1;
 print(a);
 while(judge(a)!=1&&judge(a)!=2&&count!=10){
  if(count%2==1){
   printf("It is 1P time\n");
   Input1P(a);
  }
  else{
   printf("It is 2P time\n");
   Input2P(a);
  }
  count++;
  print(a);
 }
 if(count<=10){
  switch(judge(a)){
   case 1:printf("1P is winer\n");return 0;
   case 2:printf("2P is winer\n");return 0;
  }
 }
 printf("This is draw\n");
 return 0;
}
void initialize(char a[3][3])
{
 int i,j;
 for(i=0;i<=2;i++)
  for(j=0;j<=2;j++)
   a[i][j]=‘ ‘;
}
void print(char a[3][3])
{
 int i;
 for(i=0;i<=2;i++)
  printf("%c|%c|%c\n",a[i][0],a[i][1],a[i][2]);
}
int judge(char a[3][3])
{
 if(((a[0][0]==a[0][1]&&a[0][1]==a[0][2])&&a[0][0]==‘x‘)||
 ((a[1][0]==a[1][1]&&a[1][1]==a[1][2])&&a[1][0]==‘x‘)||
 ((a[2][0]==a[2][1]&&a[2][1]==a[2][2])&&a[2][0]==‘x‘)||
 ((a[0][0]==a[1][0]&&a[1][0]==a[2][0])&&a[0][0]==‘x‘)||
 ((a[0][1]==a[1][1]&&a[1][1]==a[2][1])&&a[0][1]==‘x‘)||
 ((a[0][2]==a[1][2]&&a[1][2]==a[2][2])&&a[0][2]==‘x‘)||
 ((a[0][0]==a[1][1]&&a[1][1]==a[2][2])&&a[0][0]==‘x‘)||
 ((a[0][2]==a[1][1]&&a[1][1]==a[2][0])&&a[0][2]==‘x‘))
  return 1;
 else if(((a[0][0]==a[0][1]&&a[0][1]==a[0][2])&&a[0][0]==‘o‘)||
 ((a[1][0]==a[1][1]&&a[1][1]==a[1][2])&&a[1][0]==‘o‘)||
 ((a[2][0]==a[2][1]&&a[2][1]==a[2][2])&&a[2][0]==‘o‘)||
 ((a[0][0]==a[1][0]&&a[1][0]==a[2][0])&&a[0][0]==‘o‘)||
 ((a[0][1]==a[1][1]&&a[1][1]==a[2][1])&&a[0][1]==‘o‘)||
 ((a[0][2]==a[1][2]&&a[1][2]==a[2][2])&&a[0][2]==‘o‘)||
 ((a[0][0]==a[1][1]&&a[1][1]==a[2][2])&&a[0][0]==‘o‘)||
 ((a[0][2]==a[1][1]&&a[1][1]==a[2][0])&&a[0][2]==‘o‘))
  return 2; 
 else
  return 0;
}
void Input1P(char a[3][3])
{
 int x;
 scanf("%d",&x);
 switch(x)
 {
 case 7:a[0][0]=‘x‘;break;
 case 8:a[0][1]=‘x‘;break;
 case 9:a[0][2]=‘x‘;break;
 case 4:a[1][0]=‘x‘;break;
 case 5:a[1][1]=‘x‘;break;
 case 6:a[1][2]=‘x‘;break;
 case 1:a[2][0]=‘x‘;break;
 case 2:a[2][1]=‘x‘;break;
 case 3:a[2][2]=‘x‘;
 }
}
void Input2P(char a[3][3])
{
 int x;
 scanf("%d",&x);
 switch(x)
 {
 case 7:a[0][0]=‘o‘;break;
 case 8:a[0][1]=‘o‘;break;
 case 9:a[0][2]=‘o‘;break;
 case 4:a[1][0]=‘o‘;break;
 case 5:a[1][1]=‘o‘;break;
 case 6:a[1][2]=‘o‘;break;
 case 1:a[2][0]=‘o‘;break;
 case 2:a[2][1]=‘o‘;break;
 case 3:a[2][2]=‘o‘;
 }
}

时间: 2024-07-30 10:19:20

计导实验报告 丼字走三关(人人对战)的相关文章

13计本人工智能实验报告

          贵州师范大学计算机科学与技术 实验报告               课程名称:人工智能         班级:13计本     实验日期:2016-4-27 学号:136201010507    姓名:任廷婷      成绩: 一·实验名称 线性回归预测系统 二·实验目的及要求 理解和掌握线性回归预测的基本方法,能够编程实现简单的线性回归预测系统 1.熟悉matlab 2.线性回归预测函数,代价函数的预测和实现 3.使用梯度下降算法进行参数学习 三·实验工具 Matlab,O

13计本136201010496茅智强AI实验报告

课程名称: 人工智能         班级: 13 级计本     实验日期:   5 月5日 学号: 136201010496   姓名:  茅智强        成绩:  一.实验名称 线性回归预测系统 二.实验目的及要求 理解和掌握线性回归预测的基本方法,能够编程实现简单的线性回归预测系 统. 1.熟悉 Octave 编程语言: 2.线性回归预测函数.代价函数的设计和实现: 3.使用梯度下降算法进行参数学习 三.实验工具 Octave   notepad++ 四.实验内容与步骤 1.安装编

第三次实验报告 之 五子棋

https://github.com/1246251747/3/blob/master/12.txt 实 验 报 告 实验名称:  五子棋实验报告 姓名:     王文政           学 号:  201303011159 班级:计科13-1 学院:   信息学院 五子棋JAVA实验报告 一.实验目的和要求 1.能够用编程语言实现一个简单的五子棋程序 2.在实际系统中使用.实现人工智能的相关算法 3.进一步加深对人工智能算法的理解 二.五子棋的基本常识与原理 1.五子棋的起源 五子棋,是一

汇编语言程序设计实验报告四

南京信息工程大学实验报告 实验名称 实验 4 [bx]和loop的使用 实验日期 得分 学院 计软院 专业 计算机科学与技术 年级 2017级 班次 5班 姓名 陈奕明 学号 20171308194 一.实验目的 1. 理解和掌握寄存器间接寻址方式[bx] 2. 通过汇编指令loop的使用理解编程语言中循环的本质 3. 熟练掌握使用debug按需调试完整汇编源程序的方法 二.实验准备 1. 学习/复习第 5章使用[bx]和loop实现循环的编程应用示例(教材 5.5节,5.8节) 2. 复习第3

2019JAVA第五周实验报告

Java实验报告 班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.9.24 评分等级 实验三 String类的应用 一.实验目的 掌握类String类的使用: 学会使用JDK帮助文档: 二.实验内容 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) 2.统计该字符串中字母s出现的次数. 3.统计该字符串中子串"is"出现的次数. 4.统计该字符串中单词"is"

130702010012吴佳卫AI实验报告.

130702010012吴佳卫AI实验报告 贵州师范大学计算机实验报告 课程名称:  人工智能   班级: 13级计本   实验日期: 2015.05.12  学号:  130702010012  姓名:   吴佳卫      成绩:              一.实验名称 线性回归预测系统 二.实验目的及要求 理解和掌握线性回归预测的基本方法,能够编程实现简单的线性回归预测系统. 1.熟悉matlab编程语言: 2.线性回归预测函数.代价函数的设计和实现: 3.使用梯度下降算法进行参数学习:

20135239益西拉姆第四次实验报告

北京电子科技学院(BESTI) 实验报告 课程:JAVA第四次实验报告 班 级: 1352 姓 名:益西拉姆 学 号:20135239 成 绩: / 指导教师: 娄嘉鹏 实验日期: 2015.06.09 实验密级: / 预习程度: / 实验时间:15:00--18:00 仪器组次:39 必须/选修: 选修 实验序号:04 实验名称: 第四次实验 实验仪器: 名称 型号 数量 PC机 DELL 1 实验内容: 1:编写网络通信程序.(基于TCP) 2:对通信内容使用对称加密算法进行加密. 3:使用

实验报告:统计字符串中子字符串出现的次数

实验报告 源程序: 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int cntstring(char *source,char *substr); 5 void main() 6 { 7 char str1[50],str2[20]; //str1 为主字符串,str2 为子字符串 8 cout<<"input source string:"; 9 cin.get

《人工智能》实验报告一

贵州师范大学计算机实验报告                                                            课程名称: 人工智能          班级: 13 级计本     实验日期:    5 月 9日 学号: 136201010511      姓名: 杨金城           成绩: 一.实验名称 线性回归预测系统 二.实验目的及要求 理解和掌握线性回归预测的基本方法,能够编程实现简单的线性回归预测系 统. 1.熟悉 matlab 编程语言: 2