五子棋开发,初步实现界面和落棋子

正在学习五子棋的开发,现在是第一步,一切都还是渣渣,给新手看看。

简陋的界面。。


五子棋开发,初步实现界面和落棋子
 代码没什么难度,唯一需要注意的地方就是判断鼠标点击屏幕,需要在哪里出现棋子。

 

package data0609_五子棋;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class PMouseAda  extends  MouseAdapter  implements Config1{
	Graphics g;
	public PMouseAda(Graphics g)
	{
				this.g=g;
	}
	public void mouseReleased(MouseEvent e)
	 {
		 int x=e.getX();
		 int y=e.getY();
		 int click=e.getButton();
//以下代码为判断在哪里画棋子
		 	int flag=1;
		 	double tx=((double)x-x0)/size;
		 	double ty=((double)y-y0)/size;
		 	int tx1=(int)tx;
		 	int ty1=(int)ty;
		 	if(tx-tx1>2.0/3)
		 		tx1++;
		 	if(ty-ty1>2.0/3)
		 		ty1++;
		 	if(tx-(int)tx>1.0/3&&tx-(int)tx<2.0/3)
	 				flag=0;
		 	if(ty-(int)ty>1.0/3&&ty-(int)ty<2.0/3)
		 			flag=0;
		 int xc=tx1*size+x0;
		 int yc=ty1*size+y0;
		 if(flag==1)
		 {
			 if(click==1)
				 g.setColor(Color.BLACK);
			 if(click==3)
				 g.setColor(Color.WHITE);
			g.fillOval(xc-chessSize/2, yc-chessSize/2, chessSize, chessSize);
		 }
	 }
}

 

package data0609_五子棋;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JPanel;

import data0609_五子棋.test.WZQListener;
/**
 * 五子棋界面
 * @author ZhangZunC
 *
 */
public class MainFrame extends JFrame {
	public MainFrame()
	{
		
		MyPanel panel=new MyPanel();
		this.add(panel);//JFrame默认是BorderLayout 布局 
		this.setSize(600,600);
		this.setTitle("五子棋");
		this.setDefaultCloseOperation(3);
		this.setResizable(false);
		this.setVisible(true);//为什么一定要放在这里
		Graphics g=panel.getGraphics();
		PMouseAda listener=new PMouseAda(g);
		panel.addMouseListener(listener);
	}
	public static void main(String[] args) {
		new MainFrame();
	}
}

 

package data0609_五子棋;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;

import javax.swing.ImageIcon;
import javax.swing.JPanel;

import data0609_五子棋.test.Config;

public class MyPanel  extends JPanel implements Config1{
	Graphics g;

	/**
	 * 重写绘制组件的方法  这个方法在组件需要绘制的时候会自动调用
	 * @param g
	 */
	public  void paint(Graphics g) {
		super.paint(g);
		for(int i=0;i<row;i++)
		{
			g.drawLine(x0+i*size, y0, x0+i*size, y0+size*14);
		}
		for(int i=0;i<col;i++)
		{
			g.drawLine(x0,y0+i*size,x0+size*14,y0+i*size);
		}
	}
	
}

 

 

你可能感兴趣的:(五子棋)