C语言扫地雷游戏的题目简介,C语言程序设计课程设计(论文)-扫地雷游戏.doc...

C语言程序设计课程设计(论文)-扫地雷游戏

辽 宁 工 业 大 学

C语言程序设计 课程设计(论文)

题目: 扫地雷游戏

院(系): 软件学院

专业班级: 电子商务091班

学 号:

学生姓名:

指导教师:

教师职称: 助 教

起止时间:2009.12.14至2009.12.26

课程设计(报告)任务及评语

院(系):软件学院 教研室:软件教研窒

学 号学生姓名专业班级电子商务091班程序设计(报告)题目C语言课程设计-扫地雷游戏程序设计(报告)任务

程序设计的任务与要求:

(1)掌握C语言编程的基础知识。

(2)较熟练地编写C语言应用程序。

(3)了解C语言的常用标准函数、编程技巧、异常处理。

(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。

(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。

(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。

课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。

指导教师评语及成绩

成绩: 指导教师签字:

2009 年 1 月 13 日

目 录

第1章 课程设计的目的与要求1

1.1 课程设计目的1

1.2 课程设计的实验环境1

1.3 课程设计的预备知识1

1.4 课程设计要求1

第2章 课程设计内容2

2.1程序功能介绍2

2.2程序整体设计说明2

2.2.1设计思路2

2.2.2数据结构设计及用法说明3

2.2.3程序结构(流程图)3

2.2.4各模块的功能及程序说明3

2.2.5程序结果6

2.3程序源代码及注释6

第3章 课程设计总结17

参考资料19

第1章 课程设计的目的与要求

1.1 课程设计目的

本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《程序设计语言(C)》课程后进行的一次全面的综合练习。本课程设计的目的和任务:1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力1.2 课程设计的实验环境

硬件要求能运行Windows 2000/XP操作系统的微机系统。C语言

1.3 课程设计的预备知识

熟悉C语言及C语言开发工具。

1.4 课程设计要求

1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用. 设计完成后提交课程设计报告第2章 课程设计内容

2.1程序功能介绍

自Windows系统推出以来,系统所带扫雷游戏深受人们喜爱,她是一个益智游戏,令人百玩不厌。本课题要求利用Turbo C编写与它功能相仿的扫雷游戏,寓学于乐。

程序的功能要求随机生成地雷数,通过鼠标操作玩游戏,不接受键盘,按任意键结束程序。单击屏幕上的笑脸可以重新开始游戏。所有地雷标出后胜利,当鼠标左键单击到地雷时失败。

2.2程序整体设计说明2.2.1设计思路

首先在雷区上随机地放上雷,没有雷的地方被点击 后就会显示一个数字表示它周围有几个雷,这是怎么实现的呢?我们可以把整个雷区看成一个二维数组a[i,j],如雷区

11 12 13 14 15 16 17 18

21 22 23 24 25 26 27 28

31 32 33 34 35 36 37 38

41 42 43 44 45 46 47 48

51 52 53 54 55 56 57 58

要知道a[34]周围有几个雷,就只有去检测

a[23],a[24],a[25]

a[33], a[35]

a[43],a[44],a[45]

这8个雷区是否放上了雷,仔细观察它们成在数学关系。

抽象出来就是:a[i,j]的雷的个数就是由

a[i-1,j-1],a[i-1,j],a[i-1,j+1]

a[ i ,j-1],

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于地图中轨迹的平滑移动的实现

很多人应该都有类似的经历,叫完车,想看看车离我还有多远距离?但手机屏幕上的车不是一动不动,就是一跳一跳的漂移。 目前市面上大多产品“轨迹平滑移动”做的并不好。 市面上只有快的打车和一号专车实现了平滑移动,那…

查看centos中的用户和用户组

1、用户列表文件:/etc/passwd/ 2、用户组列表文件:/etc/group 3、查看系统中有哪些用户: cut -d : -f 1 /etc/passwd 4、查看可以登录系统的用户: cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1 5、查看用户操作…

【Android】关于参数的传递问题

最近遇到了一个bug,在debug条件下可以看出更改后的值,但是在最终显示的结果中确实没有更改的值。经过很多次的调试后,才发现最后的原因竟然是因为参数传递的时候并没有将更改后的值传递给最终变量。 这时才意识到java中只存在值传递&#xff…

android按钮响应事件吗,Android 按钮响应事件的几种方式

目录1.在布局中指定onClick属性布局代码android:id"id/btn1"android:layout_width"wrap_content"android:layout_height"wrap_content"android:text"button1"android:onClick"click"/>android:id"id/btn2"andr…

Android 开源优秀 Library 推荐

之后的每月会推荐一些优秀的开源 Android libraries,不仅仅是学习,也可以方便的使用到项目中,避免重复的造轮子。 PageIndicatorView 如果你需要在 ViewPager 中指明当前处于哪个画面中,PageIndicatorView是你的不二选择。而且真…

Vue2.0王者荣耀助手

vue-gok vue2.0-王者荣耀助手 项目使用的是带玩游戏平台提供的API,由于腾讯公司王者荣耀游戏关闭了查看其它人的战绩功能,带玩平台受其影响,已将API暂时关闭,所以无法获得稳定的 DAIWAN-API-TOKEN ,所以会出现DAIWAN-API-TOKEN令…

访问对象的属性和方法

class Person(object):name ""age 0height 0weight 0def run(self):print("run")def eat(self,food):print("eat"food)def openDoor(self):print("我已经打开了门")def fillEle(self):print("我已经把大象装进了冰箱")de…

Android mc怎么和win10联机,我的世界手机版/win10版联机完美互通方法

我的世界手机版玩家想要更加方便的操作?0.12.1更新之后,你除了能使用手柄进行方便的操作之外,现在你能完全摆脱小屏幕蹩脚的操作了!win10版在9月9日进行了重大更新,我们能直接使用win10的电脑玩我的世界,而…

十大基础算法

做为程序员,以下着十大10大基础实用算法是必须知道的。

[HNOI2004]L语言

1212: [HNOI2004]L语言 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1507 Solved: 666[Submit][Status][Discuss]Description 标点符号的出现晚于文字的出现,所以以前的语言都是没有标点的。现在你要处理的就是一段没有标点的文章。 一段文章T是由若干小写字…

对象的初始状态(构造函数)

class Person(object):# name ""# age 0# height 0# weight 0def run(self):print("run")def eat(self,food):print("eat"food)def __init__(self,name,age,height,weight):# print(name,age,weight,height)print("这里是init")sel…

【bzoj 2434】【codevs 1946】[Noi2011]阿狸的打字机(AC自动机)

2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 2477 Solved: 1382[Submit][Status][Discuss]Description 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有28个按键,分别印有26个小写英文字母…

android加法服务类,iOS越来越像Android:苹果简单做加法远离精致

原标题:iOS越来越像Android:苹果简单做加法远离精致刚刚结束的WWDC2016的主题演讲中,苹果为我们带来了最新的iOS 10系统,官方称本次iOS 10的推出有着多大10项的重要更新,在用户体验、界面、Siri、地图以及音乐方面都有着不少的变化…

JDK源码学习之Arraylist与LinkedList

ArrayList和LinkedList是我们在开发过程中常用的两种集合类,本文将从底层源码实现对其进行简单介绍。 下图是Java集合类所涉及的类图。 一.ArrayList 从上面的集合类图可以看出,ArrayList实现了List接口。ArrayList是顺序的集合容器,容器中可以存放null…

学习记录4

学习了python基本数据类型,附学习笔记图及操作图 转载于:https://www.cnblogs.com/bgd140206127/p/6549229.html

self 实例对象-代码详细解释

self代表类的实例,而非类哪个对象调用方法,那么该方法中的self就代表那个对象self.__calss__ 代表类名class Person(object):def run(self):print("run")print(self.__class__)p self.__class__("tt",30,10,20)print(p)def eat(sel…

CString之GetBuffer与ReleaseBuffer

我们知道,CString是MFC中提供的方便字符串操作的一个类,非常好使,具有自动动态内存管理功能。 GetBuffer()主要作用是将字符串的缓冲区长度锁定; ReleaseBuffer()则是解除对缓冲区的锁定,这样使得CString对象在以后的代…

mac 编译android系统,mac 编译 Android 系统杂记

挂载android分区sudo hdiutil attach ~/android_code/android7.dmg.sparseimage -mountpoint /Volumes/android原放入U盘:echo 188jinghao | sudo -S hdiutil attach ~/android7.dmg.sparseimage -mountpoint /Volumes/android放入机械硬盘sudo hdiutil attach /Vol…

Java开发必须熟悉的Linux命令总结

身为一个Java开发人员,这些常用的Linux命令必须掌握。即使平时开发过程中没有使用Linux(Unix)或者mac系统,也需要熟练掌握Linux命令。因为很多服务器上都是Linux系统。所以,要和服务器机器交互,就要通过she…

构析函数

析构函数:__del__() 释放对象时自动调用 class Person(object):def run(self):print("run")def eat(self,food):print("eat"food)def __init__(self,name,age,height,weight):self.name nameself.height heightself.age ageself.weight …