思路框架同8.20 :

C++:

#include<iostream>
#include<string>
using namespace std;
class Chess {
public:Chess();                         //初始化成员数据void show();                     //显示棋盘int input(int x,int y,int key);  //下棋int judge(int x,int y);          //判断结果string C[2] = { "X","O" };
private:string Graph[3][3];int  R = 9;                      //棋盘剩余空格
};
Chess::Chess(){for (int i = 0; i < 3; i++) {     //初始化Graphfor (int j = 0; j < 3; j++) {Graph[i][j] = " ";  }}
}
void Chess::show(){for (int i = 0; i<3 ; i++) {cout << "-------------" << endl;cout << "|";for (int j = 0; j < 3; j++) cout <<" "<< Graph[i][j] << " |";cout << endl;}cout << "-------------" << endl;
}
int Chess::input(int x,int y,int key) {if (y > 3 || y < 0){           //越界检测cout << "y is out of range[0,6]" << endl;return 1;}if (x > 3 || x < 0) {cout << "x is out of range" << endl;return 1;}if (Graph[x][y] != " ") {      //不能在同一格下棋cout << "(" << x << "," << y << "): has  exist" << endl;return 1;}Graph[x][y] = C[key % 2];    //赋值R--;                         //剩余格子减一return 0;
}
int Chess::judge(int x,int y) {int kx[8] = { 0, 1, 1, 1 },      //八个方向(4个正方向,另外4个负方向取反)ky[8] = { 1, 1, 0,-1 };int a, b, count = 0;for (int i = 0; i < 4; i++) {          //八个方向检测a = x;          //数据初始化b = y;count = 0;for (int j = 0; j < 2; j++) {      //检测四个正方向a += kx[i];b += ky[i];if (b > 2 || a > 2 || a < 0 || b < 0 || Graph[a][b] == " ")        //边界检测break;if (Graph[a][b] == Graph[x][y] )count++;}a = x;b = y;for (int j = 0; j < 2; j++) {      //检测四个负方向a -= kx[i];b -= ky[i];if (b > 2 || a > 2 || a < 0 || b < 0 || Graph[a][b] == " ")        //边界检测break;if (Graph[a][b] == Graph[x][y])count++;}if (count == 2)                 //四子相连,此人胜出return 1;}if(R==0)return -1;return 0;
}
int main() {Chess myChess;myChess.show();int x,y,key;for (int i = 0;;) {         //i奇偶决定颜色cout << "Enter a row (0, 1 or 2) for player "<< myChess.C[i % 2] <<": ";cin >> x;cout << "Enter a column (0, 1 or 2) for player " << myChess.C[i % 2] << ": ";cin >> y;if (myChess.input(x, y, i))    //bug检测continue;system("cls");          //清屏myChess.show();key = myChess.judge(x, y);   //key判断输赢,平局if (key==1) {cout << myChess.C[i % 2] << " player won" << endl;break;}else if (key == -1) {cout << "Chess draw" << endl;break;}i++;}
return 0;
}

Java:

请自己写

转载于:https://www.cnblogs.com/F-itachi/p/9974348.html

Java 8.9 游戏:井字游戏(C++Java)相关推荐

  1. java格斗代码_一款Java网络格斗游戏源码JAVA游戏源码下载

    一款JAVA网络格斗游戏,分服务端和游戏端,通过这个源代码你能够了解到用JAVA编写网络服务端的实例,还可了解到JAVA游戏的显示类.游戏控制类.游戏界面绘制类和声音调用类等. 一款Java网络格斗游 ...

  2. java吃豆游戏_利用java编写的精灵吃豆的游戏

    学完线程的时候做了一个精灵吃豆的小游戏. 窗体类: package www.csdn.net.zuoye; //用窗体实现精灵吃豆子的小游戏 import java.awt.Color; import ...

  3. java d打字游戏_练习--java实现的打字游戏

    [实例简介] 简单的打字游戏.分别用单线程和多线程两种方式实现,多线程没有同步. [实例截图] [核心代码] 打字游戏 └── 打字游戏 ├── bin │   └── com │   └── qsl ...

  4. java实现stg游戏_一些Java小游戏源码

    一些Java小游戏源码 2016-04-18·Mr.Xia 10092 次浏览 ## SRPGWar(黄金护卫队) 链接:[http://pan.baidu.com/s/1c2BHZUS](http: ...

  5. java web小游戏_用java web小游戏源代码。期末结课老师让做,急用,谢了

    展开全部 import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import javax. ...

  6. java实现大富翁游戏(附完整源码)

    java实现大富翁游戏 以下是 Java 实现大富翁游戏的完整源码: import java.util.Random; import java.util.Scanner;public class Mo ...

  7. java实现军旗游戏(附完整源码)

    java实现军旗游戏 以下是Java实现军旗游戏的完整源码: import javax.swing.*; import java.awt.*; import java.awt.event.MouseA ...

  8. linux java脚本怎么写,linux 执行java脚本

    linux 执行java脚本 [2021-02-02 20:32:43]  简介: linux停止php的方法:首先在后台执行命令"sudo ps -ef|grep php":然后 ...

  9. 井字游戏java代码_井字游戏(java)

    井字游戏(java) 井字游戏(java) 分析:游戏方式只有赢和平两种方式 赢:有一方有3个连成一条线就赢了(横,竖,对角线).想要赢填子的数量必须大于等于5,所以填前面4个格子时不需要判断. 考虑 ...

  10. java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器

    java通用象棋游戏 The Universal Chess Interface (UCI) has been around a long time and used by many chess en ...

最新文章

  1. OpenCV中的霍夫线变换、概率霍夫线变换
  2. 蓝桥杯C++ AB组辅导课
  3. Iterator、Iterable接口的使用及详解
  4. 在CMD窗口中使用javac和java命令进行编译和执行带有包名的具有继承关系的类
  5. win7与linux共享文件夹共享,Ubuntu+Win7+Samba实现文件共享
  6. kafka一直rebalance故障,重复消费
  7. SQL查询中having和where的异同点
  8. 全排列算法解析(视频+详解+代码+STL)
  9. response.setcontenttype的參数
  10. 使用字节流复制一个文件夹
  11. 队列在层次遍历中的应用
  12. 并发设计模式之Guarded Suspension模式
  13. C++基础::运算符重载
  14. html中火星文字体样式,火星文对照表
  15. matlab示波器的峰值测量,峰峰值定义_示波器峰峰值怎么看
  16. Smart3D系列教程5之 《案例实战演练2——大区域的地形三维重建》
  17. word安全模式解除方法
  18. KPI and evaluation decouple verification
  19. 重装系统后如何恢复mysql服务
  20. 解决大多数pip install出现Could not install packages due to an EnvironmentError错误

热门文章

  1. MyBatis的9种设计模式,我猜你不知道
  2. 阿里巴巴16字真言 | 管理者的基本要求是什么?
  3. 如何成为一个技术全面的架构师
  4. 使用 Spring Boot 开发 Web 项目
  5. 双十一真的是全年最便宜的么?
  6. 推荐一些学习方面的公众号
  7. 你真的会用Context么?
  8. 如何开始学习使用TensorFlow?
  9. SP263 PERIOD - Period
  10. VS2010 开发VC++ 生成release版本动态库配置