题目:java拼图游戏姓名学号指导教师(签名)二○一一年七月十四日java拼图游戏[摘要]• 进一步加深对Java语言的理解和掌握:将所学的JAVA知识运用于实践中。
• 课程设计将理论与实践相结合,提供了一个既动手又动脑,独立实践的机会,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;• 熟练掌握JAVA语言中图形用户界面程序的编写;大体了解怎样用JAVA来编写小游戏的,增强我们实践能力和创新精神的综合培养。
前言编程思路:本练习因为要制作拼图游戏,所以首先要实现图片的导入。
这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。
然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。
Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。
最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this)和addMouseMotionListener(this)来完成的。
这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。
//首先是程序实现及注释importjava.awt.*;importjava.applet.*;importjava.awt.event.*;publicclasspintuextendsApplet implementsMouseListener,MouseMotionListener{ privateImagepicture; privateGraphicsbuffer; privateImagepic[]; privateImageoff_pic[]; privateGraphicsoff_buf[]; privateImageoff_screen; privateGraphicsoff_buffer; privateImageoff_drag; privateGraphicsoff_drag_buf; privateintmap[][]; privateintran[]; privateintwidth=0; privateintheight=0; privateintlastx; privateintlasty; privateintlast_downx; privateintlast_downy; privateintstepx; privateintstepy; privatebooleanchoose; privatebooleanclick[][]; privatebooleanm_down; privatebooleanm_drag; privatebooleannot_redraw; privatebooleanable; Fontfont1,font2; //程序的初始化 publicvoidinit() {
2024/3/20 15:44:49 799KB java j2ee 课程设计报告
1
Math.Net源代码VS2010可编译。
目前最好的替代Matlab进行数值计算的.NET组件。
2024/3/1 9:45:11 14.21MB Math.Net
1
实验七Java多线程一、实验目的:熟悉利用Thread类建立多线程方法。
熟悉利用Thread接口建立多线程方法。
二、实验内容:1.阅读下列程序,分析并上机检验其功能。
classDelayThreadexendsThread{privatestaticintcount=0;privateintno;privateintdelay;publicDelayThread(){count++;no=count;}publicvoidrun(){try{for(inti=0;i<10;i++){delay=(int)(Math.random()*5000);sleep(delay);System.out.println(“Thread”+no+”withadelay”+delay);}}catch(InterruptedExceptione){}}}publicclassMyThread{publicstaticvoidmain(Stringargs[]){DelayThreadthread1=newDelayThread();DelayThreadthread2=newDelayThread();thread1.start();thread2.start();try{Thread.sleep(1000);}catch(InterruptedExceptione){System.out.println(“Threadwrong”);}}}2.讲上列程序利用Runnable接口改写,并上机检验。
3.利用多线程编写一个模拟时钟(AWT程序、Runnable接口),有时/分/秒针编写一个应用程序,创建三个线程分别显示各自的时间。
三、实验要求:1.通过实验掌握Thread、Runnable使用方法;
2.程序必须能够实现多线程;
3.程序必须能够完成题目要求;
4.写出实验报告。
四、实验步骤:首先分析程序功能,再通过上机运行验证自己的分析,从而掌握通过Thread类建立多线程的方法。
通过将扩展Thread类建立多线程的方法改为利用Runnable接口的方法,掌握通过Runnable接口建立多线程的方法。
2024/2/26 3:55:02 2KB JAVA
1
STM32F4XXSTM32F4XXSTM32F4XXSTM32F4XX固件库之DSPDSPDSPDSP库的说明为了充分发挥STM32F4XX(Cortex-M4F)处理器浮点运算性能,建议使用固件库自带的arm_math.h头文件而非编译器自带的math.h。
此文件位于\Libraries\CMSIS\Lib文件夹。
硬件准备:需要开启STM32F4XX的FPU
2024/1/5 15:01:51 92KB STM32F4XX, DSP
1
看看压缩包大小你就知道怎么样!完美运行后从eclipse导出来的项目文件!不会出现少math3的提示!因为已经在lib中导入了需要的Apachecommon中的math库!CloudSim是在离散事件模拟包SimJava上开发的函数库,可在Windows和Linux系统上跨平台运行,CloudSim继承了GridSim的编程模型,支持云计算的研究和开发。
它的首要目标是在云基础设施(软件、硬件、服务)上,对不同应用和服务模型的调度和分配策略的性能进行量化和比较,达到控制使用云计算资源的目的。
2023/12/21 6:23:27 26.8MB 云计算 仿真 cloudsim 最新
1
1·第一讲JAVA语言概述2·第二讲JAVA语言基本语法3·第四讲类的定义和对象使用4·第五讲类与对象(二)5·第六讲类与对象(三)6·第七讲抽象类与抽象方法7·第八讲接口及应用8·第九讲数组与字符串9·第十讲时间、日期和Math类10·第十一讲Applet基础与绘图11·第十二讲文本框和文本区12·第十三讲异常处理、按钮与标签13·第十四讲选择型组件与窗口事件14·第十五讲布局设计15·第十六讲菜单设计
2023/12/17 2:24:58 1.67MB JAVA 完整 ppt 课件
1
(*****************************************************)(**)(*AdvancedEncryptionStandard(AES)*)(*InterfaceUnitv1.3*)(**)(*Readme.txt自述文档2004.12.04*)(**)(*****************************************************)(*介绍*)AES是一种使用安全码进行信息加密的标准。
它支持128位、192位和256位的密匙。
加密算法的实现在ElAES.pas单元中。
本人将其加密方法封装在AES.pas单元中,只需要调用两个标准函数就可以完成字符串的加密和解密。
(*密匙长度*)128位支持长度为16个字符192位支持长度为24个字符256位支持长度为32个字符所有加密和解密操作在默认情况下为128位密匙。
(*文件列表*)..SourceAES单元文件..Example演示程序(*适用平台*)这份Delphi的执行基于FIPS草案标准,并且AES原作者已经通过了以下平台的测试:Delphi4Delphi5C++Builder5Kylix1本人又重新进行了补充测试,并顺利通过了以下平台:Delphi6Delphi7特别说明:在Delphi3标准版中进行测试时,因为缺少Longword数据类型和Math.pas文件,并且不支持overload指示字,所以不能正常编译。
(*演示程序*)这个示例程序演示了如何使用AES模块进行字符串的加密和解密过程。
(*使用方法*)在程序中引用AES单元。
调用函数EncryptString和DecryptString进行字符串的加密和解密。
调用函数EncryptStream和DecryptStream进行流的加密和解密。
调用过程EncryptFile和DecryptFile进行文件的加密和解密。
详细参阅Example文件夹中的例子。
(*许可协议*)您可以随意拷贝、使用和发部这个程序,但是必须保证程序的完整性,包括作者信息、版权信息和说明文档。
请勿修改作者和版权信息。
这个程序基于MozillaPublicLicenseVersion1.1许可,如果您使用了这个程序,那么就意味着您同意了许可协议中的所有内容。
您可以在以下站点获取一个许可协议的副本。
http://www.mozilla.org/MPL/许可协议的发布基于"ASIS"基础,详细请阅读该许可协议。
AlexanderIonov是AES算法的最初作者,保留所有权利。
(*作者信息*)ElAES作者:EldoS,AlexanderIonovAESInterfaceUnit作者:杨泽晖(JorlenYoung)您可以通过以下方式与我取得联系。
WebSite:http://jorlen.51.net/http://mycampus.03.com.cn/http://mycampus.1155.net/http://mycampus.ecoo.net/http://mycampus.5500.org/Email:stanley_xfx@163.com
2023/10/16 19:37:23 220KB 控件 源码 计数类 资源
1
python面试题100道答案全部一般的只写了30个答案题目大概有1、一行代码实现1--100之和2、如何在一个函数内部修改全局变量利用global修改全局变量3、列出5个python标准库os:提供了不少与操作系统相关联的函数sys:通常用于命令行参数re:正则匹配math:数学运算datetime:处理日期时间
2023/9/30 2:19:02 15KB python3 面试题答案
1
AS3.0开发中常用语句汇总1、在类中写的类的属性:package{publicclassXXXextendsXXX{publicvarcc:XXX=XXX}}用的时候先绑定类,然后mc名.属性2、取随机数vara:int=Math.random()*10
2023/7/15 5:34:49 46KB AS3.0
1
//患上到纵情一个元素的纵情一个属性的之后的值---之后属性的位置值functiongetStyle(element,attr){returnwindow.getComputedStyle?window.getComputedStyle(element,null)[attr]:element.currentStyle[attr]||0;}//动画函数obj---要实施为画的货物json---要实施到的目的的参数货物fn为实施实现后的回调函数(能够再次挪用此方式依据上面格式传参--秩序实施多个动画)//挪用例://zIndex:1000//透明度opacity:数字尺度----小数---放大100倍//my$("btn1").onclick=function(){//varjson1={"width":400,"height":500,"left":500,"top":80,"opacity":0.2};//animate(my$("dv"),json1,function(){//varjson2={"width":40,"height":50,"left":0,"top":0,"opacity":1,"zIndex":1000}//animate(my$("dv"),json2,function(){依据此格式频频重复削减动画将会秩序实施});//});//};functionanimate(element,json,fn){clearInterval(element.timeId);//收拾按时器//按时器,返回的是按时器的idelement.timeId=setInterval(function(){varflag=true;//默许,假如,部份抵达目的//遍历json货物中的每一个属性另有属性对于应的目的值for(varattrinjson){//分辨这个属性attr中能否opacityif(attr=="opacity"){//患上到元素的之后的透明度,之后的透明度放大100倍varcurrent=getStyle(element,attr)*100;//目的的透明度放大100倍vartarget=json[attr]*100;varstep=(target-current)/10;step=step>0?Math.ceil(step):Math.floor(step);current+=step;//挪动后的值element.style[attr]=current/100;}elseif(attr=="zIndex"){//分辨这个属性attr中能否zIndex//层级窜改便是直接窜改这个属性的值element.style[attr]=json[attr];}else{//普通的属性//患上到元素这个属性的之后的值varcurrent=parseInt(getStyle(element,attr));//之后的属性对于应的目的值vartarget=json[attr];//挪动的步数varstep=(target-current)/10;step=step>0?Math.ceil(step):Math.floor(step);current+=step;//挪动后的值element.style[attr]=current+"px";}//能否抵达目的if(current!=target){flag=false;}}i
2023/4/22 10:14:06 3KB web animate
1
共 28 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡