欢迎来到天天文库
浏览记录
ID:57648417
大小:144.65 KB
页数:7页
时间:2020-08-30
《棋盘覆盖实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法设计与分析实验报告专业:学号:姓名:指导老师:实验一:棋盘覆盖一、实验目的与要求1、理解算法的概念2、实现棋盘化以及棋盘覆盖二、实验题: 1、编程任务:设计棋盘覆盖的一个简单算法2、输入数据:输入特殊方格的行号和特殊方格的列号以及棋盘的大小3、结果输出:将计算结果输出显示棋盘解:1,实现解释。本程序采用java实现的,要输入期盘覆盖的行数,然后随机出现一个黑色的特殊方格,然后用其他的颜色覆盖。出现初始画面:如图:然后点击操作:出现对话框:然后输入棋盘覆盖的行数:输入行数,如:8,然后点击确定:运行如下实验源码如下:packagetwo;importjava.a
2、wt.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.*;importjava.util.*;/****@author郑金光*/publicclassFenZi{publicstaticvoidmain(Stringargs[]){newMyChessBoard();}}classMyChessBoardextendsJFrameimplementsActionListener{intdimen;//棋盘规模intx_pos;//特殊点
3、横坐标inty_pos;//特殊点竖坐标Containerp;publicMyChessBoard(){super();x_pos=0;y_pos=0;dimen=0;setTitle("棋盘覆盖");setBackground(Color.YELLOW);setBounds(300,150,510,480);centreOnScreen();//setResizable(false);p=getContentPane();JMenuBarjmb=newJMenuBar();JMenujm=newJMenu("操作");JMenuItemjitem1=newJMe
4、nuItem("开始");JMenuItemjitem2=newJMenuItem("退出");jm.add(jitem1);jm.add(jitem2);jmb.add(jm);setJMenuBar(jmb);jitem1.addActionListener(this);jitem2.addActionListener(this);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);}publicvoidcentreOnScreen(){//使窗体显示在屏幕中央Dimensiondis
5、playSize=getToolkit().getScreenSize();DimensionwinSize=getSize();intx=(displaySize.width-winSize.width)/2;inty=(displaySize.height-winSize.height)/2;if(x<0){x=0;}if(y<0){y=0;}setLocation(x,y);}publicvoidactionPerformed(ActionEvente){if(e.getActionCommand()=="退出"){System.exit(0);}elsei
6、f(e.getActionCommand()=="开始"){//在此输入方阵大小JOptionPanejop=newJOptionPane();jop.setVisible(true);do{dimen=Integer.parseInt(JOptionPane.showInputDialog(p,"输入方阵的行数:","输入棋盘的行数:(提示是2的指数)",JOptionPane.INFORMATION_MESSAGE));if(dimen/2==0)dimen=Integer.parseInt(JOptionPane.showInputDialog(p,"请你重
7、新输入:","输入棋盘的行数:(提示是2的指数)",JOptionPane.INFORMATION_MESSAGE));}while(dimen/2==0);System.out.println(dimen);x_pos=(int)(dimen*Math.random());//随机生成特殊点位置y_pos=(int)(dimen*Math.random());p.setLayout(newGridLayout(dimen,dimen));System.out.println(x_pos+","+y_pos);ChessBoardcb=newChessBoard(
8、dimen
此文档下载收益归作者所有