JAVA课程设计—连连看最终版

上传人:xmg****18 文档编号:120405077 上传时间:2020-02-06 格式:DOC 页数:22 大小:74KB
返回 下载 相关 举报
JAVA课程设计—连连看最终版_第1页
第1页 / 共22页
JAVA课程设计—连连看最终版_第2页
第2页 / 共22页
JAVA课程设计—连连看最终版_第3页
第3页 / 共22页
JAVA课程设计—连连看最终版_第4页
第4页 / 共22页
JAVA课程设计—连连看最终版_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《JAVA课程设计—连连看最终版》由会员分享,可在线阅读,更多相关《JAVA课程设计—连连看最终版(22页珍藏版)》请在金锄头文库上搜索。

1、. . . . .JAVA课程设计报告实验题目: “连连看”游戏程序设计小组成员: 王飞铭、毛建平、陈银银、黄庭威 成员分工:组长:王飞铭王飞铭:actionPerformed():重来一局按钮的响应事件及remove()判断移去方法毛建平:xiao()消去方法、estimateEven()方法陈银银:init()方法:游戏主界面和main()方法实现黄庭威:randomBuild() 产生随机数方法、fraction()刷新方法(一):内容:1:功能需求和分析: (1) 该游戏界面为:数字方格类型,由6竖7横的直线平行垂直交叉而组成,分别是6行5列凹方块拼接,共有30格小方块。方块上随机分布

2、一些数字,数字的要求是至少两两相同,位置随机打乱。 (2) 游戏规则是:将相同数字的方块连接,但要满足只能至少单边无阻碍呈直线趋势连接,否则视为无效,如果一对数字连接成功,那么就会消失在界面,并且分数标签会加分,继续游戏,直到游戏结束。 (3)帮助项目:在游戏过程中,如果出现没有可以连接的数字对时候,可按界面下方按钮刷新重新排列,便可以可继续游戏。 (4)退出游戏: 可以鼠标点击 “退出”按钮,结束游戏。 (5) 再来一局:本局结束或者中途不想继续玩本局,可以点击界面下方的再来一局,系统会自动再次重新开始。(二):主要方法:首先我们定义了一个lianliankan类,实现了接口ActionLi

3、stener:1) init()方法:实现游戏主界面;2) randomBuild()方法:用来产生游戏按钮上的随机数;3) fraction()方法:游戏界面最上面用来加分;4) reload()方法:用来刷新,重载,窗体界面;5) estimateEven()方法:判断按钮数字是否满足消去的条件 linePassOne()方法:判断第一按钮同左右侧空按钮之间rowPassOne()方法:判断第一按钮同列空按钮与第二按钮;6) actionPerformed(ActionEvent e)方法:用来实现重来一局按钮的响应事件;7) main(String args)方法:主函数;8) xiao

4、()方法:消去方法(三):界面要求:用图形界面实现,参考下系统流程图如下开始初始化设置开始界面画表格初始化数值游戏游戏是否结束显示游戏结束画面游戏结束NOYes(四):代码设计package 数字版;/*本游戏是连连看,上面出现的都是数字,点击两个相邻的或者之间没有第三个的,便可以消去。如果不能消除完,便可以按重列,这样会把剩余的重新排列。便可以继续玩了,或者您可以按重置,重新再来一局!*/import javax.swing.*; /调用图形界面类布局import java.awt.*; import java.awt.event.*; public class lianliankan im

5、plements ActionListener /继承一个监听器JFrame mainFrame; /游戏主面板 用布局管理器Container thisContainer; /一个容器JPanel centerPanel,southPanel,northPanel; /子面板 JButton diamondsButton = new JButton65;/游戏按钮数组 JButton exitButton,resetButton,newlyButton; /退出,重列,重新开始按钮 JLabel fractionLable=new JLabel(0); /分数标签 显示您玩游戏得了多少分!)

6、JButton firstButton,secondButton; /分别记录两次被选中的按钮 int grid = new int87;/储存游戏按钮位置 static boolean pressInformation=false; /判断是否有按钮被选中 int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; /游戏按钮的位置坐标 int i,j,k,n;/消除方法控制 public void init() mainFrame=new JFrame(数字版连连看); thisContainer = mainFrame.getCont

7、entPane(); thisContainer.setLayout(new BorderLayout();/setLayout()设置用户界面上的屏幕组件的格式布局,是java图形界面编程的常用方法。此处是方位布局centerPanel=new JPanel(); /中间部分(用来放游戏显示内容)southPanel=new JPanel(); /下面部分(用来放退出,重列,重新开始按钮)northPanel=new JPanel(); /上面部分(用来记录得分情况)centerPanel.setBackground(new Color(145,145,44);/灰色northPanel.s

8、etBackground(new Color(245,252,252);/颜色redthisContainer.add(centerPanel,Center); thisContainer.add(southPanel,South); thisContainer.add(northPanel,North); centerPanel.setLayout(new GridLayout(6,5); /设置游戏图标for(int cols = 0;cols 6;cols+) for(int rows = 0;rows 5;rows+ ) diamondsButtoncolsrows=new JButt

9、on(String.valueOf(gridcols+1rows+1); /换下一行diamondsButtoncolsrows.setBackground(new Color(199,190,33);/颜色diamondsButtoncolsrows.setFont(new java.awt.Font(黑体, 1, 22);diamondsButtoncolsrows.setBorder(BorderFactory.createLoweredBevelBorder();diamondsButtoncolsrows.addActionListener(this); centerPanel.ad

10、d(diamondsButtoncolsrows); exitButton=new JButton(退出); exitButton.setFont(new java.awt.Font(黑体, 1, 16);exitButton.setPreferredSize(new Dimension(55,30);exitButton.setBorder(BorderFactory.createRaisedBevelBorder();exitButton.setBackground(new Color(25,155,100);/颜色绿色exitButton.addActionListener(this);

11、 resetButton=new JButton(刷新); resetButton.setFont(new java.awt.Font(黑体, 1, 16);resetButton.setPreferredSize(new Dimension(55,30);resetButton.setBorder(BorderFactory.createRaisedBevelBorder();resetButton.setBackground(new Color(77, 175,100);/蓝色resetButton.addActionListener(this); newlyButton=new JBut

12、ton(再来一局); newlyButton.setFont(new java.awt.Font(黑体, 1, 16);newlyButton.setPreferredSize(new Dimension(100,33);newlyButton.setBorder(BorderFactory.createRaisedBevelBorder();newlyButton.setBackground(new Color(255,192,203);/粉色newlyButton.addActionListener(this); /添加了监听器 !当点击时候,用那个来通知southPanel.add(ex

13、itButton); southPanel.add(resetButton); southPanel.add(newlyButton);fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText(); /用来计算得分数,不断变化northPanel.add(fractionLable); mainFrame.setBounds(300,100,500,450); mainFrame.setVisible(true); public void randomBuild() /产生随机数int randoms

14、,cols,rows; for(int twins=1;twins=15;twins+) randoms=(int)(Math.random()*25+1); for(int alike=1;alike=2;alike+) cols=(int)(Math.random()*6+1); rows=(int)(Math.random()*5+1); while(gridcolsrows!=0) cols=(int)(Math.random()*6+1); rows=(int)(Math.random()*5+1); this.gridcolsrows=randoms; public void fraction() fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText()+100); public void reload() int save = new int30; int n=0,cols,rows; int grid= new int87; /双重循环,输出二维数组!for(int i=0;i=6;i+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号