JAVA实验报告3-“连连看”游戏程序设计_第1页
JAVA实验报告3-“连连看”游戏程序设计_第2页
JAVA实验报告3-“连连看”游戏程序设计_第3页
JAVA实验报告3-“连连看”游戏程序设计_第4页
JAVA实验报告3-“连连看”游戏程序设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA实验(3)课程名称:Java面向对象程序设计学院:管理学院专业班级:信息管理与信息系统(6)学号:3108006406姓名:张钟权任课教师:聂小东2010年05月12日

管理学院信息管理与信息系统专业08信管6班______组学号3108006406姓名张钟权协作者教师评定_____________实验题目“连连看”游戏程序设计实验目的与要求实验目的:通过在指定的窗口界面完成“连连看”小游戏程序的编写和调试,加深对面向对象程序设计的理解。(2)实验要求:按照Java程序设计教程的要求完成第三章中“连连看”游戏程序的编写和调试。实验方案定义了一个lianliankan类,实现了接口ActionListener:=1\*GB3①main()方法:主函数;=2\*GB3②actionPerformed()方法,用来实现重来一局按钮的响应事件;=3\*GB3③go()方法:初始化界面,排列图形;=4\*GB3④ex()方法:设置“退出游戏”窗体界面;=5\*GB3⑤suiji()方法:产生随机数,来填充游戏界面对应的数组的各个位置;=6\*GB3⑥chonglie()方法:当无符合条件的图形可消去时,需要重新排列图形;=7\*GB3⑦ling()方法:将数组中为零的成员所对应的按钮消去(设为不可见);=8\*GB3⑧wei()方法:判断并记录每次单击按钮的一些信息;=9\*GB3⑨xiao()方法:判断两个按钮在对应数组元素的值相同时能不能消去。实验结果和数据处理整个游戏最重要的方法,xiao()方法,用来判断两个按钮在对应数组元素的值相同时能不能消去:publicvoidxiao(){inti=0,j=0,n=0,k=0;//考虑相邻的情况if((x0==x&&(y0==y+1||y0==y-1))||((x0==x+1||x0==x-1)&&(y0==y))){p2.setVisible(false);p1.setVisible(false);s="no";d[x0][y0]=0;d[x][y]=0;}//考虑不相邻的情况else{//两个按钮按行分析,看能否消去for(j=0;j<7;j++){if(d[x0][j]==0){if(y>j){for(i=y-1;i>=j;i--){if(d[x][i]!=0){k=0;break;}else{k=1;}}if(k==1){if(y0>j){for(i=y0-1;i>=j;i--){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}if(y0<j){for(i=y0+1;i<=j;i++){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}}}if(y<j){for(i=y+1;i<=j;i++){if(d[x][i]!=0){k=0;break;}else{k=1;}}if(k==1){if(y0>j){for(i=y0-1;i>=j;i--){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}if(y0<j){for(i=y0+1;i<=j;i++){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}}}if(y==j){if(y0>j){for(i=y0-1;i>=j;i--){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}if(y0<j){for(i=y0+1;i<=j;i++){if(d[x0][i]!=0){k=0;break;}else{k=2;}}}}}if(k==2){if(x0==x){p1.setVisible(false);p2.setVisible(false);s="no";k=0;d[x0][y0]=0;d[x][y]=0;}if(x0<x){for(n=x0;n<=x-1;n++){if(d[n][j]!=0){k=0;break;}if(d[n][j]==0&&n==x-1){p1.setVisible(false);p2.setVisible(false);s="no";k=0;d[x0][y0]=0;d[x][y]=0;}}}if(x0>x){for(n=x0;n>=x+1;n--){if(d[n][j]!=0){k=0;break;}if(d[n][j]==0&&n==x+1){p1.setVisible(false);p2.setVisible(false);s="no";k=0;d[x0][y0]=0;d[x][y]=0;}}}}}//按行分析end//按列分析,看能不能消去for(i=0;i<8;i++){if(d[i][y0]==0){if(x>i){for(j=x-1;j>=i;j--){if(d[j][y]!=0){k=0;break;}else{k=1;}}if(k==1){if(x0>i){for(j=x0-1;j>=i;j--){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}if(x0<i){for(j=x0+1;j<=i;j++){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}}}if(x<i){for(j=x+1;j<=i;j++){if(d[j][y]!=0){k=0;break;}else{k=1;}}if(k==1){if(x0>i){for(j=x0-1;j>=i;j--){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}if(x0<i){for(j=x0+1;j<=i;j++){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}}}if(x==i){if(x0>i){for(j=x0-1;j>=i;j--){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}if(x0<i){for(j=x0+1;j<=i;j++){if(d[j][y0]!=0){k=0;break;}else{k=2;}}}}}if(k==2){if(y0==y){p1.setVisible(false);p2.setVisible(false);s="no";k=0;d[x0][y0]=0;d[x][y]=0;}if(y0<y){for(n=y0;n<=y-1;n++){if(d[i][n]!=0){k=0;break;}if(d[i][n]==0&&n==y-1){p1.setVisible(false);p2.setVisible(false);s="no";k=0;d[x0][y0]=0;d[x][y]=0;}}}if(y0>y)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论