JAVA连连看课程设计报告_2.docx

上传人:lao****ou 文档编号:859942 上传时间:2024-06-27 格式:DOCX 页数:18 大小:52.32KB
下载 相关 举报
JAVA连连看课程设计报告_2.docx_第1页
第1页 / 共18页
JAVA连连看课程设计报告_2.docx_第2页
第2页 / 共18页
JAVA连连看课程设计报告_2.docx_第3页
第3页 / 共18页
JAVA连连看课程设计报告_2.docx_第4页
第4页 / 共18页
JAVA连连看课程设计报告_2.docx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVA连连看课程设计报告_2.docx》由会员分享,可在线阅读,更多相关《JAVA连连看课程设计报告_2.docx(18页珍藏版)》请在第一文库网上搜索。

1、滨江学院实验报告实验名称JAVA小游戏(连连看)设计课程名称智能手机程序设计专业班级:信息工程1班学生姓名:车宇翔学号:20112309002指导教师:高超学期:2013-2014(2)【选题背景】:连连看游戏经验,玩法简单,休闲,益智,趣味,广受欢迎。【选题目的】:学会JAVA程序开发的环境搭建与配置,并在实际运用中学习和掌握JAVA程序开发的全过程。进一步熟悉掌握JAVA程序设计语音的基础内容,如用户图形界面设计、JAVA多线程编程、JAVA数据库编程等。通过亲自动手写程序,拓展知识面,锻炼调试能力。【系统分析与设计】:功能分析:实现连连看的基本游戏功能和重置、提示、消除功能设计:通过对图

2、片的调用以及设置是否可见来完成连连看的效果【课程设计中碰到的问题及解决方案】:1 .不知道如何进行对数组中两个元素是否可以消除的判断2 .时间条的动态表现解决方案:1 .对每个相同图案进行循环判断,直到找出满足条件的情况boo1eanverticaIMatch(Pointa,Pointb)/竖线上的判断booIanhorizonMach(Pointa,Pointb)/横线上的判断2 .为了保证动画过程和游戏过程的平行运行,因此将动画分离成一个独立的控件,并且要保证动画有自己单独的线程来运行。当每次用户的分数发生变化时,我们可以使用setScore(int/,intG)方法同步分数显示的动画效果

3、。【程序输出结果】:游戏开始ne5:00pmI1一-11234567890QWERTYUI0PASDFGHJK1D11会ZXCVBNMSYM/9ChessbMrd河余时间:95超肋次效:5杨喻ME版W需V0神自熟,*乙3r*e余皆,三熊ZYY务需二哪【程序代码】:ImageFactorypackagenicho1as.game.kyodai;importjavax.swing.Image1con;.*;pub1icc1assImageFactoryprivatestaticImageFactoryimagefactory;privatestaticImageiconimages;private

4、ImageFactoryOimages=newImageicon54;UR1C1ass1oader1oader=(UR1C1ass1oader)getC1ass().getC1ass1oader();for(inti=0;i39;i+)itnagesi=newImageIcon(getC1ass().getResource(images+i+,.gi);)images39=newImageIcon(getC1ass().getResource(imagesdots.gi);images40=newImageIcon(getC1ass().getResource(imagesico.gif);i

5、mages41=newImageIcon(getC1ass().getResource(imagestopbar.gif);images42=newImageIcon(getC1ass().getResource(imagessp1ash.gif);images43=newImageIcon(getC1ass().getResource(imagessico.gi);)pub1icImageiconget1mageicon(inti)returnimagesi;)pub1icstaticsynchronizedImageFactoryget1nstance()if(inagefactory!=

6、nu11)returnimagefactory;e1seimagefactory=newImageFactoryO;returnimagefactory;KyodaiGridpackagenicho1as.game.kyodai;importjava.awt.*;importjavax.swing.*;pub1icc1assKyodaiGridextendsJ1abe1privateintxpos;privateintypos;pub1icKyodaiGrid(intx,inty)xpos=x;ypos=y;this.setHorizonta1A1ignment(SwingConstants.

7、CENTER);)pub1icintgetXpos()returnxpos;)pub1icintgetYpos()returnypos;)pub1icboo1eanisPassab1e()return!isVisib1e();)1eveIInfopackagenicho1as.game.kyodai;importjava.io.Seria1izab1e;pub1icc1ass1eve1Infoimp1ementsSeria1izab1e/xBoundfjv,yBound为列号privateintxBound;privateintyBound;pub1ic1eve1Info()xBound=16

8、;yBound=9;)pub1ic1eve1Info(intx,inty)xBound=x;yBound=y;)pub1icintgetXBound()returnxBound;pub1icintgetYBound()returnyBound;)MainFrameJavapackagenicho1as.game.kyodai;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;importnicho1as.swing.AboutDia1og;importnicho1as.swing.JSp1as

9、hWindow;pub1icc1assMainFrameextendsJFrameimp1ementsAction1istenerprivateJMenuItemabout1iem;菜单栏privateJMenuItemexititem;privateJMenuItemstartitem;privateJMenuItemoptionitem;privateJMenuItemtipitem;privateJMenuItemrefreshitem;privateJMenuItem1ogitem;privateJMenuItembombitem;privateJMenuItempauseitem;p

10、rivateMainPane1mainPane1;完成.主要功能private1eve1InfoIeveIInfo;pub1icMainFrameOSUPer(连连看”);Ieve1Info=new1eVe11nfO();设定游戏大小SetMenUBar();/设置菜单setUI();setIconImage(ImageFactory.getInstance().getImageicon(43).getImage();setSize(650,520);Dimensionscreen=getToo1kit().getScreenSize();set1ocation(screen.width-ge

11、tSize().width)2,(screen.height-getSize().height)2);this.setVisib1e(true);addWindow1istener(newWindowAdapterOpub1icvoidwindowC1osing(WindowEvente)System.exit(O););)privatevoidsetMenuBar()JMenufi1eMenu=newJMenU(游戏(GM);JMenuhe1pMenu=newJMenU(帮助(H);JMenucontMenu=newJMenU(辅助(C);fi1eMenu.setMnemonic(G);he

12、1pMenu.setMnemonic(H);contMenu.setMnemonic(C);startitem=newJMenUI【em(开局(N);startItem.setMnemonic(N);startItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-F2,0);pause1tem=newJMenU1tem(暂停(P);pauseItem.setMnemonic(,P,);pauseItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-PAUSE,0);refreshit

13、em=newJMenU1tem(刷新(R);refreshItem.setMnemonic(,R,);refreshItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-F3,0);tipitem=newJMenU1tem(提示(T);tipItem.setMnemonic(T);tipItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-F5,0);optionitem=newJMenU1tem(选项(O).);optionItem.setMnemonic(O,);1ogitem=

14、newJMem11tem(排行榜(B);1ogItem.setMnemonic(B);exit1tem=newJMenUItem(退出(X);exit1tem.setMnemonic(X);about1tem=newJMenuItem(关于(A).,);about1tem.setMnemonic(A);aboutItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-FUO);bomb1tem=newJMenU1tem(炸弹(M);bombItem.setAcce1erator(KeyStroke.getKeyStroke(KeyEvent.VK-F4,0);bombitem.setMnemonic(M);startItem.addAction1istener(this);pause1tem.addAction1istener(this);refresh1tem.addAction1istener(this);f.setBackground(newCo1or(200,120J50);f.setRe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服