java五子棋程序的讲解_java五子棋 程序解释

这个Java程序实现了五子棋游戏的界面和基本功能。它使用Applet、Graphics类来绘制棋盘,并通过监听鼠标事件来放置棋子。代码中初始化了棋盘并设置了棋子的颜色和位置。在鼠标点击事件处理中,根据点击位置确定棋子的坐标,并检查该位置是否可以放置棋子。最后,程序会画出棋盘上的所有棋子。对于初学者,理解每一句代码的功能可以帮助深入学习Java图形界面编程。
摘要由CSDN通过智能技术生成

importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclass五子棋extendsAppletimplementsActionListener,MouseListener{Stringstr="五子棋游戏!";Dimensioncurrent...

import java.applet.*;

import java.awt.*;

import java.awt.event.*;

public class 五子棋 extends Applet implements ActionListener,MouseListener

{

String str="五子棋游戏!";

Dimension currentPos=new Dimension();

int zuobiao[][]=new int[19][15];

int x=20,y=20;

boolean unfirstpaint=false;

boolean one=false;

//======================================================================

public void init()

{

addMouseListener(this);

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

{

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

zuobiao[i][j]=0;

}

}

//======================================================================

public void paint(Graphics g)

{

int x0=30,y0=50,dx=30,dy=30,N=18,M=14;

int x1,y1,x2,y2;

g.setColor(Color.green);

y1=y0;

y2=y0+M*dy;

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

{

x1=x0+i*dx;

g.drawLine(x1,y1,x1,y2);

}

g.setColor(Color.red);

x1=x0;

x2=x0+N*dx;

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

{

y1=y0+j*dy;

g.drawLine(x1,y1,x2,y1);

}

g.setColor(Color.red);

g.setFont(new Font("TimesRoman",Font.BOLD,25));

g.drawString(str,120,30);

g.setColor(Color.red);

g.fillOval(600,60,20,20); g.drawString(" : 甲方",610,80);

g.setColor(Color.blue);

g.fillOval(600,100,20,20); g.drawString(" : 乙方",610,120);

//======================================================================

if(unfirstpaint)

{

for(int i=0;i<=18;i++)//画棋子

{

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

{

if(currentPos.width<=(45+i*30)&&currentPos.width>=(15+i*30))

x=i;

if(currentPos.height<=(65+j*30)&&currentPos.height>=(35+j*30))

y=j;

}

}

}

//=====================================================================

if(x!=20&&y!=20)

if(zuobiao[x][y]==0)

{

if(one)

zuobiao[x][y]=1;

else

zuobiao[x][y]=2;

}

//画点图=====================================================================

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

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

{

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

{

g.setColor(Color.red);

g.fillOval(20+i*30,40+j*30,20,20);

}

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

{

g.setColor(Color.blue);

g.fillOval(20+i*30,40+j*30,20,20);

}

}

最好一句一句解释一下是干什么的..命令的作用 感激不尽,这只是程序一部分

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值