}
a = true;
if (qi[x + i][y - i] == 0)
i = 9;
}
}
}
if (x - 1 = 0y + 18qi[x - 1][y + 1] == 1) {
for (int i = 2; x - i = 0y + i8; i++) {
if (qi[x - i][y + i] == -1) {
for (int n = 1; ni; n++) {
qi[x - n][y + n] = -1;
}
a = true;
if (qi[x - i][y + i] == 0)
i = 9;
}
}
}
if (x + 18y + 18qi[x + 1][y + 1] == 1) {
for (int i = 2; x + i8y + i8; i++) {
if (qi[x + i][y + i] == -1) {
for (int n = 1; ni; n++) {
qi[x + n][y + n] = -1;
}
a = true;
if (qi[x + i][y + i] == 0)
i = 9;
}
}
}
}
}
if (a)
return true;
else
return false;
}
java求救,这题怎么编1. 把二维数组当作是一维的:
例: 有数组char[3][3], 如 char[2][2]可以下标对应的数值为2×3 + 2 = 8,这个应该是第三行第三列的数据下标
2. 使用随机数生成器生成一定范围的下标(例如,0~8) , 反算数组中的位置,这个位置作为下子的地方 。(下子就是把对应的数组中设成黑子或者白子)
3. 循环第二步,直至放满
(注意,可能会产生重复下标,需要先判断看看有没有已经有棋子在其上)
急求Java黑白棋设计源代码importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.awt.geom.*;
importjavax.swing.JOptionPane.*;
publicclassFiveChess
{
publicstaticvoidmain(String[]args)
{
JFramemyFrame=newJFrame("快乐五子棋");
myFrame.getContentPane().add(newMyPanel());
Toolkitmykit=myFrame.getToolkit();
Dimensionmysize=mykit.getScreenSize();
myFrame.setBounds(0,0,mysize.width,mysize.height-40);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.show();
}
}
classMyPanelextendsJPanelimplementsMouseListener
{
privatePointstart=newPoint(0,0);
privatePointnext=newPoint(0,0);
boolean[][]chessBo=newboolean[19][19];
booleanchessCo=true; //判断颜色的java人机黑白棋代码,true黑
booleanwinchess=true; //true,为胜利
MyPanel(){
addMouseListener(this);
setBackground(Color.blue);
}
publicbooleanwinkill(intx,inty) //win?
{
intcountBlack=0,countWhite=0;
booleanwinchess01=false;
//x,y取到r01,r02的值
for(inti=0;i5;i++)//判断纵向下
{
if((x+i)20)
break;
if(chessCochessBo[x+i][y])
countBlack++;
elseif(chessBo[x+i][y](chessCo==false))
countWhite++;
}
for(inti=0;i5;i++)//判断纵向上
{
if((x-i)=0)
break;
if(chessCochessBo[x-i][y])
countBlack++;
elseif(chessBo[x-i][y](chessCo==false))
countWhite++;
}
if((countBlack==5)||(countWhite==5))
winchess01=true;
returnwinchess01;
}
publicvoidpaint(Graphicsg)//画棋盘
{
Graphics2Dg2D=(Graphics2D)g;
g2D.setPaint(Color.black);
floatpay=60.0f,pbx=60.0f;
floatlett=25.0f;
Point2D.Floatp1=newPoint2D.Float(60.0f,pay);
Point2D.Floatp2=newPoint2D.Float(510.0f,pay);
Point2D.Floatp3=newPoint2D.Float(pbx,60.0f);
Point2D.Floatp4=newPoint2D.Float(pbx,510.0f);
for(inti=0;i19;i++){
Line2D.FloatlineH=newLine2D.Float(p1,p2);
Line2D.FloatlineV=newLine2D.Float(p3,p4);
pay+=lett;
p1=newPoint2D.Float(60.0f,pay);
p2=newPoint2D.Float(510.0f,pay);
pbx+=lett;
p3=newPoint2D.Float(pbx,60.0f);
p4=newPoint2D.Float(pbx,510.0f);
g2D.draw(lineH);
g2D.draw(lineV);
}
}
publicvoidmousePressed(MouseEventevt)
{
}
publicvoidmouseClicked(MouseEventevt)
{
intx=evt.getX();
inty=evt.getY();
intclickCount=evt.getClickCount();
if(clickCount=1){
推荐阅读
- .net免费框架,net框架20下载
- 叽里呱啦安卓系统免费,叽里呱啦旧版
- 命令查看linux内存,linux命令行查看内存
- 用钉钉直播上课效果怎么样,钉钉直播上课教程
- c语言有删除指针的函数吗 c语言有删除指针的函数吗为什么
- p40鸿蒙打开应用速度,华为手机鸿蒙速度
- 苹果5g比安卓快吗,苹果的5g跟安卓的5g一样吗
- 无人直播刷礼物,无人直播刷礼物是真的吗
- 远程数据库php丢失 数据库无法远程访问