用JAVA写一个小应用程序

单人五子棋,自己写的。

-

导入Java . awt . *;

导入Java . awt . event . *;

导入javax . swing . *;

mypanel类扩展panel实现MouseListener

{

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

布尔型Is _ Black _ True

我的面板()

{

Is _ Black _ True = true

for(int I = 0;我& lt11;i++)

{

for(int j = 0;j & lt11;j++)

{

chess[I][j]= 0;

}

}

addmouse listener(this);

setBackground(颜色。蓝色);

setBounds(0,0,360,360);

set visible(true);

}

公共void mousePressed(MouseEvent e)

{

int x = e . getx();

int y = e . gety();

if(x & lt;25 || x >330+25 | | y & lt;25 | | y & gt330+25)

{

返回;

}

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

{

返回;

}

if(Is_Black_True == true)

{

象棋[x/30-1][y/30-1]= 1;

Is _ Black _ True = false

repaint();

justisewiner();

返回;

}

if(Is_Black_True == false)

{

象棋[x/30-1][y/30-1]= 2;

Is _ Black _ True = true

repaint();

justisewiner();

返回;

}

}

空白绘制线(图形g)

{

for(int I = 30;我& lt= 330;i += 30)

{

for(int j = 30;j & lt= 330;j+= 30)

{

g.setColor(颜色。白色);

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

}

}

for(int j = 30;j & lt= 330;j += 30)

{

g.setColor(颜色。白色);

g .拉线(30,j,330,j);

}

}

空画图棋(图形g)

{

for(int I = 0;我& lt11;i++)

{

for(int j = 0;j & lt11;j++)

{

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

{

g.setColor(颜色。黑色);

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

}

if(国际象棋[i][j] == 2)

{

g.setColor(颜色。白色);

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;我& lt11;I++)//横向判断

{

for(int j = 0;j & lt11;j++)

{

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

{

black _ count++;

if(black_count == 5)

{

Joption窗格。显示消息对话框(这个,“黑色胜利”);

clear _ Chess();

返回;

}

}

其他

{

black _ count = 0;

}

if(国际象棋[i][j] == 2)

{

white _ count++;

if(白色计数== 5)

{

Joption窗格。显示消息对话框(这个,“白棋胜利”);

clear _ Chess();

返回;

}

}

其他

{

white _ count = 0;

}

}

}

for(I = 0;我& lt11;I++)//垂直判断

{

for(int j = 0;j & lt11;j++)

{

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

{

black _ count++;

if(black_count == 5)

{

Joption窗格。显示消息对话框(这个,“黑色胜利”);

clear _ Chess();

返回;

}

}

其他

{

black _ count = 0;

}

if(国际象棋[j][i] == 2)

{

white _ count++;

if(白色计数== 5)

{

Joption窗格。显示消息对话框(这个,“白棋胜利”);

clear _ Chess();

返回;

}

}

其他

{

white _ count = 0;

}

}

}

for(I = 0;我& lt7;I++)//从左向右倾斜判断

{

for(int j = 0;j & lt7;j++)

{

for(int k = 0;k & lt5;k++)

{

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

{

black _ count++;

if(black_count == 5)

{

Joption窗格。显示消息对话框(这个,“黑色胜利”);

clear _ Chess();

返回;

}

}

其他

{

black _ count = 0;

}

if(国际象棋[i + k][j + k] == 2)

{

white _ count++;

if(白色计数== 5)

{

Joption窗格。显示消息对话框(这个,“白棋胜利”);

clear _ Chess();

返回;

}

}

其他

{

white _ count = 0;

}

}

}

}

for(I = 4;我& lt11;I++)//左右斜判断

{

for(int j = 6;j & gt= 0;j -)

{

for(int k = 0;k & lt5;k++)

{

if(chess[i - k][j + k] == 1)

{

black _ count++;

if(black_count == 5)

{

Joption窗格。显示消息对话框(这个,“黑色胜利”);

clear _ Chess();

返回;

}

}

其他

{

black _ count = 0;

}

if(国际象棋[i - k][j + k] == 2)

{

white _ count++;

if(白色计数== 5)

{

Joption窗格。显示消息对话框(这个,“白棋胜利”);

clear _ Chess();

返回;

}

}

其他

{

white _ count = 0;

}

}

}

}

}

void Clear_Chess()

{

for(int I = 0;我& lt11;i++)

{

for(int j = 0;j & lt11;j++)

{

chess[I][j]= 0;

}

}

repaint();

}

公共空白油漆(图形g)

{

拉线(克);

draw chess(g);

}

public void mouse exited(mouse event e){ }

public void mouse enter(mouse event e){ }

public void mouse released(mouse event e){ }

public void mouse clicked(mouse event e){ }

}

myframe类扩展frame实现WindowListener

{

mypanel面板;

我的框架()

{

set layout(null);

panel = new my panel();

添加(面板);

panel.setBounds(0,23,360,360);

SetTitle(“单人五子棋”);

setBounds(200,200,360,383);

set visible(true);

addWindowListener(this);

}

公共void窗口关闭(WindowEvent e)

{

system . exit(0);

}

公共void window deactivated(window event e){ }

公共void window activated(window event e){ }

public void window opened(window event e){ }

公共void window closed(window event e){ }

公共void window icon ified(window event e){ }

public void window identified(window event e){ }

}

公共类mywindow

{

公共静态void main(String argc [])

{

my frame f = new my frame();

}

}