html双人可悔棋五子棋源码,MATLAB实现五子棋游戏(双人对战、可悔棋).pdf

MATLAB实实现现五五子子棋棋游游戏戏 ((双双人人对对战战、、可可悔悔棋棋))

本文实例为大家分享了MATLAB实现五子棋游戏的具体代码, 大家参考,具体内容如下

程序介绍:

1、此游戏只可用于双人对战。

2、棋盘颜色、棋盘格数、棋子颜色等参数均可自由设置

3、鼠标点击非棋盘区域可悔棋。

一一、、游游戏戏界界面面

二二、、主主程程序序及及函函数数

1、主程序

%Author:LeiZhen

%Date:2018-03-12

%此程序只下五子棋,并判断胜负关系

clear all;

clc

%定义颜色

Color_QiPanBack [135,206,255];

Color_ChessLine [100,100,100];

%获胜连子数

Num_Victory 5;

Dpixel 33;

NumCell 14;%棋盘格的行或列数

Wid_edge 18;

[M_QiPan,xcol_ChessLine,yrow_ChessLine] QiPan(NumCell,Dpixel,Wid_edge,Color_QiPanBack,C

olor_ChessLine);

imshow(M_QiPan);

set (gcf,'Position',[600,45,625,625]);

set (gca,'Position',[0,0,1,1]);

hold on,

%棋半径

radius_Chess 15;

M_LuoZi zeros(NumCell+1,NumCell+1,2);

VictoryB 0;

VictoryW 0;

StateB 1;

StateW 2;

NumChess 0;

for i 1:(NumCell+1)^2

[x_col_Chess, y_row_Chess] ginput_pointer(1);

%获得距离鼠标点击点最近的下棋点的坐标,并保证点击的下棋点在棋盘内

if x_col_Chessmin(xcol_ChessLine)-Dpixel/2

&&y_row_Chessmin(yrow_ChessLine)-Dpixel/2

for x_i xcol_ChessLine

if abs(x_col_Chess-x_i)

x_col_Chess x_i;

end

end

for y_i yrow_ChessLine

if abs(y_row_Chess-y_i)

y_row_Chess y_i;

end

end

%点击悔棋区 (棋盘外的区域)悔棋

else

[x_col_LuoZi_old,y_row_LuoZi_old] find(M_LuoZi(:,:,2) max(max(M_LuoZi(:,:,2))));

x_col_Chess_old (x_col_LuoZi_old-1)*Dpixel+Wid_edge+1;

y_row_Chess_old (y_row_LuoZi_old-1)*Dpixel+Wid_edge+1;

if NumChess> 1

M_QiPan Chess(M_QiPan,x_col_Chess_old,y_row_Chess_old,radius_Chess,3,Wid_edge,Dpi

xel,Color_QiPanBack,Color_ChessLine);

imshow(M_QiPan);

NumChess NumChess-1;

M_LuoZi(x_col_LuoZi_old,y_row_LuoZi_old,1) 0;

M_LuoZi(x_col_LuoZi_old,y_row_LuoZi_old,2) 0;

end

continue;

end

%落子并防止重复在同一个下棋点落子

x_col_LuoZi (x_col_Chess-Wid_edge-1)/Dpixel+1;

y_row_LuoZi (y_row_Chess-Wid_edge-1)/Dpixel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现双人对战五子棋的功能需求: 1. 棋盘显示:绘制一个棋盘,用于展示棋局。 2. 落子功能:玩家可以在棋盘上落子,每次只能落一颗棋子。需要判断当前位置是否有已经落子,如果有,则不能再次落子。 3. 判断胜负:每次玩家落子后,需要判断当前局面是否出现了五子连珠,如果出现,则该玩家胜利。 4. 悔棋功能:玩家可以选择悔棋,每次只能悔一步棋,需要将上一步的棋子从棋盘上移除。 5. 保存游戏:玩家可以选择保存当前游戏状态,下次进入游戏可以继续进行。 6. 认输游戏:玩家可以选择认输,对手则获得胜利。 实现思路: 1. 棋盘显示:通过Java Swing 绘制一个棋盘,可以使用JPanel或JFrame实现。 2. 落子功能:使用鼠标监听器监听玩家落子的位置,每次落子时需要判断当前位置是否已经落子,如果已经落子则不能再次落子。 3. 判断胜负:每次玩家落子后,需要判断当前局面是否出现了五子连珠,如果出现,则该玩家胜利。 4. 悔棋功能:使用栈来存储每一步落子的信息,当玩家选择悔棋时,从栈中弹出上一步的落子信息,并将该位置从棋盘上移除。 5. 保存游戏:使用文件流将当前游戏状态保存到本地文件中,下次进入游戏时读取该文件,恢复游戏状态。 6. 认输游戏:玩家可以选择认输,对手则获得胜利。 具体实现细节可以参考下面的代码示例:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值