数字拼图游戏

余年寄山水
855次浏览
2021年01月01日 03:28
最佳经验
本文由作者推荐

郁郁寡欢造句-惊蛰吃什么

2021年1月1日发(作者:仇慎谦)


安徽新华学院计科软件测试方法和技术
课 程 设 计 任 务 书
一、设计题目:数字拼图游戏(出题人:於世芳)
说明:一个拼图游戏。
二、目的与要求
1.目的
培养学生综合利用JAVA语言进行程序设计的能力,主 要是培养学生利用JAVA的标准控
件进行应用程序设计的技能。
2.基本要求
 能够实现拼图功能。
 可以通过初始化任意次的重新游戏。
 游戏完成后做出相应提示.




3.创新要求
在基本要求达到后,可以参考其他拼图游戏,进行创新设计,创新方向提示如下:
★ 将数字换成图片。
★ 可以记录游戏者成绩并排行
★ 增加暂停功能或窗口最小化时暂停计时。
三、设计方法和基本原理
1.问题描述
程序界面见题图。
2.问题的解决方案
①设计程序界面
因为用的全是基本控件,界面设计没有什么难度,这里涉及到动态添加控件数组,
可参见课本控 件数组一节内容。
②编写代码
代码包括事件处理过程和功能函数,还有必要的声明。变量声 明部分声明本程序所
需要的变量和数组。


事件处理包括下面的主要事件:
Form_Load()
作一些初始化的工作。主要是设定初始等级,动态添加控件数组。
Private Static Sub cmdButton_MouseDown(Index As Integer, Button As Integer,
Shift As Integer, X As Single, Y As Single)
游戏运行。
cmd_Click( )
游戏初始化
其它功能的处理不再一一描述了
四、主要技术问题的描述
虽然界面操作有些复杂,但难点显然并不在于此。下面是初始化设置中的一段程序:
package {





















var arr:Array=new Array(1,2,3,4,5,6,7,8);
var ditu:Array=new Array(new Array(3),new Array(3),new Array(3));
var pailie:Array=new Array(new Array(0,0),new Array(40,0),new Array(80,0),





import
import vent;
import
import eld;
import
public class Main extends Sprite{










new Array(0,40),new Array(40,40),new Array(80,40),
new Array(0,80),new Array(40,80),new Array(80,80));
































































var rectObject:Array=new Array();

public function Main() {


}

public function init():void{























var kuang:Sprite=new Sprite();
yle(0,0x000000);
ct(0,0,120,120);
l();
kuang.x=200;
kuang.y=150;
addChild(kuang);
for(var i=0;i<3;i++){



}
for(var b=0;b<8;b++){










var arrindex:uint=(()*);
var arrvalue:uint=arr[arrindex];
(arrindex,1);

var pailieindex:uint=(()*);
var pailievalue:Array=pailie[pailieindex];
(pailieindex,1);

var rect:RectShape=new RectShape(arrvalue);
rect.x=pailievalue[0];

constructor code
init();
for(var a=0;a<3;a++){

}
ditu[i][a]=1;


rect.y=pailievalue[1];
rect.X=rect.x40;
rect.Y=rect.y 40;
ditu[rect.x 40][rect.y40]=0;

hildren=false;
Mode=true;
ntListener(,test);

ld(rect);
(rect);
}
}

public function test(evt:Event):void{

var zuo:uint = .X - 1;
var you:uint = .X + 1;
var shang:uint = .Y - 1;
var xia:uint = .Y + 1;
trace(当前的方块号码=

if (zuo != 4294967295 && ditu[zuo][.Y] == 1)4294967295 ????
{
ditu[.X][.Y] = 1;
ditu[zuo][.Y] = 0;
.X = zuo;
.x -= 40;
}
else if (you !=3 &&ditu[you][.Y]==1)
{
































































































































































}
ditu[.X][.Y] = 1;
ditu[you][.Y] = 0;
.X = you;
.x += 40;
else if (shang!=4294967295&&ditu[.X][shang]==1)4294967295 ????
{




}
else if (xia!=3&&ditu[.X][xia]==1)
{




}

trace(的长度是:

trace(rectObject[0].valueOf().num_);
for(var a=0;a<;a++){








var targetNum:String=_;
var rectObjectNum:String=rectObject[a].valueOf().num_;
if(targetNum == rectObjectNum){


}

ditu[.X][.Y] = 1;
ditu[.X][shang] = 0;
.Y = shang;
.y -= 40;
ditu[.X][.Y] = 1;
ditu[.X][xia] = 0;
.Y = xia;
.y += 40;
trace(在数组为的位置是方块trace(此时x坐标为:,y坐标为:































































































































var a1:uint;
var a2:uint;
var a3:uint;
var a4:uint;
var a5:uint;
var a6:uint;
var a7:uint;
var a8:uint;

if( rectObjectNum ==

}
if( rectObjectNum ==

}
if( rectObjectNum ==

}

if( rectObjectNum ==

}
if( rectObjectNum ==

}
if( rectObjectNum ==

}
if( rectObjectNum ==
a7=a;

a1=a;
a2=a;
a3=a;
a4=a;
a5=a;
a6=a;


















































































}
if( rectObjectNum ==

}

if(ditu[2][2]==1){



if(r ectObject[a1].valueOf().x==0&&rectObject[a1].value Of().y==0
&&rectObject[a2].valueOf().x==40&&r ectObject[a2].valueOf().y==0
&&rectObject[a3]. valueOf().x==80&&rectObject[a3].valueOf().y==0
&&rectObject[a4].valueOf().x==0&&rectObject[a4].v alueOf().y==40
&&rectObject[a5].valueOf().x==4 0&&rectObject[a5].valueOf().y==40
&&rectObject [a6].valueOf().x==80&&rectObject[a6].valueOf().y== 40
&&rectObject[a7].valueOf().x==0&&rectObject [a7].valueOf().y==80

){
a8=a;














var txtShow:TextField=new TextField();


















txtShow.x=50;
txtShow.y=100;
=1000;

=孩子辛苦了吧!累的不行了吧!哈哈,你上当了!很兴
奋吧!那你明天请我吃饭!





















Color=0x00ff00;
addChild(txtShow);

trace(孩子辛苦了吧!累的不行了吧!哈哈,你上当了!很兴奋吧!
那你明天请我吃饭!
















}

break;


















}






}



}

}

}
五、参考资料
★ Visual Basic 程序设计教程 及 Visual Basic 实验教程
★ VB6.0程序员指南
★ VB6.0控件参考手册
★ 设计资料中的 “拼图.ZIP”
★ MSDN中文版,课程设计网站上提供的其它资料。

青年警察-古诗《中秋》


阿芙-英语台词


感恩节什么时候-熟悉的近义词


大陆女明星排行榜-干部培训心得体会


刺猬的拥抱-过年是几号


沸腾的意思-蕾依丽雅


祖海的歌-糕点师


居家养老服务内容-脆弱的反义词是什么