为了应付Java老师,借鉴了同学思想,自己动手敲了一个四子棋游戏。代码很不规范,为了赶时间。结果写的和C语言一样。源码在本文结尾处

首先看看游戏规则,

游戏规则

四子棋的棋盘共有6行7列,棋盘是垂直摆放,每名玩者有21只圆形棋子,以不同颜色辨别。两名玩者轮流每次把一只棋子放进棋盘任何未全满的一行中,棋子会占据一行中最底未被占据的位置。两名玩者任何一方先以四只棋子在横,竖或斜方向联成一条直线,便可获胜,游戏亦结束。假如棋盘已完全被棋子填满,但仍未有任何一方成功把四只棋子成一直线,则成为和局。

棋盘

用了一个二维数组6*7的二维数组来构造棋盘。每次选择要下的行号行号即可。

isfour()

用来判断下的棋有没有连成四字,每次下完都判断一次。

judge()

用来判断所下的棋成功与否,即所下位置是否有棋和棋盘是否能放下

主要用了就这么多,只创建了一个类connect类来建立一个四子棋游戏。。。。

package connect;
import java.util.*;public class connect
{public static  void main(String args[]){int start=0;int count=0;int count_max=42;connect_four one=new connect_four();one.display_board();do{System.out.println("请白子先行");Scanner in=new Scanner(System.in);int cow=in.nextInt();if(one.judge(cow, 1) == 1){start=1;count++;}else{start=0;}}while(start==0);one.display_board();System.out.println();int color=2;do{//one.getcolor();System.out.println("对手出棋");Scanner in=new Scanner(System.in);//int raw=in.nextInt();int cow=in.nextInt();if(one.judge(cow,color)==0){System.out.println("出棋失败,请重新出棋");}else{count++;if(one.is_four(cow, color, 0, 1)==1){if(color==1)System.out.print("\t\t\t\t圈圈");elseSystem.out.print("\t\t\t\t叉叉");System.out.print("胜出\n");one.display_board();System.out.println();return ;}if(color==2)color=1;else color=2;}one.display_board();}while(count<count_max);if(count==count_max){System.out.println("\t\t\t\t\t和局");one.display_board();System.out.println();}}}class  connect_four
{private int flag=0;               //private int max_i=6;         //最大行private int max_j=7;          //最大列private int row;               //行值private int cow;                //列值private int [] []chessboard_status=new int[6][7];//棋盘状态private int [] a = new int[7];                 //列的行值private int chess_color;      //棋子颜色public connect_four()             //构造函数初始化棋盘{flag=0;max_i=6;max_j=7;row=0;cow=0;for(int i=0;i<max_i;i++){for(int j=0;j<max_j;j++){a[j] = 5;chessboard_status[i][j]=0;}}}public int judge(int j,int color){switch(j){case 0:    if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}//二维数            //组存放else return 0;  case 1:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;case 2:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;case 3:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;case 4:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;case 5:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;case 6:  if(a[j]>=0) {chessboard_status[a[j]][j]=color;a[j]--;break;}else return 0;default: ;}return 1;}public int judge_status(int i,int j){if(i>-1&&i<max_i&&j>-1&&j<max_j)if(chessboard_status[i][j]==0)return 0;else if(chessboard_status[i][j]==1)return 1;//白色elsereturn 2;//黑色else return -1;//位置输入超框}public void getcolor(){if(flag==1)System.out.print("白棋");elseSystem.out.print("黑棋");System.out.println("\n");}public void display_board(){char a=1;char b=0;System.out.print("  ");for(int j=0;j<max_j;j++){System.out.print(j+" ");}System.out.println();for(int i=0;i<max_i;i++){for(int j=0;j<max_j;j++){if(j==0)System.out.print(i);switch(chessboard_status[i][j]){case 0: System.out.print(" *");break;case 1: System.out.print(" ○");break;case 2: System.out.print(" ×");break;}}System.out.println();}}public int is_four(int j,int color,int num,int direction){int m=a[j]+1,n=j;do{switch(direction){case 1: m=m+1;n=n;break;case 2:    m=m+1;n=n-1;break;case 3: m=m;n=n-1;break;case 4: m=m-1;n=n-1;break;case 5: m=m-1;n=n;break;case 6: m=m-1;n=n+1;break;case 7: m=m;n=n+1;break;case 8: m=m-1;n=n-1;break;default :break;}if(judge_status(m,n)==color){num++;if(num==3){return 1;}}else {m=a[j]+1;n=j;num=0;direction++;}}while(direction!=9);if(num==3)  return 1;else return 0;}
}

Java练习用Java写双人游戏简单四子棋相关推荐

  1. java四子棋实验报告_Python 实现劳拉游戏的实例代码(四连环、重力四子棋)

    游戏规则:双方轮流选择棋盘的列号放进自己的棋子, 若棋盘上有四颗相同型号的棋子在一行.一列或一条斜线上连接起来, 则使用该型号棋子的玩家就赢了! 程序实现游戏,并将每局的数据保存到本地的文件中 首先我 ...

  2. 基于LC3模拟器的简单游戏设计:简易四子棋

    一.实验目的 分析和理解指定的需解决问题. 利用LC-3的汇编代码设计实现相关程序. 通过LC-3仿真器调试和运行相关程序并得到正确的结果. 二.实验内容 四子棋是一款普遍流行的简易型桌面游戏,据说, ...

  3. 四子棋 java_java智能四子棋人机大战游戏设计(附项目,以及原创PSD,设计文档)...

    本项目是使用java技术+自创"假设下子"算法开发的人机大战四子棋游戏客户端. 具体项目,以及原创PSD,设计文档,在文件末尾的百度云连接. 一. 小组说明: 组名:CST 组长: ...

  4. 四子棋游戏--bingo game

    最近自己编了一个四子棋的游戏.说明如下: 游戏简介: 一种常见的四子棋游戏,可以是人机对战,两人对战,或者网上对战. 游戏的双方轮流落子,每人持有21颗子.棋子共有6*7个位置,玩家的棋子总是落到 当 ...

  5. 深圳大学 计系1实验四—四子棋实验

    实验要求 本实验需要在LC-3中实现简易版四子棋的游戏,两位选手通过键盘和输出窗口轮流交互操作,棋盘由6 X 6的网格组成. 游戏规则如下: 两位选手依次轮流落子: 选手不能悔棋: 有子的地方不能继续 ...

  6. python人机对战的实验步骤_人机对战初体验:Python实现四子棋游戏

    继去年3月人机大战引发全球瞩目以来,围棋AI(人工智能)再度引发跨领域的关注:一个叫Master的围棋AI,几天时间,面对中日韩顶尖职业围棋选手,已取得60胜0败的恐怖战绩,展现出的围棋技艺已经到了人 ...

  7. 深圳大学计系汇编语言实验--四子棋游戏

    题面 四子棋是个双人游戏,两人轮流下棋,棋盘由行和列组成的网格,每个选手每次下一个子直到两人中有一人的棋子连成一条水平线.垂直线或者是对角线. 本实验需要在LC-3中实现简易版四子棋的游戏,两位选手通 ...

  8. 人机对战初体验:Python基于Pygame实现四子棋游戏

    人机对战初体验-四子棋游戏 继去年3月人机大战引发全球瞩目以来,围棋AI(人工智能)再度引发跨领域的关注:一个叫Master的围棋AI,几天时间,面对中日韩顶尖职业围棋选手,已取得60胜0败的恐怖战绩 ...

  9. 【原创】【程序小游戏】平面四子棋 C++

    平面四子棋 事先声明: 代码是我自个儿写的,规则不是我发明的~~~~. 我觉得我真是太不务正业了! 规则 在一个7*12的棋盘里,下四子棋.只不过,这个棋盘是竖立着的,它的棋子是从上往下掉的. 比如说 ...

  10. 四子棋 freepython

    四子棋,是黑白棋的一种.是一种益智的棋类游戏.黑白两方(也有其它颜色的棋子)在8*8的格子内依次落子.黑方为先手,白方为后手.落子规则为,每一列必须从最底下的一格开始.依此可向上一格落子.一方落子后另 ...

最新文章

  1. struts2 select 默认选中
  2. banana pi BPI-R1 原理图下载地址:
  3. [网络安全自学篇] 五十五.Windows系统安全之构建ROP链绕过DEP及原理详解
  4. 手机运行服务器无响应,《最强蜗牛》服务器无响应怎么办 服务器无响应解决方法...
  5. Bootstrap 响应式设计
  6. php有哪些程序结构,PHP常用控制结构
  7. java static 变量存在哪_Java中的静态方法和静态变量存储在哪里?
  8. totoisegit不显示对勾_暗黑2画质不满意?教你简单安装高分辨率补丁
  9. 华为HG255d刷石像鬼OpenWrt,体验强大的QOS功能
  10. 微信HOOK-微信逆向-微信公众号爬虫系统
  11. Android平台集成华为AGC性能管理服务问题处理指南
  12. 使用usb有线网卡u-boot无法ping通虚拟机
  13. WPS2019 Ubuntu可以插入公式
  14. vscode、windows快捷键
  15. 全国多年太阳辐射空间分布数据1981-2022年、气温分布数据、蒸散量数据、蒸发量数据、降雨量分布数据、日照数据、风速数据
  16. idea 运行单个main方法_idea如何运行main方法
  17. Elasticsearch相关操作梳理
  18. reset.css normalize.css,normalize与css reset的区别
  19. Linux共享内存使用常见陷阱与分析
  20. 计算机二级考试python+C语言通过记录

热门文章

  1. 齐齐哈尔大学计算机考研资料汇总
  2. vue3学习笔记一:createApp, ref, reactive, onMounted,computed
  3. linux 保存bmp 图片
  4. 如何用Java打开PDF文件
  5. python三国演义人物 统计分析_使用python统计《三国演义》小说里人物出现次数前十名,并实现可视化。...
  6. 2012 九月十月百度人搜,阿里巴巴,腾讯华为笔试面试八十题(第331-410题)
  7. 基本数据类型----Python初体验——Hello World
  8. 计算机登录界面怎么切换用户,windows10开机界面怎么切换用户
  9. ETF操作实战记录:2022-2-24
  10. 如何选用GPU云服务器?