java初学者--实现用控制台与电脑下五子棋

本文分享了一位Java初学者利用几小时编写出的控制台版五子棋程序。虽然作者对扩展性、复用性和并发处理等概念还不熟悉,且AI设计简单,但对于技术爱好者来说是个有趣的实践项目。
摘要由CSDN通过智能技术生成

这是我无聊的时候敲了几个小时代码搞出来的玩意 我才刚学Java两个星期 什么拓展性复用性并发我统统都不懂 人工智能也设计得相当的蠢 技术大牛们看个乐呵就好。。。

XXX

实现效果图


下面给出源代码:

Chess.java

package chessgame;

import java.util.Scanner;
/**
 * 五子棋游戏
 * @author SamuelElijah
 * 转载请注明原作者
 * 
 *
 */
public abstract class Chess {
	//存储棋子数量
	public static int count = 0;
	//最少取得胜利的联珠数
	public static final int toWin = 5;
	//存储棋子坐标
	public static int x=7;
	public static int y=7;
	//存储坐标最值
	public static int minX=6;
	public static int maxX=6;
	public static int minY=8;
	public static int maxY=8;
	//存储棋盘,大小为15
	public static final Board board = new Board(15);
	//static人工智能算法
	public static int search(int x,int y,Chessman c){
		String color = c.getChessman();
		Chessman oppositeC = c instanceof White?new Black():c instanceof Black?new White():null;
		String opposite = oppositeC.getChessman();
		int count = 1,count2 =1 ;
		for(int i=x-1;i>=0;i--){
			if(!board.getPos(i, y).getChessman().equals(color)){
				break;
			}
			count++;
		}
		for(int i=x+1;i<board.boardSize;i++){
			if(!board.getPos(i, y).getChessman().equals(color)){
				break;
			}
			count++;
		}
		for(int i=y+1;i<board.boardSize;i++){
			if(!board.getPos(x, i).getChessman().equals(color)){
				break;
			}
			count++;
		}
		for(int i=y-1;i>=0;i--){
			if(!board.getPos(x, i).getChessman().equals(color)){
				break;
			}
			count++;
		}
		for(int i=x-1,j=y-1;i>=0&&j>=0;i--,j--){
			if(!board.getPos(i, j).getChessman().equals(color)){
				break;
			}
			count++;
		}
		for(int i=x+1,j=y+1;i<board.boardSize&&j<board.boardSize
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值