题目: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
C++产生各种随机数的方法,简单适用,只需要添加头文件
2024/2/21 5:30:36 2.23MB GNU Scientific Library
1
最近上通信建模这门课时范平志老师布置的这个作业,我做好后传上来方便后人参考,包括了三个C语言程序,分别产生服从正态分布、瑞利分布、泊松分布的随机数。
程序是是用的C语言编写,备有大量注释,浅显易懂,且全部调试通过。
如果要画直方图,可用matlab或excel等软件导入.txt文件进行绘图。
2024/2/20 0:42:23 3.41MB 正态分布 瑞利分布 泊松分布 随机数
1
如题。
2024/2/17 5:56:55 2KB 计算物理
1
1.画板UI设计(总体布局)(1)创建窗体并设置相关属性;
(2)给整个窗体添加一个中间容器用来覆盖整个窗体;
(3)设置边框布局,因为整个画板大致为左边部分,中间部分,菜单栏三个部分,用边框布局比较合适;
(4)给窗体添加左面板,中间面板;
(5)给左面板添加按钮,并设置按钮图片和效果;
(6)给左面板添加左子面板,用来存放颜色按钮;
2.画板功能设计(1)给左画板中的按钮组中的每个按钮添加鼠标监听器;
(2)点击不同按钮,绘制不同的图形;
(3)给左子面板中的每个颜色按钮添加鼠标监听器;
(4)根据下面板中选中的颜色按钮,来获取按钮的背景颜色,并将该颜色设置成画笔的颜色;
(5)铅笔功能1、铅笔是鼠标拖动时画的线,所需要实现鼠标移动监听器,我们采用一个类来实现多个接口;
2、添加新的鼠标监听器类;
3、在鼠标移动时间中实现画笔的逻辑(其实就是绘制直线,鼠标每移动一个像素,就会触发移动事件,通过移动事件获取鼠标的坐标,与上一次移动的坐标连线就可以了;
(6)刷子功能刷子其实就是加粗的画笔,画出来的直线更粗,这里需要用到Graphic2D画笔来设置画笔的粗细。
(7)橡皮擦功能橡皮擦就是把画笔颜色设置成相同的背景颜色就可以了,拖动鼠标时进行擦除,所以在鼠标拖动事件中编写。
(8)喷桶功能1、定位方法:鼠标拖动事件实现;2、随机数生成:Random;3、实现原理,在鼠标拖动附近绘制很多的原点;3.画板的保存和重绘的设计(1)给我们的画板添加菜单条、菜单以及菜单项(2)给每个菜单项添加监听器(3)点击不同的菜单项实现相应的功能(4)图形保存功能:利用对象输出流,将容器对象写入文件;
(5)打开图形功能:利用对象输入流,将容器对象读入,然后将容器里面的图形对象在画板上绘制出来(6)新建文件功能:新建文件,将画板上绘制的内容清空(清空之前可以确认是否需要进行保存)清屏(重绘)功能依次方法;
(7)文件保存格式为BMP格式;(8)文字功能:读取文本框中的文本并打印到屏幕鼠标的相应的响应位置,传入输入的文字大小的参数,以此来改变文字的大小;
4.弹泡泡功能的设计根据Java多线程来实现弹泡泡功能;
泡泡的位置颜色随机出现,并且做到碰到边框会变色;
2024/2/14 11:50:53 617KB Java widpws画板
1
作者:WilliamH.Press/BrianP.Flannery/SaulA.Teukolsky/WilliamT.Vetterling本书编写了300多个实用而有效的数值算法C语言程序。
其内容包括:线性方程组的求解,逆矩阵和行列式计算,多项式和有理函数的内插与外推,函数的积分和估值,特殊函数的数值计算,随机数的产生,非线性方程求解,傅里叶变换和FFT,谱分析和小波变换,统计描述和数据建模,常微分方程和偏微分方程求解,线性预测和线性预测编码,数字滤波,格雷码和算术码等。
全书内容丰富,层次分明,是一本不可多得的有关数值计算的C语言程序大全。
本书每章中都论述了有关专题的数学分析、算法的讨论与比较,以及算法实施的技巧,并给出了标准C语言实用程序。
这些程序可在不同计算机的C语言编程环境下运行。
本书可作为从事科学计算的科技工作者的工具书,计算机软件开发者的参考书,也可以作为大学本科生和研究生的参考书或教材。
2024/2/6 5:38:02 10.13MB Numerical Recipes 数值算法 c
1
1、产品概述及目标五子棋是一种两人对弈的纯策略型棋类游戏,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成5子连线者获胜。
2、产品功能需求(1)绘制棋盘棋盘是由长宽为15*15的“+”符号绘制形成。
(2)下子用户执黑子、电脑执白子,其中黑子先下。
在下子时是通过输入坐标来确定所下棋子的位置,用户下黑子时需要通过手动输入X和Y坐标下子,在输入坐标时应注意不能超出棋盘的大小,即X和Y值均不能超出15,否则提示输入非法,需重新输入下子的坐标。
电脑下子时的坐标是使用随机数生成的,同样下子坐标不能超出15。
(3)判胜负从横向、纵向、反斜杠和斜杠四方向去判断,任何一个方向的5个黑或白棋连成一条线,则胜利。
2024/2/4 19:40:04 4KB 五子棋
1
以往的文件或书信可以通过亲笔签名来证明其真实性,而通过计算机网络传输的信息则可以通过数字签名技术来实现其真实性的验证。
下面就以DSA算法为例,介绍数字签名算法。
DSA算法在1991年被美国国家标准与技术局(NIST)采纳为联邦数字签名标准,NIST称之为数字签名标准(DSS)。
(1)DSA中的参数:全局公钥(p,q,g):p为512~1024bit的大素数,q是(p-1)的素因子,为160比特的素数,g=h(p-1)/qmodp,且1<h1用户私钥x:x为0<x<q内的随机数用户公钥y:y=gxmodp用户为待签消息选取的秘密数k,k是满足0<k<q的随机数或伪随机数。
(2)签名过程用户对消息M的签名为(r,s),其中r≡(gkmodp)modq,s≡[k-1(H(M)+xr)]modq,H(M)是由MD4、MD5或SHA求出的杂凑值。
(3)验证过程设接收方收到的消息为M,签名为(r,s)。
计算:w≡(s)-1modq,u1≡[H(M)w]modqu2≡rwmodq,v≡[(gu1yu2)modp]modq检查v=r′是否成立,若成立,则认为签名有效。
这是因为若(M′,r′,s′)=(M,r,s),则:
2024/1/31 14:58:34 3.62MB C++ DSA
1
每个进程有一个进程控制块(PCB)表示。
进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。
进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。
进程的到达时间为进程输入的时间。
进程的运行时间以时间片为单位进行计算。
每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。
就绪进程获得CPU后都只能运行一个时间片,运行后已占用CPU时间加1。
如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。
每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。
2024/1/19 21:17:22 3KB 最高优先数优先的调度算法
1
STM32F4系列基于最新的ARMCortexM4内核,在现有出色的STM32微控制器产品组合中新增了信号处理功能,并提高了运行速度;
STM32F407x集成了定时器、3个ADC、2个DAC、串行接口、外存接口、实时时钟、CRC计算单元和模拟真随机数发生器在内的整套先进外设。
STM32F407在STM32F405产品基础上增加了多个先进外设。
这些例程适合刚接触STM32F407的学者们。
2024/1/19 19:46:20 16.3MB STM32F407
1
共 192 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡