编程游戏

关键词: 编程

编程游戏(精选八篇)

编程游戏 篇1

1 窗体设计

(1) 添加一个窗体, 设置caption属性为滑板拼图;设置borderstyle属性为1;设置backcolor为任意颜色。

(2) 在窗体中加入一个图片框picture1。

(3) 在已经加入的图片框上面又加入一个图像框image1。

(4) 选中picture1进行复制, 然后进行粘贴, 建立picture1控件数组和image1控件数组。连续粘贴9次, 使窗体中共有10个图片框和10个图像框。

(5) 再加1个命令按钮command1, 选择它, 进行复制, 再进行粘贴, 建立command1控件数组。

(6) 在窗体中加入一个标签label1, 设置autosize属性为true;设置backstyle属性为0。

(7) 在窗体中加入一个时钟timer1。

2 窗体加载

3 添加全局变量

4 命令按钮

5 图像框

6 时钟响应

7 自定义两个函数

(1) 交换图片框位置函数:jiaohuan (pic1, pic2)

(2) 空位处理函数:empty_do (pic1, pic2)

8 运行效果图

如图1所示。

9 结语

本程序代码精简短小, 控件属性设置几乎均在代码中实现, 准确快速, 图片框中加载图片框, 实现图片剪裁效果, 动态改变图片框属性, 实现图片移动效果。从以上实例可看出, VB功能很强大, 用不着写很多代码, 便可实现很好的编程效果。

游戏编程感想 篇2

班 53080907 周杰

首先,通过游戏编程课程的学习,我了解了怎么用我们所学过的知识进行游戏编程,不过对于第一开始应该用什么语言,你有许多种选择,包括Basic、Pascal、C、C++、Java等等,而且在网上关于游戏制作新手应该选择哪门语言的讨论也很多。推荐选择C和C++做为开始写游戏的语言。一些人可能会说这两种语言对于没有编程经验的新手来说有点难度,我不同意这种说法,因为我就是刚开始的也是选择这两种语言。另外C/C++在今天是两种应用范围最广的语言,因此你才会更有可能得到更多的编程和学习资源以及其他人的帮助。

其次,如果要进行游戏编程,我们要对我们在大学期间学过的相关知识有个大概的了解,游戏编程设计到经济学,统筹学,物理学,机器人学,生物学,心理学,人工智能,计算机图形学,多媒体技术,虚拟现实等等。而且它也是一个团队的合作才能完成的工作,它所涉及的工作有策划、程序、美术、音乐等。只有每个方面的工作相互配合达到完美,所设计出来的游戏才是一款经典的游戏作品。

第三,作为游戏编程,它所设计的不单单是一款游戏,如果把它想成仅仅工人们娱乐消遣的工具,那就把游戏定义的有所狭隘。游戏只是人们日常生活中所能接触到的一部分应用,它更可以应用虚拟现实的技术把这个产品应用到人们生活的方方面面,比如军事模拟训练,仿真模拟等等。

最后,不要仅仅是积累知识,用它。除非你用它们,否则你不能真正的知道和理解它们。用你所学的东西制作一个小的Demo。认真的去做书里面每个章节后面留的练习。

尽量玩更多的游戏。这样做可以给你许多灵感并能帮助你把游戏做的更好一些。这也可以给你枯燥的编程工作减轻一些痛苦。

编程游戏 篇3

关键词:高职 计算机语言 教学模式 游戏编程

中图分类号:G642文献标识码:A文章编号:1673-9795(2012)09(a)-0172-01

计算机VB言是计算机专业学生的入门语言,学好计算机VB语言可以为后续语言和《数据结构》的学习打好坚实的基础。计算机VB语言除了要学习必须的基础知识,如:概念、方法和语法规则之外,还要通过实训提高学生的动手和编程能力。本人结合多年来的教学经验,根据学生的学习情况,在教学过程中实行了自己的一些计算机语言教学方法的改革实践,并取得了一些效果,总结如下,供大家共同探讨。

1 目前高职院校计算机教学存在的普遍弊端

首先,学生的综合素质差水平参差不齐。高职院校学生的综合素质比一般的大学学生要差,这主要是因为高职院校招生的高考录取分数线低,选择上高职院校的学生,一般在高中的时候,学习不是特别的好,属于调皮捣蛋的多,都不爱学习,特别是自己主动学习的能力很差。还有高职院校的招生生源是多元化的,这些学生有的是来自普通高中学校的文科生,有的是来自普通高中学校的理科生,还有一些来自技校、中专、甚至职业高职院校,学生的文化水平不同,文化层次也不一样,在学习的基础上有很大的差别。因此,他们对理论知识的掌握水平,还有对理论知识的理解能力是有很大的差异,有的人一说就明白了,但是有一部分人听几遍还是听不懂。这就造成在授课的过程中,一些基础好,理解能力强的学生觉得早已听懂,但是基础差的学生总觉得进度较快。这样会造成基础差的学生计算机的基础学习也不扎实,缺少学习的积极性,而基础好的学生也不能进一步的深人学习。使学生的成绩差异很大。

其次,课堂气氛死板,学生兴趣低。计算机的VB语言教学,本来就是一个很枯燥的课程,加上教学方法的机械化,老师单纯的口头讲解,使原本就概念性很强的东西,变的更加的晦涩难懂,使学生丧失学习的兴趣,课堂气氛死板呆滞,往往形成,老师在上面讲的唾沫直飞,学生在下面昏昏欲睡的尴尬局面。学生对课程没有兴趣,不能自主的去主动学习,势必降低学习的效率。

第三,学生的程序设计调试能力差。在授课的过程中,我发现一个很明显的问题:多数学生只是对Windows操作环境比较熟悉,但对编程环境不熟悉,不熟悉编译过程中出错的英文信息,有的甚至连syntax(语法)、statement(语句)、overflow(溢出)等单词都不认识,还有些学生对程序动态调试方法没有掌握,如单步执行、断点设置、观察变量的当前值等;再有一些学生录入程序速度太慢,录入的正确率太低。在对学生考试的分析中,很多学生最怕计算机等级考试(二级)中笔试的程序填空和机试的编程题,其实这些难度并不大。可见学生的结构化程序设计思想不强,一些常见的穷举、递推、迭代、方程求解、字符串操作等操作法不够熟练,综合运用知识能力较弱,编程时设计的程序结构不清晰。

2 改革教学模式的措施

2.1 引进游戏编程,提高学生学习的兴趣

这个阶段的学生,对一些枯燥的语言没有兴趣,但是每个学生对待游戏的兴趣是一样的,我们一定要抓住学生的这个特点。在计算机课程的第一节课,我往往不急于讲解这个课程,而是带着学生,玩一些小型的網络游戏。告诉学生,我们所学的这个计算机VB语言,以后的主要用途和这个游戏的编程有很大的关系,学好计算机VB语言,以后自己就能够设计编程一些游戏的软件,给自己带来乐趣的同时,还会给自己带来不小的收益。从这些简单的游戏编程中,对所涉及的课本知识进行一个有效的引导,让学生对这门课程有一个更直观,更生活化的一个认识,并且能从对游戏编程的了解中,激发学生学习计算机的兴趣,使生硬晦涩的这些东西,变得更加的生活化。更有利于教学的开展,也有利于提高教学的效果。

2.2 科学的组建课堂教学

我们教师在授课前,应充分的做好备课,考虑授课的诸多客观因素,摒弃那种教师是课堂主角的观点,要合理安排教学内容,充分调动学生自主学习的积极性,让学生能主动的发现问题,提出问题,然后解决问题,这样才能够提高课堂教学的效果。我在教学的时候,一般是采取:“讲—练—讲—练”的一个模式,在授课前,把这节课的一个重点给学生做一下总结,讲解难点知识,然后给学生足够的时间,去实际的练习操作。在这种实际的操作中查找学生知识的掌握和理解的一个情况,然后对学生们操作有困难,理解困难的一些东西,结合刚才学生操作中的问题,再一一的讲解,解释。分析错误的原因,提示正确的思路,然后再让学生们重新去练习实践。从这种实践中来总结失败的经验,掌握正确的方法,往往使学生们知识掌握的更加深刻,从而提高教学的效率。

2.3 组建小组合作教学

针对高职院校学生素质水平参差不齐的这个现象,我在教学的过程中把学生分成几个组,让每个组学生的水平差不多,并且每组中有学习好的同学,也有学习差的同学,这样在小组内,学习好的同学能带动学习差的同学共同进步,能有效的缩小因为这种素质水平带来的成绩差异。另外,我课堂教学,给学生布置任务的时候,还让几个组之间做一个竞争的比较,看哪个组做的快,做的好。增强学生的竞争意识,提高主动学习的这种能力。这种“组内相互合作,组间相互竞争”的局面,使得整个教学的评价重心由鼓励个人竞争达标转向小组合作达标。在小组评价时也要对个人合作学习的参与度、积极性和独创性等作出恰当的评价,这样可在小组内部树立榜样,激发组内的竞争,以调动每个学生参与的积极性,打消个别学生依赖别人完成学习任务的思想,从而提高教学的整体效率。

2.4 客观评价教学效果

在教授完课程之后,要对课堂的教学成果进行客观的评价。首先对学生进行小组的评价,对几个小组的完成任务情况做一个综合的评价,看哪个小组完成的好,哪个小组的创意优秀,哪个小组知识掌握的系统,把这些做为平时小组的一个考核成绩记录下来;同时还要看每个学生在小组中的表现,是否积极的参与活动,小组的协调能力怎么样,具体的实践操作完成的如何,从综合的角度来给每个学生做一个科学的评价,记录下来。并且把每节课堂完成任务的评价做为学生最终考核成绩的一个参考,这样也对以往学校单纯凭借期末成绩考核学生的方式,做出了一个变革,使考核更能够反应学生真实的综合水平。从对学生的客观评价中,我们也可以看出自己的教学是否达到了预期的效果,如果没有达到,问题出在哪里,该要如何的改进,还有对课堂上突发事件的应变处理能力怎样,找到自己的不足,找到改进的具体方法,避免相同问题的再次出现。

《用游戏开启编程之旅》教学案例 篇4

本节课是中国教育技术协会出版的《信息技术》中的拓展模块“算法与程序设计”的第一课。本节课的内容是介绍模块的基本操作、顺序结构和分支结构, 是后续课程循环及函数等知识的基础。本节课笔者将慕课引入信息技术课堂, 通过邀请学生参与“编程一小时”的活动慕课, 完成Flappy Bird游戏的制作, 并借助自建的“创作分享平台”让学生进行分享与评价。

学习对象分析

笔者参加了第四届全国初中信息技术优质课展评活动, 上课的学生是常德外国语学校的学生, 他们信息技术素养较好, 并对电子游戏非常感兴趣, 但在游戏开发和编程方面几乎没什么基础。

教学目标

知识与技能目标:理解积木块、触发器等模块的功能;掌握模块的组合使用方法;了解程序设计中顺序结构、分支结构的概念。

过程与方法目标:依托慕课网站以闯关游戏的形式进行自主学习, 自主设计游戏规则制作游戏, 体验程序设计和游戏开发的过程。学习将复杂问题转化为简单问题的程序设计思想与方法。

情感态度与价值观目标:体验程序设计乐趣, 激发探索精神, 拓宽国际视野。

教学重点、难点

重点:模块化的思维方式和模块之间的组合方法。

难点:分支结构的理解。

设计思路

游戏贯穿整节课, 以游戏激发学生兴趣, 将关注点从玩游戏转移到制作游戏, 学习制作游戏的过程是在类似玩游戏的关卡模式下完成的。依托幕课网站进行游戏设计, 引导学生进行轻松愉快的程序设计的探索和实践, 体验程序思想及慕课的开放、共享精神。

教学流程

1.导入新课

教师让学生打开浏览器, 学生发现了首页中的游戏。教师给1分钟时间让学生玩Flappy Bird游戏。

师:大家喜欢玩游戏吗?是否梦想过自己设计游戏?

学生体验游戏, 回答提问。

师:马云说过, “梦想还是要有的, 万一实现了呢”。这节课我们不仅要玩游戏, 还要一边玩一边制作一款属于自己的游戏, 实现我们制作游戏的梦想。

设计意图:激发学习兴趣, 并将兴趣从玩游戏转移到制作游戏。

2.初识慕课

师:不会编程, 如何制作游戏?过去这也许真的不可能, 但现在我们有了互联网, 有了慕课, 你会发现我们的学习变得简单而有趣。 (教师展示PPT, 并介绍“编程一小时”活动) “编程一小时” (The Hour of Code) 是由Code.org发起的一项全球性活动, 它希望地球上每个人都能够接受计算机教育。此项活动得到了奥巴马、比尔·盖茨、马克·扎克伯格等人士的鼎力支持, 从2013年至今, 来自全球180多个国家、数以千万计的学习者参加了此项活动。学习这门课程无需编程经验, 它不会让你面对枯燥的代码, 相反它所提供的都是好玩的游戏, 通过游戏来学习编程 (如图1) 。

教师通过视频演示编程一小时慕课网站登录过程 (如下页图2) :

①打开浏览器, 点击活动小组空间。②选取自己的姓名和对应的密码图片。③点击登录。④切换语言。

学生找到与自己姓名对应的密码图片, 登录慕课网站。

设计意图:用姓名和密码图片区分学习者, 便于了解学习者的学习进度。

3.引导探究

教师介绍制作游戏过程中需要用到的基本概念。

①积木块。积木块能够独立完成一项基本的功能, 如拍翅膀、播放拍翅膀的声音等。积木块上还有接口可以将多个块连接在一起完成更复杂的功能。

②触发器。工作区是摆放积木块的舞台, 工作区中还有一些绿色的积木块, 它们是触发器, 当触发器的条件满足时会执行触发器下面的积木块。

师:像下面这样, 当我们单击鼠标时小鸟就会拍翅膀了。好了, 在左侧的游戏区试试吧, 我们的目标是让小鸟飞到靶心 (如图3) 。

教师演示前三关的过关过程后, 让学生自主探究其余关卡的玩法。

学生了解积木块、工作区、触发器等专有名词的含义, 明确游戏的过关规则, 跟随通关提示独立完成游戏关卡1~8。

设计意图:将程序设计中的专业术语以积木的形式介绍给学生, 化难为易, 降低了学习难度。学生在主动探究中不仅玩了游戏、学习了程序设计的基本概念, 而且激发了学习的兴趣。

4.解析提升

借助慕课工具展示学生完成进度 (如图4左) , 教师发现问题:有些学生在第八关和第九关遇到了困难。教师通过解析两位学生的程序设计, 找到编程中存在的问题。

师:程序运行有两种结构, 一种是按照次序先后运行的, 称之为顺序结构;另一种是满足条件时运行的, 称之为分支结构 (如图4右) 。

请同学们检查, 看看模块是否摆放在了合适的触发器下, 模块的上下顺序是否正确。

学生体验总结, 查找问题。

设计意图:在学生编程体验的基础上, 建构程序思维。

5.创作分享

教师通过慕课工具展示学生完成进度。

师:第十关没有固定的通关要求, 可以设计游戏规则, 创建属于自己的游戏。你可以将这个链接复制粘贴到老师自制的“创作分享平台”上, 邀请其他同学一起来玩你制作的游戏, 并且还可以相互点赞 (如上页图5) 。

学生分享自己制作的游戏, 尝试玩别人制作的游戏。

设计意图:巩固新知, 激励创作。体验获得学习成就与分享的快乐。

6.展示评价

教师在创作分享平台上, 按照点赞数量的排名展示学生制作的游戏, 并给予评价。

教师展示通过所有关卡后, 获得的学习证书。教师展示或打印这些证书 (如图6) 。

学生对获赞最多的游戏进行评价, 查看自己获得的证书。

设计意图:运用证书激励后续学习, 运用评价促进多元发展。

7.总结拓展

师:电子游戏和编程看似复杂, 但只要我们懂得分析, 找到其基本规律, 将复杂的问题简单化、模块化, 就可以各个击破, 最终完成复杂的程序设计。你只需要记住活动小组的URL, 就可以在课下继续学习慕课网站中的其他课程。

设计意图:总结提升, 突出慕课思想, 鼓励继续学习。

教学反思

本节课的特色是引入慕课“编程一小时”活动, 以玩游戏的形式来学习程序设计, 最终达到在一节课的时间内让毫无编程经验的学生独立设计游戏规则, 制作出自己的Flappy Bird游戏。非常感谢常德市外国语学校的学生们, 他们都出色地完成了学习任务, 并且笔者在回到辽宁后惊喜地发现, 还有学生在课后继续在慕课网站上学习其他的课程。

在准备这节课的时候, 除了使用慕课资源, 笔者还制作了一个互动分享链接的动态网页, 用来弥补慕课网站的不足。因为担心比赛现场访问国际网站慢, 笔者架设了代理服务器, 但在课堂上还是出现了外网故障, 好在及时发现问题并解决了。

关于“编程一小时”活动, 笔者希望这样的免费平台可以被国内更好地利用, 也希望有时间和能力的朋友, 能一起参与到翻译中来, 贡献我们的微薄之力。

点评

本课在第四届全国初中信息技术优质课展评活动中荣获特等奖。作为信息技术学科的优秀课例, 其执教者更应该是新理念、新技术的践行者、开拓者。国宁老师将“编程一小时”国际慕课平台引入课堂教学, 使教与学更加开放, 使交流更便利, 也更具国际化视野。对于学生, 这节课的价值并不仅仅止步于课堂所学, 更是为他们打开了一道探究程序设计领域的大门, 打开了一扇通向国际前沿的窗户, 依托国际慕课网站, 今后可以与全世界的编程爱好者一起自主地进行各种丰富有趣的编程学习。本课的另一突出之处是:生动有趣、循序渐进的游戏设计体验, 使学生顺理成章地建构顺序、分支的程序设计思想, 以及模块化思维方式, 有效降低了程序设计的学习难度。教师通过引导探究、问题解析、开放性创作、交流评价几个教学环节的开展, 有效地实施了体验和建构过程。游戏进度查看功能的开发和运用, 能够使学生及时了解自己和他人的学习进展, 进一步丰富课堂互动信息, 使学习和交流都更加充分。此外, 课堂节奏和教学资源的设计具有一定的美感, 使课堂教学赏心悦目。

目前, 对于慕课思想和平台的应用, 主要还是集中在高校, 应该说, 国宁老师《用游戏开启编程之旅》一课是慕课在基础教育阶段应用的一次有意义的尝试。

编程游戏 篇5

我们把Scratch软件引入信息技术课堂,开展游戏化的程序设计教学, 目的就是促进小学生编程思维的发展。但在开展中我们也碰到了许多问题,如缺少合适的教学内容,缺少分类指导,缺少展示平台,缺少交流反馈,缺少互相评价,缺少辅导时间,缺少学生人数等。所以,迫切需要教师在教学中运用新的理念和方法,探索出一条游戏化编程教学的作品创作之路,有效提升学生的编程能力。

选择有趣的教学内容是游戏化编程教学的核心

目前,Scratch教学越来越受到老师们的关注,在新课程浙江摄影出版社《小学信息技术》六年级下册中,正式引入Scratch教学内容,但内容只有五个课时,只是让学生有个初步的了解。完整的Scratch软件操作教程不多见,市场上出现的还有一类Scratch书,是学校教师根据他们在课堂中开展Scratch教学实践的经验编写的。我校在刚引入Scratch教学时,初步挑选了几本, 有《Scratch与创意设计》《Scratch创意动画设计》和《边玩边学Scratch趣味游戏设计》等。我们从这些书中精选了包括基础知识、范例演示、作品创作等几个方面的学习内容,选取了一些有趣又好玩的小游戏。这些作品大部分来自于同龄人的创作, 难度并不大,非常适合学生们去模仿和练习,在初学时特别有效。我们还选取了一些并不完美的游戏作品,还有许多地方需要完善的有趣作品,让学生去分析,让他们提出问题,去学会解决问题和创造性地改进这些不足。

在初识Scratch时,我以《小猫快跑》 为主题,通过组织游戏内容开展教学。

一只威猛的狮子在森林深处巡视着自己的领地。突然,一只小猫闯进了它的领地,狮子勃然大怒,这时小猫发现情况不妙,它能否脱离险境呢?于是“小猫快跑” 的好戏上演了。

用游戏的内容,结合故事情境,让学生初步掌握移动、下一个造型、碰到边缘就反弹和重复执行等指令。

创建合理的分类作品是游戏化编程教学的基础

我们在教学时针对不同年级,选择学生容易接受的知识点。内容是学生比较感兴趣的,这样才能使学生得到更多的收获。

我们根据作品的性质,分为迷宫类、 射击类、益智类和动画类等。我们发现同一类别的作品,在创作过程中它们的指令代码也类似,可以起到举一反三的作用。 分类作品教学可以提升学生的思维能力, 巩固解决问题的能力,这样学生学起来相对轻松。对一些思维开阔的学生帮助更大, 有助于他们创造性地修改作品。

在利用Scratch教学中,学生对迷宫类和射击类的游戏最感兴趣,做出很多有意思的作品,如下表。

编排合适的校本教材是游戏化编程教学的手段

我校自2013年下半年开始着手准备Scratch校本教材的编写。根据Scratch主题研讨和课堂展示中积累的案例材料,认真筛选出适合学生掌握的课堂教学作品范例,旨在让所有学习Scratch的学生都能够对教学内容进行消化吸收。我们通过课堂实践,反复修改,合理编排,初步形成一本适合学生初学的Scratch校本教材。

整本校本教材分为三部分,由初级篇、 中级篇和高级篇组成,每部分有4课时内容, 案例的选取以故事性游戏化的形式呈现, 按照一定的梯度编排,整体上遵循由浅入深、由易到难的原则。教材中呈现的案例全部采用Scratch2.0界面,指令、按钮等图示更清晰。教材中还涉及利用Scratch进行画图和运用变量进行算法设计的高级技巧, 与嘉兴市青少年信息学竞赛相结合,拓宽了学生的视野,有效地培养了编程思维。

搭建丰富的展示平台是游戏化编程教学的保障

和课堂教学一样,展示和评价也是Scratch教学的重要组成部分。通过作品展评、竞赛等多种形式激发学生的表现欲,激励更多的学生投身到这项有意义的活动中来。Scratch的官方网 站http://stats.scratch. mit.edu/,是个想象编程分享的平台。当学生完成自己的作品时,老师指导学生上传到Scratch学习网站上,和网站上世界各地的Scratch爱好者一起分享和交流,也是一个非常好的学习渠道。

我校也为学生搭建了一个Scratch专题网站http://fzpt.hyxyxx.com/scratch, 上面放了许多视频教程、课堂范例、作品欣赏、学生作品等资源。学生利用这个平台,自己就能找到学习的内容,进行操作实践,也可以相互欣赏作品。在这个平台的引导和激励下,学生的兴趣得到极大的提升。

平时,还建立QQ群、论坛等,加强老师和学生、学生和学生之间的联系。用Scratch进行作品创作,从中定会发现错误,听取别人意见,有新的想法,有无数问题自然产生,这是一个不断修改和完善的过程。

每学期我们开展为期一周的Scratch创意作品体验周活动。在向阳Scratch专题网站上展示大量的学生创意作品,邀请全校3 ~ 6年级的同学参加体验活动,充分感受Scratch带给我们的无限魅力,感受创意的无限精彩。通过一段时间的教学,Scratch创作已成为很多学生的最爱,学生创作的很多作品连我们这些老师也佩服不已。

编程游戏 篇6

关键词:目标,项目,课程

《c++高级编程》课程是游戏软件开发教学中的一门专业核心能力培养课程。该课程的先修课有《c++编程基础》、《数据结构》等课程, 后续课有《DirectX图形开发》、《单机及网络游戏设计》等课程, 通过对本课程的学习, 学生们将从软件基础编程真正步入游戏软件编程。

一、课程开设原因

首先因为c++语言开发的程序具有执行高效等一些特性, 是目前网络游戏开发的首选语言, 根据《2008年中国游戏市场调查报告》显示:目前60%以上的网络游戏是由c++程序开发的。其次调查中华英才、智联招聘、中国人才热线等一些人才招聘网站可以看到, 50%以上游戏开发岗位均要求熟练掌握C++高级编程技术。

二、课程设计思路与培养目标

本课程的设计思路是:建立真实的工作过程, 设置典型工作任务, 充分利用企业的成熟项目、先进技术和专业经验等优势, 使学生的培养过程真正实现以学生为主体、工学结合。

游戏开发人才培养方向针对的核心岗位有两个:游戏编程和游戏测试。通过对岗位调查报告进行分析汇总, 这两个岗位对《C++高级编程》这门课程提出了以下培养要求:树立良好的游戏开发思想、熟练掌握和运用C++语言特性进行游戏软件开发, 同时培养良好的沟通能力、自觉的规范意识、独立分析问题解决问题的能力。

根据课程设计思路, 结合岗位调查报告分析, 《C++高级编程》的课程培养目标是:首先、通过公司化的任务设置和团队模式来培养学生良好的团队精神和独立分析、解决问题的能力, 使学生具备行业认可的通用能力。其次、通过对专业经典项目的设置, 培养学生良好的游戏编程思想, 并用工程技术将这种思想实现, 使学生掌握良好的专业核心能力。另外、适当安排一线企业游戏软件开发工程师参与综合项目实践的整个过程, 以公司的岗位要求全程指导学生综合项目实践, 针对性培养学生岗位专用能力。

三、课程设计实施

课程设计实施过程包括项目总体安排和教学过程具体实施两部分, 下面我们将对其分别进行详细阐述。

(一) 项目总体安排

技术项目的开发主要包括两个, 第一个是图书管理系统, 第二个是综合项目:连连看 (单机游戏) , 这两个项目的安排是由简单到复杂的递进关系。对于图书管理系统, 学生们非常熟悉, 因为每个人都去图书馆借过书, 对整个借书流程非常了解, 所以这个项目的开发相对简单、易操作。第二个项目连连看游戏开发难度加大, 因为游戏软件的开发和MIS系统类的软件开发还存在着很多的不同。它除了预定功能的实现以外, 还要求对用户 (也就是游戏玩家) 进行一个综合的考虑。

另外在每一个项目的实施过程中, 引入游戏开发企业的项目机制:明确任务、项目准备、分析需求、项目实施、项目测试和项目验收六个环节, 真实模拟企业项目实施流程。这几个环节, 将在下面的项目具体实施过程中进行详细的讲解。

(二) 教学具体实施过程 (以综合项目:连连看 (单机游戏) 为例)

1、项目确定

为什么要选择这个项目呢?原因是:第一, 这个游戏学生非常感兴趣、非常熟悉。第二, 通过专业课老师或公司技术人员的指导, 学生开发任务可以实现。第三, 有助于培养学生们良好的游戏开发思想。

2、项目准备

在这个环节采用任务实施主体多元化和实施内容多样化的形式。授课教师要对项目所用到的知识进行讲解和应用演示, 学生要组成团队、确定负责人, 负责人要完成团队分工并以团队的形式进行资料准备。这个环节主要锻炼学生们团队合作、分析解决问题的能力, 最终实现行业通用能力的培养目标。

3、分析需求

首先两个小组为一对, 分别扮演用户玩家与项目开发者角色, 站在不同角度共同去分析需求。另外, 邀请游戏软件公司的技术工程师给学生详细介绍公司是如何分析需求。同时, 借阅游戏软件开发企业成熟项目的一些开发文档, 供学生们参考学习。最后每个小组完成分析需求、功能分解。

4、项目实施

在此过程中主要强调项目实施注意事项, 比如, 程序开发标准化。因为学生在以前的程序开发中, 往往对许多细节不太在意。例如, 在命名一些项目名称, 功能模块的时候, 往往会使用123, abc这样的命名, 经常出现这种开发内容他人无法阅读的情况。这在公司中, 是被严令禁止的, 因为一个项目的开发, 往往都是团队, 最需要的就是沟通协作和资源共享。正像一句话说的“细节决定成败”, 所以要让学生树立一种良好游戏开发思想, 专业核心能力得到培养。这个环节的最后, 学生们除了要完成作品以外, 还要完成开发文档的撰写。

5、项目测试

众所周知, 一个游戏产品上线运营之前, 都要进行严格的内部测试和公开测试。这个环节我们也引入了项目教学, 学生们完成游戏开发以后, 要进行内部测试, 内部测试呢, 小组之间互为玩家, 进行测试和修改。内部测试以后, 每个小组邀请其他班级的同学, 来试玩本小组开发的游戏, 进行公开测试, 收集意见。结合这两个部分, 完成测试报告。特别建议, 在这个环节一定要使学生对游戏测试引起高度, 因为这直接关系着一个游戏项目今后运营的成败。

6、项目验收

项目验收采用综合评分制, 其中包括小组互评部分、特邀玩家测评部分、项目答辩部分 (评委由专业课老师和企业一线工程师共同组成) 、项目总结部分, 其中要特别说明的是项目总结部分, 项目总结是指项目完成后对项目进行角色换位思考、模拟再实现、完善测评的一个综合过程, 是技术熟练掌握的一个再提高过程。

四、课程设计问题思考

我们在进行项目教学, 同时企业也在进项目开发, 那么为什么项目在企业进行的那么顺利高效?为什么企业的员工在项目实施过程中那么积极努力?

针对这个问题, 我们通过走访企业开展调查, 总结得到的答案是:每个企业不仅有严格、完善的考核机制, 而且企业的内部竞争激励, 每一位员工在竞争压力面前, 时刻身怀危机意识, 只有努力拼搏、大胆创新才能在个人核心竞争力上具有优势。那么, 在校学生参与项目实践的动力是什么呢?我们老师做为项目的实施负责人不可能像企业的老板一样, 去扣工资, 炒鱿鱼, 我们靠什么调动学生的积极性呢?通过调查和讨论, 发现只有严考核、重奖励才能使学生充分融入项目教学全过程, 充分发挥参与项目实践的积极性。所以我们认为严格的课程考核和优厚的奖励措施是我们整个课程设计顺利执行的保证。

参考文献

[1]童寅山.独立游戏开发分析[J], 程序员:游戏创造, 2006 (10) .

[2]李桂芹.提高游戏开发人才培养水平的困难与条件[J], 经济研究导刊, 2009.

编程游戏 篇7

关键词:二维数组,坐标,位图 (DIB) 资源

俄罗斯方块是大家都很熟悉的游戏, 在其Windows应用程序的开发过程中, 总的来说需要解决几个关键性的问题:其一是如何实现各个方块图案形状之间的转换;其二是在方块图案下落时如何判断下方有无障碍;其三就是如何判断一行是否填满及其消除的办法。这些功能都需要采用一定的算法来实现。

在程序的开发过程中, 我们采用了二维数组的办法来控制整个方框的状态, 从而比较容易理解的解决了上述的三个主要问题。此应用程序是采用Microsoft Visual C++程序语言在Windows 98及Windows XP上运行成功, 下面就详细介绍二维数组在程序中的应用方法。

首先, 我们需要分析方块图案的种类及其状态的问题。典型的也是最常见的俄罗斯方块游戏中共有7类图案, 每一类图案又有若干变形的状态。为了让大家直观了解, 所有图案和变形状态如图一所示。

在某一类图案下落的过程中, 我们可以通过键盘控制此类图案各状态间的转换。由于方块是在Windows的“可视”窗口中显示出来的, 因此我们还需要调用位图 (DIB) 资源。实际上在Windows操作系统中每一个位图资源都是以矩形的形式定义的 (即定义位图资源的宽和高) 。如果对每一类图案的每一个变形状态都用不同的位图来表示, 则由图一可知总共要定义19幅位图, 这样不但增加了绘制位图的工作量, 而且在变形状态间转换时容易引起闪烁和位置抖动。而更为麻烦的是它非常不利于下落时障碍判断和行是否填满状态的判断。考虑到每一种图案实际上是由四个大小完全相同的小方块所组成。四个这样的小方块通过不同的位置组合就可以形成上述的七大类19种状态的图案。因此实际上我们只需要绘制一幅小方块的DIB位图。由于连续调用四次位图的时间很短, 不会超过人眼睛的视觉停留时间, 因此我们看上去是一幅完整的位图。

我们把各个小方块的左上角坐标分别用 (cx1, cy1) , (cx2, cy2) , (cx3, cy3) , (cx4, cy4) 来代表, 程序中控制这些坐标之间的关系就相当于控制了小方块组合的形状, 图二就表明了第三类图案的变形状态转换情况。

下面来定义游戏窗口, 我们假定游戏的左上角坐标点为 (ulPosx, ulPosy) , 边框宽度定义为frmwidth, 边框内的宽和高分别是16mWidth和20mHeight。其中mWidth和mHeight分别是小方块的宽和高, 我们通常设定两者相等。我们可以理解, 在功能实现上, 可以看做是先擦除图案, 往下移动一个mHeight距离后再将图案显示出来的过程。若移动一个mHeight距离后, 任一个小方块的左上角纵坐标都没有超出方框底线, 并且任一小方块当前所处位置所对应的数组元素都不等于1, 就说明当前图案没有到底, 也没有遇到障碍物, 这是我们可以直接将其显示出来;否则, 在显示之前应当向上移动一个mHeight距离, 即取消刚才所做的距离移动。在这里擦除图案和显示图案分别用函数EraseDesign () 和PaintDesign () 来实现;函数CalcStatus () 的作用是计算public变量i1-i4、j1-j4的值, 这里擦除图案和显示图案分别用函数EraseDesign () 和PaintDesign () 来实现。函数Calcstatus () 的作用是计算public变量i1到i4、j1到j4的值, 程序代码如下:

有了二维数组的概念以后, 我们很容易进行一行填满与否的判断, 只要扫描二维数组的各元素, 如果一行的所有元素都等于1, 则此行填满, 予以消除, 然后将此行以上各行状态依次下移, 注意:如果相邻两行都填满时, 要多处理一次 (程序中的i++很重要) 代码如下:

可以看出, 在程序的开发处理中, 二维数组起到至关重要的作用, 我们通过控制二维数组元素的值来达到控制方块的目的, 无论是障碍判断、行满判断还是左右移动都可以借助于它。当然, 二维数组并不是唯一可行的算法, 而且显得计算有些繁琐, 本文仅是借这个家喻户晓的游戏的编程来加深读者对二维数组的理解, 而并不希望在程序的编写上局限于它。

参考文献

[1]《程序设计基础教程-C语言版》, 冯山主编, 马廷淮副主编, 科学出版社

[2]C++中二维数组与指针关系的剖析, 丁卫平等, 南通工学院学报

编程游戏 篇8

随着CAD/CAM技术、数控加工编程、快速成型技术等先进制造技术的不断发展, 产品零件的开发与制造发生着巨大的变化, 传统的设计方法及数控机床的手动编程加工方式越来越不能适应现代化生产和集成化技术的需要[1]。

UG是美国麦道公司出品的一个集CAD/CAM/CAE为一体的三维设计软件, 它为用户的产品设计及加工过程提供了数字化造型和验证手段, 它是当今世界上广泛应用的计算机辅助设计、制造和分析软件之一, 有着强大的实体建模、曲面建模、虚拟装配、工程绘图和制造加工等功能。

CIMCOEdit是一套可以对数控程序进行数据编辑、数据处理、文件比较与三维刀具轨迹模拟、DNC传输的应用软件。该软件以其强大的功能、低廉的价格而风靡欧美。利用CIMCOEdit软件的数据处理功能可以方便地实现对各轴数据的运算, 迅速完成程序平移、旋转、镜像以及主轴转速、切削进给的动态调整等数控程序。其具有加工范围显示功能, 可自动计算出程序最大值与最小值的范围, 有效地避免机床超程、转速进给超限等。

2 游戏机手柄上盖建模

游戏机手柄上盖是一个比较复杂的零件, 在设计过程中需要大量的曲面造型, 而UG软件具有强大的曲面造型能力, 因此我们利用UG软件的实体建模模块进行游戏机手柄上盖的设计。对产品零件进行结构和工艺分析, 得到该零件的设计效果图[2], 如图1所示。

3 游戏机手柄上盖的数控加工

利用CAD技术生成的产品三维造型包含了数控编程所需要的完整的产品表面几何信息, CAM软件可针对这些信息进行数控加工刀位的自动计算。因此, 绝大多数的数控编程软件同时具备CAD功能, 是CAD/CAM集成化软件, 本文采用的UG软件也是CAD/CAM/CAE集成化软件[3]。

3.1 加工工艺方案的确定

数控加工编程分为上表面和下表面两部分, 加工工艺过程的设计主要包括:毛坯件的选择;加工区域的确定;工艺路线的制定;加工刀具的选择;加工方式、走刀路线和切削用量的确定;加工模拟, 在加工模拟中不存在干涉现象, 才能生产NC加工代码。传输NC加工程序至机床, 然后选择夹具, 确定坐标系进行加工[4]。拟定的加工工艺方案见表1。

3.2 UGCAM加工的流程

UGCAM数控编程是利用UG加工模块进行数控自动编程, 一般NC编程的基本过程及内容如图2所示。

3.3 UGCAM的数控编程

利用UG加工模块, 对游戏机手柄上盖进行数控编程, 包括上表面和下表面加工编程, 数控编程结果如图3所示。

3.4 后置处理生成NC加工程序[5]

UG数控编程要进行后处理才能生成机床能识别的NC代码, 但是不同的机床所要求的格式并不相同。目前使用较多的是法兰克、西门子、三菱、海德曼等几种数控系统。本文采用了法兰克数控系统编程方法对后处理程序进行了部分修改, 使之能够与法兰克系统的数控加工中心完全对接。部分NC代码如下:

4 游戏机手柄上盖的数控加工仿真

数控模拟对电脑的配置要求较低, 运算较快, 对游戏机手柄上盖的数控模拟比UG模拟减少70%的时间。利用CIMCOEdit软件对游戏机手柄上盖的数控模拟结果如图4所示。

通过数控加工仿真演示, 根据不同的颜色可判断是否有干涉现象, 能提前预知数控加工中存在的问题, 及时改正错误, 保障了产品的合格率。

5 结论

运用UG软件中的建模模块对零件进行实体造型, 可在产品生产制造之前通过电脑预先对产品外观进行造型分析, 预知产品的结构造型;然后利用UG加工模块进行数控编程, 进行相关刀具选择, 对零件加工工艺和加工方法进行确定;最后进行产品的数控加工编程, 生成NC加工代码, 通过选择不同的数控系统, 生成对不同系统的后处理的加工代码。

参考文献

[1]徐森亮.基于UG的电动车后备箱盖注塑凸模CAM技术[J].机械制造与自动化, 2010, 39 (3) :135-138.

[2]徐其航, 黄建新, 卢景辉.游戏机手柄上盖注射模设计[J].轻工机械, 2011, 29 (1) :4-7.

[3]王晓枫.UG软件CAD/CAM技术在注塑模生产中的应用[J].现代塑料加工应用, 2005, 17 (6) :50-53.

[4]苏君, 赵岩, 刘保军, 等.基于UG电话上盖注塑模具设计与数控加工[J].中国制造业信息化, 2012, 41 (15) :83-86.

本文来自 古文书网(www.gwbook.cn),转载请保留网址和出处

相关文章:

编程处理01-04

嵌入编程01-04

高级编程01-04

编程原理01-04

时间编程01-04

编程论文题目01-04

文件编程01-04

结对编程01-04

编程入门学习01-04

并行编程01-04

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:编程处理 下一篇:编程论文题目