五子棋游戏代码(Java语言)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

五子棋游戏代码(Java语言)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

class mypanel extends Panel implements MouseListener {

int chess[][] = new int[11][11];

boolean Is_Black_True;

mypanel()

{

Is_Black_True=true;

for(int i=0;i<11;i++)

{

for(int j=0;j<11;j++)

{

chess[i][j] = 0;

}

}

addMouseListener(this);

setBackground(Color.RED);

setBounds(0, 0, 360, 360);

setVisible(true);

}

public void mousePressed(MouseEvent e)

{

int x = e.getX();

int y = e.getY();

if(x < 25 || x > 330 + 25 ||y < 25 || y > 330+25)

{return;}

if(chess[x/30-1][y/30-1] != 0)

{return;}

if(Is_Black_True==true)

{

chess[x/30-1][y/30-1] = 1;

Is_Black_True=false;

repaint();

Justisewiner();

return;

}

if(Is_Black_True==false)

{

chess[x/30-1][y/30-1]=2;

Is_Black_True=true;

repaint();

Justisewiner();

return;

}

}

void Drawline(Graphics g)

{

for(int i=30;i<=330;i+=30)

{

for(int j = 30;j <= 330; j+= 30)

{

g.setColor(Color.GREEN);

g.drawLine(i, j, i, 330);

}

}

for(int j = 30;j <= 330;j+=30)

{

g.setColor(Color.GREEN);

g.drawLine(30, j, 330, j);

}

}

void Drawchess(Graphics g)

{

for(int i=0;i < 11;i++)

{

for(int j = 0;j < 11;j++)

{

if(chess[i][j] == 1)

{

g.setColor(Color.BLACK);

g.fillOval((i+1)*30-8, (j+1)*30-8, 16, 16);

}

if(chess[i][j]==2)

{

g.setColor(Color.WHITE);

g.fillOval((i+1)*30-8, (j + 1) * 30-8, 16, 16);

}

}

}

void Justisewiner()

{

int black_count = 0;

int white_count = 0;

int i = 0;

for(i=0;i<11;i++) //竖向判断

{

for(int j=0;j<11;j++)

{

if(chess[i][j]==1)

{

black_count++;

if(black_count==5)

{

JOptionPane.showMessageDialog(this, "黑棋胜利");

Clear_Chess();

return;

}

}

else

{

black_count=0;

}

if(chess[i][j]==2)

{

white_count++;

if(white_count==5)

{

JOptionPane.showMessageDialog(this, "白棋胜利");

Clear_Chess();

return;

}

}

else

{

white_count = 0;

}

}

for(i=0;i<11;i++) //横向判断

{

for(int j=0;j<11;j++)

{

if(chess[j][i] == 1)

{

black_count++;

if(black_count==5)

{

JOptionPane.showMessageDialog(this, "黑棋胜利");

Clear_Chess();

return;

}

}

else

{

black_count=0;

}

if(chess[j][i]==2)

{

white_count++;

if(white_count==5)

{

JOptionPane.showMessageDialog(this, "白棋胜利");

Clear_Chess();

return;

}

}

else

{

white_count = 0;

}

}

}

for(i=0;i<7;i++) //左向右斜判断

{

for(int j=0;j < 7;j++)

{

相关文档
最新文档