毕业论文(4)

2019-03-22 21:16

山东凯文科技职业学院

public DrawPanel(int k[][],int n1,int m1){ }

public void paintComponent(Graphics g){

super.paintComponent(g); Graphics2D g2=(Graphics2D)g; Graphics2D g3=(Graphics2D)g;

double X=20; double Y=20; double width=480; double height=480; double jiange=30;

// 画棋盘网格

for(int i=0;i<=width/jiange;i++){ }

g2.draw(new Line2D.Double(X+i*jiange,Y,X+i*jiange,height+Y)); g2.draw(new Line2D.Double(X,Y+i*jiange,width+X,Y+i*jiange));

a=k; n=n1; m=m1;

//画中间点的标记 g3.setPaint(Color.RED);

g3.draw(new Line2D.Double(254,245,254,254)); g3.draw(new Line2D.Double(245,254,254,254)); g3.draw(new Line2D.Double(267,245,267,254)); g3.draw(new Line2D.Double(267,254,275,254));

g3.draw(new Line2D.Double(245,266,254,266)); g3.draw(new Line2D.Double(254,266,254,275));

13

山东凯文科技职业学院

}

}

g3.draw(new Line2D.Double(266,275,266,266)); g3.draw(new Line2D.Double(266,266,275,266)); //画旗子

for(int i=1;i

//画旗子上的标记 if(n>0&&m>0){ }

g2.setPaint(Color.RED);

g2.setStroke(new BasicStroke(1.5f));

g2.draw(new Line2D.Double(30*m-16,30*n-16,30*m-4,30*n-4)); g2.draw(new Line2D.Double(30*m-16,30*n-4,30*m-4,30*n-16)); for(int j=1;j

Ellipse2D circle=new Ellipse2D.Double(); circle.setFrame(j*30-25, i*30-25, 28, 28); if(a[i][j]==1){

g2.setPaint(Color.BLACK); g2.fill(circle);

}else if(a[i][j]==2){ }

g2.setPaint(Color.WHITE); g2.fill(circle);

类PlayerVsPC代码: package resource;

import java.awt.Color;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter;

14

山东凯文科技职业学院

import java.awt.event.MouseEvent; import java.awt.Toolkit; import java.awt.Dimension;

import javax.swing.JColorChooser; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel;

public class PlayerVsPC {

15

private JFrame frame; //整个窗口 private JMenuBar bar; //菜单栏 private JMenuItem[][] jit;//菜单项数组 private JMenuItem[] mode;//模式项数组 private JMenu[] jm;

//菜单

public boolean isBlack; //是否为黑方下子状态 private int[][] qipan; private int row; private int col; private int prow; private int pcol;

private Color c=new Color(145,125,62); private DrawPanel panel; private JLabel label;

//棋盘面板 //棋盘上方的标签 //棋盘上方条形面板

//棋盘背景颜色

//棋盘数组 //当前行

//当前列

private JPanel panel0; private boolean isEnd; private int[][] qixingPC; private int[][] qixingPlayer;

private boolean isPC = true; //记录当前下棋模式 private boolean cMode = true;

//记录选择的对弈模式

山东凯文科技职业学院

public PlayerVsPC(){ }

public void addItems(){

frame=new JFrame(\五子棋游戏\bar=new JMenuBar(); jm=new JMenu[2]; jit=new JMenuItem[2][]; qipan=new int[19][19]; qixingPC = new int[17][17]; qixingPlayer = new int[17][17]; for(int i=0;i<19;i++){ }

for(int i=0;i<17;i++){ }

label = new JLabel(\人\机\人\对弈模式,请按开局开始游戏!\panel0=new JPanel();

for(int j=0;j<17;j++){ }

qixingPC[i][j]=0; qixingPlayer[i][j]=0; for(int j=0;j<19;j++){ }

qipan[i][j]=0;

addItems();

addEventAction(); printqipan(0,0);

jm[0]=new JMenu(\游戏\jm[1]=new JMenu(\选项\

jit[0]=new JMenuItem[3]; jit[0][0]=new JMenuItem(\开局\jit[0][1]=new JMenuItem(\重新开始\

16

山东凯文科技职业学院

jit[0][2]=new JMenuItem(\结束游戏\

jit[1]=new JMenuItem[3]; jit[1][0]=new JMenu(\对弈模式\ mode=new JMenuItem[2];

mode[0] = new JMenuItem(\人人对弈\ mode[1] = new JMenuItem(\人机对弈\ jit[1][0].add(mode[0]); jit[1][0].add(mode[1]);

jit[1][1]=new JMenuItem(\悔棋\

jit[1][2]=new JMenuItem(\背景颜色\

for(int i=0;i

} }

panel0.add(label); bar.add(jm[0]); bar.add(jm[1]); frame.setJMenuBar(bar); frame.add(panel0,\

}

//给菜单项设定事件 public void addEventAction(){

jit[0][0].addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { row=prow=0;col=pcol=0; isPC=cMode; isBlack = true;

isEnd = false;

17

//开局


毕业论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年9月计算机应用基础统考押题2操作系统应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: