扫雷游戏实验报告

2024-07-30

扫雷游戏实验报告(精选7篇)

扫雷游戏实验报告 第1篇

一、设计任务与要求 扫雷游戏的基本要求

Windows 2000/XP系统提供的扫雷游戏是一个很有趣的游戏。本章的课程设计使用Java语言编写一个与其类似的扫雷游戏。具体要求如下:

(1)扫雷游戏分为初级、中级和高级三个级别,扫雷英雄榜存储每个级别的最好成绩,即挖出全部的地雷且用时最少者。单击游戏菜单可以选择“初级”、“中级”和“高级”或“查看英雄版”。

(2)选择级别后将出现相应级别的扫雷区域,这是用户使用鼠标左键单击雷区中任何一个方块便启动计时器。

(3)用户要揭开某个方块,可单击它。若所揭方块下有泪,用户便输了这一局,若所揭方块下五雷,则显示一个数字,该数字代表方块的周围的8个方块中共有多少颗雷。

(4)如果用户认为某个方块下埋着雷,单击右键可以在方块上标识一个用户认为是雷的图标,即给出一个扫雷标记。用户每标记出一个扫雷标记(无论用户的标记是否正确),程序将显示的剩余雷数减少一个。

(5)扫雷胜利后(用时最少者),程序弹出保存成绩的对话框。

(6)用户可以选择标记疑问的方块,用可以勾选游戏菜单下的标记(或者用快捷键alt+G 然后M)即可,此时双击右键并可出现“?”标记。另有颜色选项,当用户勾选此项时,游戏将以最低图像像素来显示。

(7)如果用户需要即使提示声,并可选中声音选项,此时将听到计时的卡塔声。当用户点中雷时,将有爆炸声产生,胜利时,将有凯旋的旋律播放,此时企鹅出现欢悦表情。

二、需求分析

1、扫雷游戏概述

扫雷是一种具有迷惑性的对记忆和推理能力的简单测试,它是长久以来最受欢迎的Windows游戏之一。游戏目标:找出空方块,同时避免触雷。

2、扫雷的操作方法

游戏主区域由很多个方格组成。使用鼠标随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开。

例如,方格中出现1,说明上下左右及斜角合计有一颗雷,依次类推,2则有2颗,3则有3颗。

3、需实现的主要功能

(1)用户可以自定义级别并且可以任意输入雷数;

(2)具有计时功能,即显示用户完成移动盘子所花费的时间;(3)用户可以选择是否有音效;(4)自动保存扫雷英雄榜;

三、总体设计

1、总体功能图

扫雷游戏主界面游戏菜单重新开始帮助开局级别选择标记英雄榜退出关于扫雷

2、总体流程图

开始定义并初始化个按钮,菜单等菜单菜单事件处理按钮按钮开局选择级别标记声音英雄榜退出重新开始方块展示相应的效果是否点中雷NY结束

四、详细设计

1、扫雷棋盘的布局设计

系统的整体布局为:CardLayout布局, 采用了菜单、按钮、面板„等组件,菜单主要包括开始,选择级别,标记,扫雷英雄榜,退出,按钮的功能是重新开始新的游戏。

2、雷区的设计

MineArea类是javax.swing包中Jpanel容器的子类,实现了ActionListener和MouseListener接口,所创建的对象:mineArea是MineGame类中最重要的成员之一,作为一个容器添加到MineGame窗口的中心。标明MineArea类的主要成员变量、方法以及和MineGame类之间组合关系的UML图如图2-1所示。

JPanelActionListenerMouseListenerMineArearow,colum,mineCount,markMount: inblock: Block[]blockView: BlockView[][]showTime: JTextFieldshouMarkedMineCount: JTextField initMineArea(int,int,int): voidactionnPerformed(ActionEvent)voidmousePressed(MouseEvent): voidlay: LayMinesrecord: Record reStart: JButtontime: Timer show(int m,int n): voidinquireWin(): voidMineGamemineArea:MineArea------------------MineArea类的UML图

以下是UML图中有关数据和方法的详细说明。

1、成员变量

(1)block是Block类型的数组,用来确定雷区有多少需进行扫雷的方块。(2)blockView是BlockView类型的数组,负责为block数组中的Block对象提供视图。

(3)lay是LayMines类型的对象,负责设置block数组中的哪些方块是雷或不是雷。

(4)record负责提供保存成绩的界面,是一个对话框,默认不可见。用户只有扫雷成功后(用时最少),才可以看见对话框。

(5)reStart是一个按钮对象,用户单击它重新开始游戏。(6)time是计时器对象,负责计算用户的用时。

2、方法

(1)initMineArea(int,int,int,int)方法可根据参数提供的数据设置雷区的宽度、高度、雷的数目以及雷区的级别。

(2)actionPerformed(ActionEvent)是MineArea类实现的ActionListener接口中的方法。当用户单击blockView中的某个方块时,actionPerformed(ActionEvent)方法负责执行有关算法,例如,当用鼠标左键单击方块上的按钮后,若该方块下有雷,actionPerformed(ActionEvent)方法将使用户输掉本局,若该方块下无雷,actionPerformed(ActionEvent)方法将显示blockView对象中的标签,该标签上是一个数字,该数字代表当前方块的周围的8个方块中共有多少颗雷。

(3)show()方法是一个递归方法。actionPerformed(ActionEvent)方法执行时将调用show方法进行扫雷。

(4)mousePressed(MouseEvent)方法是MineArea类实现的MouseListener接口中的方法,当用户按下鼠标有件事mousePressed(MouseEvent)方法负责让方块上显示一个探雷标记。

(5)inquireWin()方法用来判断用户是否扫雷成功,如果成功该方法负责让record对话框可见。所谓扫雷成功是指不仅找到了全部的累而且用时最少。综上所述,MineArea创建的扫雷区域效果如图2.2.2所示。

3、音效的设计

music类是java.awt包中Frame的子类,通过构造音效声音方法,在MainFrame主类中,通过ActionListener来监视是否已开始游戏,来决定播放计时声,之后又通过ActionListener来监视是否踩到雷和是否完成来决定,播放相应的音乐。下面标明music类的主要成员变量、方法以及和MineFrame类之间组合关系的UML图如图2-2所示。

musiclooping,looping2,looping3:booleanfile1,file2,file3:Filesound1,sound2,sound3:AudioClipchosenClip1,chosenClip2,chosenClip3:AudioClipdidaInit():voiddidaLoop():voiddidaStop():voiddetonationInit():voiddetonationPlay():voidvictoryInit():voidvictoryPlay():void MineArea类的UML图

4、排行榜设计

LogDialog是javax.swing包中Jdialog对话框的子类,并实现了ActiongListener接口。LogDialog创建的对象dialog是MainFrame类(主类)的成员之一,当用户选择查看“英雄榜”菜单项时,该对话框可见,提供了查看扫雷的最好成绩的界面。标明LogDialog类的主要成员变量、方法以及和MainFrame类之间组合关系的UML图如图2-3所示。JDialogActiongListenerLogDialogfile:File 显示成绩:重新记分:JButtonactionPerformed(ActionEvent):voidreadAndShow:voidMineGameshowHeroRecord:ShowRecord

LogDialog类的UML图

五、调试分析、测试结果

在程序代码基本完成后,经过不断的调试与修改,最后测试本次所设计的扫雷游戏能够正常运行,在基本功能与画面上与Windows自带的扫雷游戏没有太大差别,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,比如在游戏中可以加入一些不同语音的提示,在游戏完成和失败的时候可以弹出一些小的Flash动画,还有就是可以扩展一下扫雷英雄榜的功能等。总的来说本次设计在功能上已经基本达到要求,其他细节方面有待以后完善。

六、结论及改进设想

1、界面的美观性做的不太好,比如说布局,颜色搭配有待改进

2、背景音乐在播方的时候有一点小问题,比如单击停止播放,音乐并没有停止,需要单击2次或多次;另外背景音乐似乎很占内存,运行的时候容易死机。

3、MineGame的初始化界面大小难以控制,特别是在自定义的情况下,需在手动改面窗口的大小。

七、心得体会

这个扫雷游戏是完全模拟微软系统自带的扫雷游戏,所以难度是比较大了,必然在编程过程中也遇到很多问题,有些问题比较简单但就不知道错在哪里,有些大问题之道在哪就是不知道怎么办才好,后来经过自己的不断调试,这个扫雷游戏终于大功告成。

经过编写这个扫雷游戏,我认识到应该注意细节问题,虽然是很小的问题,但可以提高自己编程的能力,而且还可以培养自己编程的严谨性,同时还可以为以后的编程积累经验。编写完这个扫雷游戏,我发现自己有很多的不足,我想如果让我来单独来编写这个游戏,我感觉很吃力,因为这个游戏涉及到好多算法。感触最深的就是我们真的要扎扎实实的打基础!并且我感觉到只要我们自己肯下功夫学习,我们也可以做出很好的东西。

通过该课程设计,全面系统的理解了程序构造的一般原理和基本实现方法。把死板的课本知识变得生动有趣,激发了学习的积极性。把学过的计算机编译原理的知识强化,能够把课堂上学的知识通过自己设计的程序表示出来,加深了对理论知识的理解。现在通过自己动手做实验,从实践上认识了Java是如何处理命令的,课程设计中程序比较复杂,在调试时应该仔细。

在这次课程设计中,我就是按照实验指导的思想来完成。加深了理解文件系统的内部功能及内部实现,培养实践动手能力和程序开发能力的目的。

八、参考文献

[1] 耿祥义.Java大学实用教程.北京:清华大学出版社,2009. [2] 耿祥义.Java课程设计.北京:清华大学出版社,2008.

[3] 王鹏.Java Swing图形界面开发与案例详解.北京:清华大学出版社,2008. [4] 丁振凡.Java语言实验教程.北京:北京邮电大学出版社,2005. [5] 郑莉.Java语言程序设计.北京:清华大学出版社,2006.

九、附录

扫雷游戏实验报告 第2篇

2

———————————————————————————————— 作者:

———————————————————————————————— 日期:

3

软件测试 实 验 报 告(20 15

-20 16 学年第 2 学期)

号:

学生姓名:

专业班级:

院:

学生成绩:

41..引 言1.1

编写 目的编写该测试报告目的为:

(1).查找并总结该模块程序所存在的问题;(2).为更改存在的问题,提供参考。

(3).评估测试测试执行和测试计划是否符合1.2 程序 功能

扫雷游戏中各个功能实现

1.3 测试 对象

扫雷软件游戏规则测试

1.4 测试 方法

黑盒测试

2.测试 计划

2.1、条件:

 方块当前状态:标识问号方块、方块初始状态、方块标识红旗、标识数字 X 且周围已标记了 X 个雷、标识数字 X 且周围没有标记完 X 个雷,标识数字 X 标雷错误  鼠标操作:左键、右键、双击  方块状态:有雷、无雷 2.2、动作:

 方块白色  方块标识问号  方块标识数字  方块旗子  炸弹爆炸,游戏结束

5

 未标识方块闪速  周围所有的非雷显示 2.3、规则:

鼠标当前状态 A 1、标识问号方块=A1 2、方块标识红旗=A2 3、方块初始状态=A3 4、标识数字 X 且周围已标记正确了 X 个雷=A4 5、标识数字 X 且周围没标 X 个雷=A5 6,标识数字 X 且周围标雷错误=A6 鼠标动作 B 1、点击左键=B1 2、点击右键=B2 3、双击左右键=B3 当前方块状态 1、有雷 2、无雷

2.4、简化公式:

6*3*2 =(1+1+1+1+1+1)*3*2 =1*3*2+1*2*2+1*3*2+1*1*1+1*1*1+1*1*1 =6+4+6+1+1+1 =19

6

7

2.5、扫雷判定表 鼠标当前状态 A1 A1 A1 A1 A1 A1 A2 A2 A2 A2 A3 A3 A3 A3 A3 A3 A4 A5 A6 鼠标动作 B1 B1 B2 B2 B3 B3 B2 B2 B3 B3 B1 B1 B2 B2 B3 B3 B3 B3 B3 方块当前状态 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 有雷 无雷 无雷 无雷 无雷 回到初始

Y Y

方块标识红旗

Y Y

方块标识问号

Y Y

方块标识数字

Y

Y

炸 弹 爆炸,游戏结束 Y

Y

Y 方块闪速

Y Y

Y Y

Y Y

Y

周围所有的非雷显示

Y

2.6、化简合并 鼠标当前状态 A1 A1 A1 A1 A2 A2 A3 A3 A3 A3 A4 A5 A6 鼠标动作 B1 B1 B2 B3 B2 B3 B1 B1 B2 B3 B3 B3 B3 方块及周围有无未发现的雷 有雷 无雷----------有雷 无雷------无雷 有雷 无雷 回到初始

Y

方块标识红旗

Y

方块标识问号

Y

方块标识数字

Y

Y

Y

炸弹爆炸,游戏结束 Y

Y

Y Y 方块闪速

Y

Y

Y

8

2.7、用例 编号 预置条件鼠标当前状态

输入 预期结果 1 标识问号方块 鼠标左击 点中炸弹,游戏结束 2 标识问号方块 鼠标左击 没点中炸弹,方块显示数字 3 标识问号方块 鼠标右击 恢复到初始状态 4 标识问号方块 双击左右键 方块闪烁 5 方块标识红旗 鼠标右击 方块标识变成问号 6 方块标识红旗 双击左右键 方块闪烁 7 方块初始状态 鼠标左击 点中炸弹,游戏结束 8 方块初始状态 鼠标左击 方块标识变成数字 9 方块初始状态 鼠标右击 方块标识变成红旗 10 方块初始状态 双击左右键 方块闪烁 11 标识数字 X 且周围已标记正确了X 个雷 双击左右键 周围初始状态的方块显示数字 12 标识数字 X 且周围没标 X 个雷 双击左右键 方块闪烁 13 标识数字 X 且周围标雷错误 双击左右键 点中炸弹,游戏结束3 .测试 结果分析

3.1

结果 分析

在程序代码基本完成后,经过不断的调试和修改,最后测试本次所设计的扫雷游戏能够正常运行,没有出现明显的错误和漏洞,但是在一些细节方面仍然需要完善,总的来说本次设计在功能上已经基本达到要求,在其他细节方面有待以后完善。

3.2 修改 建议

1.在游戏中可以假如一些声音的提示,在游戏完成和失败的时候弹出一些小的 Flash 动画。

2.完善一下扫雷英雄榜等。4..测试 评估

4.1

测试 任务评估

本次测试执行准备充足,完成了既定目标。4.2 测试对象评估

C#控件数组实现扫雷游戏 第3篇

扫雷游戏主区域由很多个方块组成。游戏开始时, 系统会随机在若干方块中布下地雷。使用鼠标左键随机点击一个方块, 方块即被打开并显示出方块中的数字; 方块中数字则表示其周围的8个方块中有多少雷; 如果点开的方块为空白块 (0), 即其周围有0颗雷 , 则其周围方块自动打开 ; 如果其周围还有空白块 (0), 则会引发连锁反应。如果方块下有雷, 点击右键即可标记有雷 (插上红旗); 如果再次右键点击该方块则取消标记。在游戏中, 雷区方块的上方左侧计数器标签显示剩余的雷数, 右侧显示所花费的时间, 中间笑脸按钮开始新游戏。当用户点开所有无雷方块, 并把有雷的方块作上标记, 则游戏成功。如果点击有雷方块则失败。其程序运行界面如图1所示。

2 游戏设计思路

游戏主区域使用了一个二维按钮控件数组Mines [,], 每个按钮元素代表一个方块, 按钮元素的Tag属性保存1为有雷, 否则无雷; Text属性保存其周围的8个方格有雷的个数。Turn [,] 二维数组保存方块状态, 其值为1表示这个位置插上红旗 ; 0表示这个位置没有翻开。

游戏中处理共享鼠标事件的处理方法是bt_MouseUp (), 其中首先通过sender对象 (代表产生单击事件的按钮控件) 获取按钮的Name属性, 通过按钮Name属性可以计算出x,y坐标, 从而判断二维按钮控件数组Mines [,] 中是哪个Button被点击。然后通过e.Button判断出是左键还是右键点击。

3 关键技术

游戏主区域由很多个方块组成, 这些方块可以由按钮控件数组实现。也可以采用类似实现计算器中的数字按钮控件数组的方法实现。 为编程方便此处采用二维按钮控件数组。

3.1 动态添加雷块按钮控件

用new来建立Button控件, 同时通过赋值把控件加到动态的二维按钮数组Mines。通过代码设置好控件大小、位置等属性, 然后用Form1.Controls.Add方法来添加到窗体上自身的控件数组Controls中。因为窗体里的控件都要被包括在Controls里面:

利用.NET中提供的System.MouseEventHandler动态关联按钮控件MouseUp事件与处理程序。

Mines [x, y].MouseUp += new MouseEventHandler (bt_MouseUp);

通过System.MouseEventHandler将方法bt_MouseUp作为Mines [x, y] 的MouseUp事件代码。

3.2 无雷方块拓展 (对于周围无雷的空白块)

对于无雷方块拓展, 首先判断该方块是否为空白块 (其相邻的8个方块都不是雷块), 如果是则向这相邻的8个方块进行递归拓展, 直到不可拓展为止:

4 游戏设计步骤

4.1 游戏窗体 (Form1.cs)

创建新Windows应用程序项目, 在Windows窗体上添加1个Panel控件Panel1, 1个标签lblMine (显示剩余的雷数), lblTime (显示所花费的时间 )。其余方块按钮均可在运行时自动建立。1个定时器控件其Interval属性设为1000 (1秒)。

4.2 程序代码

窗体类定义成员变量:

窗体加载Load的事件实现动态加载按钮控件, 并初始化按钮大小、位置:

GameInit ( ) 初始化Mines按钮控件 数组 , 并且调用LayMines () 实现游戏开始时随机布雷功能:

GetAroundNum (int row,int col) 获取某个小方块区域相邻8个区域的雷个数:

添加按钮控件MouseUp事件与处理方法bt_MouseUp代码:

开始“笑脸”按钮和定时器的事件代码。

5 结语

扫雷游戏实验报告 第4篇

Win8扫雷游戏

Win8纸牌游戏

Win8麻将游戏

自Windows 3.0开始,微软将纸牌这一经典游戏纳入Windows中,而自Windows 3.1开始它也将扫雷游戏纳入其中,这种情况直到Win8才被改变,

“啤酒游戏”实验报告 第5篇

1.实验目的

(1)帮助学生认识供应链的基本结构和供应链企业之间的相互关联;(2)帮助学生认识到时间滞延、资讯不足的现实约束条件对供应链系统运营的影响;

(3)帮助学生理解“需求变异放大”效应的表现和根源;

(4)帮助学生掌握如何突破习惯思维方式,以系统性的思考寻求最优经营决策的具体方法。

2.实验内容

在确定每位同学扮演的角色之后,分角色模拟供应链的订货过程20周以上,按要求作记录,并对订货结果进行分析。

3.实验仪器、设备及材料

计算机,安装Windows2000及以上系统和“啤酒游戏”实验软件。

4.实验原理

通过观察供应链管理中典型的“牛鞭效应”现象,认识到如何保证整条供应链的成本最小化是供应链管理的主要研究问题。即使一个企业内部资源优化整合后,如果不注重供应链管理,在市场环境中仍然无法立于不败之地。

5.实验步骤

(1)收货:将运输延迟的库存收到当前库存中;

(2)发货:按上期收到的订单发货,按照订单量将库存中的货放入与下游间的运输2周延迟中。发货后做缺货量记录和库存记录;(3)发订单:下游向上游发订单,作记录;

(4)收订单:收下游的订单,并作记录;(5)实验结果分析。

6.实验报告要求

(1)实验名称、学生姓名、班号和实验日期;(2)实验目的和要求;(3)实验仪器、设备与材料;(4)实验原理;(5)实验步骤;(6)实验原始记录;(7)实验数据计算结果;

(8)实验结果分析,讨论实验指导书中提出的思考题,写出总结及心得体会。

7.实验结果

8.思考题

当价格随需求变动或生产提前期发生变化时,供应链会产生怎样的波动?如何缓解供应链中的“牛鞭效应”现象?

答:当价格随需求变动或生产提前期发生变化时,供应链会产生需求逐级放大的情况,俗称“牛鞭效应”。

缓解供应链中的“牛鞭效应”现象的主要方法如下:(1)缩短供货时间

供货时间长短影响到销售商的安全库存的多少,也影响到销售商的订货量的增加。缩短供货反应的时间,安全存货量就会下降,销售商的订货更接近需求,需求的扭曲得到了缓解。因此,通过应用现代信息系统可以及时获得销售信息和货物流动情况,建立快速反应系统,同时通过多频率小批量联合送货方法,努力将供货时间缩短到最短,减弱“牛鞭效应”。

(2)实现信息共享

随着社会经济的发展,市场竞争已由企业与企业之间的竞争转为供应链之间的竞争,供应链是由企业组成,从货物原材料的原产地到最终的消费点的庞大的链。在这条链上,任何企业都不是独立存在的,链上存在的供应商、制造商、零售商、最终客户,他们之间存在着相互供求关系。在供应链上的任何企业进行商业决策时都会受到上游和下游企业的制约和影响,任何企业的决策也会影响和制约上游和下游企业。当供应链上的货物从供应商到制造商到批发商到零售商和消费者流动的同时,需求以订单的形式,向实物流动相反的方向传递着,形成了信息流。

通过集中实际需求信息,为供应链各级企业提供的顾客需求的全部信息,实现信息共享,是减少整个供应链的不确定性,也是减少和消除“牛鞭效应”最常用的方法。销售商通过销售时点信息系统采集顾客的实际购买量,在通过专用的信息网传入供应链的数据中心,数据中心可在很短时间内更新一次数据,这是没有任何放大和扭曲的最终需求量,数据中心对这些需求量进行分类汇总,供应链上各级供应商都有权进行数据中心分享这些信息,这样他们就能更及时更准确地掌握市场需求的真实变化,预先安排,降低“牛鞭效应”。

(3)减少需求变动性

价格折扣,商品促销等销售手段,会使顾客的需求发生很大的变化。通过减少顾客需求过程中的变化可以缩小“牛鞭效应”。销售商可以通过稳定的价格策略来减少顾客需求的变化,零售商以单一价格出售商品,而不是以周期性促销价

格出售产品,通过消除价格促销,零售商可以消除因促销产生的需求的急剧变化,他所观察到的顾客需求变化不大,他向批发商发出的订货量变化就不大,供应商所观察到的需求变化也不大,这样就可以减弱“牛鞭效应”。

(4)建立合作伙伴关系

供应链上的企业就必须建立合作伙伴关系,互相信任,实现信息共享、利益共享和风险分担。改造库存管理方式,如这种合作伙伴关系可以消除“牛鞭效应”的影响。在合作伙伴关系上,由于信息共享,制造商了解顾客的实际需求,这时,制造商并不依据零售商发出的订单生产,而会自己根据顾客的实际需求确定生产多少,每一期保存多少库存,向零售商供应多少商品,则可以避免“牛鞭效应”。特别是在产品供不就求的时候,销售商对供应商的供应情况缺乏了解,博弈的行为很容易产生,与销售商共享供应能力和库存状况的有关信息,能减轻销售商和客户的恐慌,能防止他们参加短期博弈。其次在供应不足的时候,供应商可根据销售商以前的销售来进行限额供应,而不是根据订购的数量,这样可防止销售商为获得更多的供应量而夸大订购量,从而降低产生“牛鞭效应”。

(5)提高预测的精确度

这需要考虑历史资料、定价、季节、促销和销售额等因素,有些数据是掌握在零售商和分销商手中,必须与它们保持良好的沟通,及时获得这些数据,采取上下游间分享预测数据并使用相似的预测方法进行协作预测,来提高预测的准确性。例如,在美国电脑业中,制造商需要来自分销商中心仓库存货的销售数据,尽管这些数据并非完全等于POS销售点数据,但制造商以这些数据作为与分销商保持联系的重要措施,这种措施可缩小供应链中上、下游在需求预测方面的差异。

(6)订货分级管理

根据“二一八定律”划分分销商,对他们进行分别对待,实行订货分级管理,通过管住关键销售商和重要销售商来减少变异概率。

(7)合理分担库存

供应商、分销商和零售商采用联合库存的方式合理地分担库存,一旦某处出

现库存短缺,可立即从其他地点调拨转运来保证供货。IBM、惠普和苹果等公司在合作协议中,明确要求分销商将零售商中央仓库里产品的出库情况反馈回去,虽然这些数据没有零售商销售点的数据那么全面,但这仍然比把货物发送出去以后就失去对货物的信息要好得多。这既防止了需求变异的放大,又现了共担风险,降低了整体库存,有效地抑制了“牛鞭效应”。

(8)缩短提前期

一般来说,订货提前期越短,订量越准确。根据沃尔玛的调查,如果提前26周进货,需求预测误差为40%:提前16周进货,需求预测的误差为20%,而在销售时节开始时进货,则需求预测的误差为10%。因此,缩短提前期能够显著地减小“牛鞭效应”。

(9)采用业务外包

外包服务也可以抑制“牛鞭效应”,例如,采用第三方物流策略可以缩短提前期和实现小批量订货,无须再向一个供应商一次性大批订货,又减少了运输风险。

总之,“牛鞭效应”是市场需求信息扭曲的现象,供应链上的所有企业都应努力减弱牛鞭效应,减少供应链上的浪费,提高效率,创造更多的效益和利润。实验结论

通过这个实验,是我对供应链企业的运作有了更真切的体会,实实在在地感受到了企业经营策略的重要性,对于产生的问题,解决的方法,同学之间的沟通,个人学习操作能力的理解都有了更深一层的提高。

拔河游戏机课程设计实验报告 第6篇

课程名称:题

数字电子技术课程设计

班级: 姓名: 学号: 同组人:

目:拔河游戏机

设计任务书

一、设计题目

拔河游戏机

二、主要内容及要求

1.设计一个模拟拔河游戏比赛的逻辑电路。

2.电路使用15个发光二极管,开机后只有在拔河绳子中间的发光二极亮。

3.比赛双方各持一个按钮,快速不断地按动按钮,产生脉冲,谁按得快,发光的二极管就向谁的方向移动,每按一次,发光二极管移动一位。4.亮的发光二极管移到任一方的终点时,该方就获胜,此后双方的按钮都应无作用,状态保持,只有当裁判按动复位后,在拔河绳子中间的发光二极管重新亮。

5.用七段数码管显示双方的获胜盘数。

三、进度安排

1.认真思考和理解所选题目的有关要求,大致知道要求做什么。

2.根据实验的设计要求,到图书馆或上网查找相关的资料,了解拔河游戏机的工作原理。3.学习数字电路中触发器、计数器、译码显示器等单元电路的设计及综合应用,掌握逻辑电路的设计与测试方法,等。

4.综合相关的资料,设计实验方案。

5.根据所设计方案,用仿真软件进行电路仿真。6.根据要求撰写实验报告。

设计过程

一、设计任务分析

本课题的主要任务是让拔河游戏机的电平指示灯由中点向我方延伸,而阻止其向对方延伸。可以设想用可预置的加/减计数器作主要器件,用计数器的输出状态通过译码器控制电平指示灯的显示状态。如当计数器进行加法计数时,发亮的电平指示灯向甲方延伸,相反,进行减法计数时,发亮的电平指示灯向相反方向移动。当移动到一方的终点就就把电路锁定,此时双方按键均无作用,只有裁判员按了复位按键双方才能继续下一盘的比赛,而计数器就记录双方的获胜的次数。

二、总体方案设计

2.1 设计思路:

(1)本课题所设计的拔河游戏机由15个电平指示灯排列成一行,开机之后只有中间一个电平指示灯亮,以此作为拔河的中心线,游戏双方各持一个按键,迅速地、不断地按动产生脉冲,谁按得快,亮点向谁方向移动,每按一次,亮点移动一次。移到任一方终端指示灯点亮,这一方就获胜,此时双方按键均无作用,输出保持,只有经裁判复位后才使亮点恢复到中心线。(2)当一局比赛结束后,由点亮该终点灯的信号使电路封锁加减脉冲信号的作用.即实现电路自锁,使加家减脉冲无效。同时,使计分电路自动加分。

(3)控制电路部分应能控制由振荡器产生的脉冲信号进入计数器的加减脉冲的输入端,其进入方向则由参赛双方的按键信号决定。2.2 电路原理图:

2.3 电路工作原理:

可逆计数器74LS193原始状态输出4位二进制数0000,经译码器输出使中间的一只电平指示灯Y0点亮。当按动A、B两个按键时,分别产生两个脉冲信号,经整形后分别加到可逆计数器上,可逆计数器输出的代码经译码器译码后驱动电平指示灯点亮并产生位移,当亮点移到任何一方终端后,由于控制电路的作用,使这一状态被锁定,而对输入脉冲不起作用。如按动复位键,亮点又回到中点位置,比赛又可重新开始。

将双方终端指示灯的正端分别经两个与非门后接到2个十进制计数器74ls160的使能端EN,当任一方取胜,该方终端指示灯点亮,产生1个下降沿使其对应的计数器计数。这样,计数器的输出即显示了胜者取胜的盘数。2.4 各单元电路的设计: 1.编码电路的设计:

由双时钟二进制同步可逆计数器74LS193构成,它有2个输入端,4个输出端,能进行加/减计数。通过编码器来控制电平指示灯的显示,加计数时向右移动,进行减计数时,向相反方向移动。电路图如下:

2.译码电路:

由2个38译码器组成4线-16线译码器。译码器的输出Y0~Y15中选15个接电平指示灯,电平指示灯的负端接地,而正端接译码器;这样,当输出为高电平时电平指示灯点亮。比赛准备,译码器输入为0000,Y0输出为1,中心处指示灯首先点亮,当编码器进行加法计数时,亮点向右移,进行减法计数时,亮点向左移。电路图如下图所示:

3.胜负显示:

由计数器74ls160和译码显示器构成。将双方终端指示灯正极经与非门输出后分别接到2个74ls160计数器的EN端,74ls160的两组4位BCD码分别接到实验箱中的两组译码显示器的8、4、2、1插孔上。当一方取胜时,该方终端指示灯发亮,产生一个上升沿,使相应的计数器进行加一计数,于是就得到了双方取胜次数的显示,若1位数不够,则进行2位数的级连。电路图如下

4.复位控制:

74LS193的清零端CR接一个电平开关,作为一个开关控制,进行多次比赛而需要的复位操作,使亮点返回中心点。

74ls160的清零端RD也接一个电平开关,作为胜负显示器的复位来控制胜负计数器使其重新计数。其中74ls160功能表下表所示

5.仿真结果:

三、元器件的使用:

3.1元器件的选用:

74ls138 3线—8线译码器 2片 74ls160 同步十进制计数器 4片 74LS193 同步二进制可逆计数器 1片 74LS04 六非门

1片 电阻:

若干

电容

若干 发光二极管

15个 LED显示器

4个 3个 开关

四、总结

4.1 实验评价:

本课题所设计的拔河游戏机由15个电平指示灯组成“电子绳”,由可逆计数器74LS193构成编码电路,由译码器74ls138构成译码器电路,由计数器74ls160作为胜负的显示。但不难想象,73LS193可以由两片的74LS192组成16进制计数器所代替,这一点是可以改进的。还有电路的主体部分还可以用移位寄存器所代替,由于时间紧张,留待以后思考。4.2 心得体会:

这次的课程设计虽然短暂,但让我们学到了很多,那是课本上无法学到的。通过这次课程设计,我明白了理论与实践相结合的重要性,理论固然重要,但是实践才是检验真理的唯一标准,使我们加强了动手、思考和解决问题的能力,了解了一般电子电路的设计方法,培养了初步独立设计的能力。在设计过程中,通过查阅书籍和文献资料,进一步熟悉了常用电子器件的类型和特性,并掌握合理选用的原则,进一步掌握了电子仪器的正确使用方法。还记得在设计的时候曾经遇到过各种各样的问题,比如;在设计计数器时计数器并没有像我们想象的那样计数,经过了很多次的更改和尝试,我们才逐渐一步一步的接近最终结果,比如;触发器的运用还不怎么熟悉,对73LS193计数器的逻辑功能还是不怎么了解,对于自己基础知识还是不够扎实,实践经验还是比较缺乏,理论联系实际的能力还待急需提高。做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用,现在有些温故知新的感觉。

通过这次的课设,我觉得自己在数电的理论知识上,又成长了许多,也对芯片本身能与书本上的真正结合了起来,实验的成功让我收获了喜悦。同时,也让我明白了我们每一个人永远不能满足于现有的成就,我们应该在课堂中与实验中学会总结,学会自我认知,向着更高的目标努力,经过这次的课程设计,一方面加深了我对课本理论的认识,另一方面也提高了我的实验,操作能力,让我受益匪浅。

参考文献:

1、《电子技术基础 实验与课程设计》 高吉祥主编 电子工业出版社

2、《电子线路实验》(第二版)方建中主编 浙江大学出版社

3、《数字电路 设计与制作》 彭军译主编 科学出版社

4、《电子技术基础(数字部分)》第四版 康华光主编 高等教育出版社

扫雷游戏实验报告 第7篇

——长岭幼教中心阅读与游戏识字实验报告

王文良

摘要:本报告介绍了我园3—6岁幼儿游戏识字实验的开展情况,分析了幼儿综合能力测试结果,通过对实验进行研究总结,认为运用游戏识字教学法,科学指导识字实验,能够更加有效地促进幼儿综合能力的发展。

关键词:游戏识字 教学实验

一、前言

长炼幼儿园地处长江之滨,洞庭湖畔,是一所规模较大的托幼型企业幼儿园。共有33个班,1300余名婴幼儿:我园开展识字教学实验始于93年9月,在教学过程中,通过不断摸索实践、理论结合实践、再实践,经历了幼儿识字小学化、单纯追求识字量(93—95年)与科学探索游戏识字教学法、促进幼儿综合能力发展(96—)两个阶段的实验.取得了显著成效,下面简要报告—下实验第二阶段“改进早期识字教学,促进幼儿综合发展”的研究情况及实验结果。

二、实验目的

1、探索科学的识字教学方法,更有效地促进幼儿综合能力的发展;

2、运用科学的识字教学方法,更好地指导教师组织幼儿游戏识字活动;

3、检验幼儿识字教学效果及其可行性。

三、实验对象

长炼幼儿园3—6岁幼儿40名(在大班与对照班各随机抽取20名作为研究对象)。

四、实验方法

1、对第一阶段实验测试结果进行分析总结,制订改进措施和具体实施计划;

2、运用游戏识字法,将识字融于各科教学活动之中。

五、实验措施

(一)、建立识字教研组,加强师资力量培训

开展此实验后,我园专门成立了由园长、各年级教研组长、识字班全体保教人员组成的幼儿科学识字实验教研组.并选派学前教育本科毕业、

具有多年识字教学经验的教师担任教研组长,采取兼职教研组长制,制订了识字教研组长职责、实验教师工作职责、识字班家园联系制度等教研制度,为识字实验打下了良好的基础。为保证识字班教师顺利高效地开展实验活动,努力加强师资培训,提高教师识字教学组织能力,并且分析第一阶段存在的问题,制订了切实可行的改进措施:

1、确定各学科识字活动带头人,共10人,并规定每人每月上示范课一次;

2、明确规定必须融识字教学于各科教学之中;

3、每班每周创编一个游戏;

4、以游戏贯穿课堂教学始终;

5、加大培训力度,规定每周一、二、三、五下午15:00—17:00时统一培训,见表l;

6、加强教研组力量,增设识字教研员,要求每学期上研讨课1次、每周深入课堂进行识字教学操作2次;

上一篇:课内文言文阅读专题复习下一篇:《有理数的加减乘除》教学反思