C语言专业技能实训专题报告

合集下载

C语言实训报告范文

C语言实训报告范文

C语言实训报告范文实训报告:C语言实训一、实训目的C语言是一种非常重要的编程语言,广泛应用于各种软件开发和系统设计中。

本次实训的目的是让学生通过实际操作来深入理解C语言的基本语法和编程思维,培养学生的动手能力和解决问题的能力。

二、实训内容1.熟悉C语言的基本语法和数据类型2.学习使用各种控制结构和循环语句3.掌握数组和字符串的使用方法4.学习使用函数进行模块化编程5.深入理解指针的概念和使用方法6.学习读写文件的操作7.完成一个简单的小项目,如学生成绩管理系统或简单的游戏开发等三、实训过程1.C语言基础知识学习:首先,学生需要掌握C语言的基本语法和数据类型,并通过一些简单的示例程序来加深理解。

学生可以通过阅读教材和视频教程来学习基础知识,并自己敲击一些简单的程序进行练习。

2.实践演练:在基本语法学习后,学生需要进行实践演练,实现一些简单的功能。

例如,可以编写一个计算器程序,输入两个数字和运算符,然后计算并输出结果。

这个练习可以让学生熟悉控制结构和循环语句的使用。

3.进阶学习:学生学习如何使用数组和字符串,并尝试编写一些复杂的程序。

例如,可以编写一个学生成绩管理系统,可以添加学生信息、查询学生成绩、修改学生成绩等功能。

这个项目可以让学生了解如何使用数组和结构体存储和处理数据。

4. 深入学习:学生学习指针的概念和使用方法,并通过练习来加深理解。

例如,可以编写一个简单的内存管理程序,模拟malloc和free函数分配和释放内存的过程。

这个练习可以让学生理解指针的概念和内存管理的原理。

5.文件读写:学生学习如何读写文件,并通过练习来加深理解。

例如,可以编写一个简单的文件管理系统,可以创建、读取和修改文件。

这个练习可以让学生了解如何使用文件流来读写文件,并了解文件操作的一些常见问题。

6.小项目开发:最后,学生可以选择一个自己感兴趣的小项目进行开发,并进行展示。

例如,可以开发一个简单的文字游戏,模拟战斗和升级的过程。

c语言实验报告5篇

c语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。

其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。

c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。

2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。

3、掌握C程序的运行、调试方法等。

二、实验内容编写一个学生信息排序程序。

要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。

2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。

3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。

1、使用函数方法定义各个模块。

三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。

(]1.2 实验要求在报告中记录建立、保存C程序实习过程。

1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。

执行Build-命令。

3)运行。

执行Build Execute 命令。

显示结果。

4)关闭程序工作区。

(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。

C语言实训报告2

C语言实训报告2

C语言实训报告2C语言实训报告2一、实训概述本次实训是为了提高学生的C语言编程实践能力,培养学生解决实际问题的能力。

通过本次实训,学生可以熟悉C语言的基本语法和常用的控制结构,掌握C语言程序设计的基本思想和方法,提高编程实践的能力。

二、实训目标1.掌握基本的C语言语法和常用的控制结构;2.培养学生解决实际问题的能力;3.加强学生的编程实践能力。

三、实训步骤1.学习基本的C语言语法和常用的控制结构;2.编写实际问题的C语言程序;3.调试程序并运行;四、实训过程本次实训采用了以下步骤:1.阅读并理解实训要求及题目要求;2.熟悉C语言基本语法和常用控制结构;3.分析问题,设计算法;4.根据算法,编写C语言程序;5.调试并运行程序,测试算法的正确性;6.优化程序的性能,并进行汇总分析;7.进行报告撰写。

五、实训成果本次实训中,我根据题目要求,设计了一系列的C语言程序,包括求解阶乘、斐波那契数列等实际问题。

通过编写这些程序,我深入理解了C 语言的语法和控制结构,并提高了自己的编程实践能力。

六、实训反思通过本次实训,我进一步加深了对C语言的理解与熟练程度。

在编写程序的过程中,我遇到了一些问题,如编译错误、逻辑错误等,但我通过调试和分析,解决了这些问题。

此外,我在实践中也发现了自己的不足之处,如对一些语法的理解还不够深入,需要进一步学习和实践。

在今后的学习中,我会继续提高自己的C语言编程实践能力,不断深化对C语言的理解。

同时,我也会加强对其他编程语言的学习,以提升自己的综合编程能力。

七、总结通过本次实训,我掌握了C语言的基本语法和常用的控制结构,提高了自己的编程实践能力。

在实践中,我不仅学会了如何分析问题,设计算法,还学会了调试程序,优化性能。

这些都对我今后的学习和工作具有重要意义。

我将继续深入学习C语言,提高自己的编程能力。

同时,我也希望能够通过实践,学习更多的编程语言,不断提升自己的综合编程能力。

总之,本次实训对我来说是一次很有意义的经历。

c语言实习报告3篇

c语言实习报告3篇

c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

c语言实训报告

c语言实训报告

c语言实训报告一、实训介绍作为计算机专业学生,我们需要熟练掌握各种编程语言,其中C语言是所有计算机专业学生必须学会的语言之一。

为了更好地掌握C语言的使用,我们参加了C语言实训。

本次实训分为理论学习和实践操作两部分,理论学习主要涵盖C语言的基本语法、数据类型、运算符、流程控制等内容,实践操作部分则要求我们通过编写各种程序来巩固所学知识并提高编程能力。

二、实训过程1. 理论学习在理论学习阶段,我们通过老师讲解和课堂互动的方式掌握了C语言的基本概念和语法规则,并进行了主要控制语句的讲解和练习。

同时,我们通过一些实例掌握了C语言的运算符和数据类型,并学会如何使用它们来编写程序。

2. 实践操作实践操作阶段是整个实训的重点和难点,主要包括以下几个方面的内容:(1)程序编写在实践操作过程中,老师为我们提供了多个练习题目,包括简单的判断语句、循环语句、数组等等。

我们需要通过编写代码来实现这些题目的要求,并进行调试修改,直到程序执行无误为止。

(2)实验报告为了让我们更好地掌握C语言的应用,老师还要求我们编写实验报告,记录我们在实践过程中遇到的问题和解决方案,以及程序设计的思路和实现过程。

通过编写实验报告,我们不仅可以更好地回顾和总结实践操作,还能提高我们的文字表达能力。

三、实训体会通过参加C语言实训,我对C语言的掌握更加深刻,不仅能灵活运用其语法和控制语句,还能熟练使用其常用函数和数据类型。

在实践操作中,我也锻炼了自己的程序设计和调试能力,并学会了一些解决问题的方法和技巧。

同时,我也认识到了C语言编程并不是简单的代码拼接,要求我们具备较强的逻辑思维能力和耐心,只有不断地进行练习和思考,才能在C语言编程中达到自己的目标。

四、总结通过C语言实训,我不仅掌握了C语言的基础知识和应用技巧,还培养了自己的创新思维和问题解决能力。

在未来的学习和工作中,我会继续学习和应用C语言,不断提升自己的编程水平,并为计算机行业的发展做出自己的贡献。

C语言实训报告 1

C语言实训报告 1

C语言实训报告 1
本次C语言实训完满结束,我有获益良多。

首先,我掌握了C语言的语法规则,对C
语言的函数编写获得了更深的了解,并且学会了使用C语言编写程序实现数据输入输出、
数据处理及程序控制等功能。

其次,实训过程中我进行了大量实际练习,更加熟练了C语言程序设计的基本方法,
学会了像for循环、while循环、if-else 选择等程序控制结构,能够熟练编写程序实现
相应的功能。

此外,我还学会了使用函数实现封装,能够将功能模块化,将控制流程和数据表示分
离开来。

从而提高程序复用性,在一定程度上降低了编程复杂性。

再者,本次实训还帮助我学习了编程的算法,比如排序算法、搜索算法、分治方法等,深刻理解了它们之间的区别和联系,从而能够在某一特定场景下,采用正确的算法解决问题。

最后,本次实训强化了我的训练,中调整了并发的思维,使我更加灵活的选择开发语言,能够更好的熟练掌握新语言,更准确的定义问题,更便捷的处理问题。

总的来说,本次C语言实训非常有益,我能够掌握C语言的许多技能,获得了彻底的
掌握,拓宽了我的编程能力,为今后更高水平的学习打下了坚实的基础。

c语言实训报告

c语言实训报告

C课程设计一、课程设计目旳《C语言课程设计》是信息类专业旳主要实践性课程。

目旳在于学习完《C语言程序设计》课程后进行旳一次全方面旳综合练习。

经过课程设计, 一方面能够结合课程旳教学内容循序渐进地进行设计方面旳实践训练, 另一方面, 在参加一系列子项目旳实践过程中, 还能提升怎样综合利用所学知识处理实际问题旳能力, 以及取得有关项目管理和团队合作等众多方面旳详细经验。

为后续课程: 面对对象程序设计、Visual C++, 数据构造, 软件工程, 软件技术基础等奠定必要旳实践基础。

设计目旳如下:1、进一步培养学生构造化程序设计旳思想, 加深对高级语言基本语言要素和控制构造旳了解。

2、针对C语言中旳要点和难点内容进行训练, 独立完毕有一定工作量旳程序设计任务, 同步强调好旳程序设计风格。

3.掌握C语言旳编程技巧和上机调试程序旳措施。

4.掌握程序设计中旳常用算法。

二、课程设计题目及要求1.基础训练题目1.1基础1.1.1写出下面程序旳输出成果。

1)#include <stdio.h>main( ){int x;x=-3+4*5-6;printf(“%d\n”,x);x=3+4%5-6; printf(“%d\n”,x);x=-3*4%4-6/5; printf(“%d\n”,x);x=(7+6)%5/2; printf(“%d\n”,x);}2) # include<stdio.h>main(){int x=5;int y=6;int z=7;printf(" %d\n %d\n %d\n %d\n %d\n %d\n %d\n",x>y,y>x,x!=y,x==z-2,x=x-2,x>=z,x<=z); }3 ) #include <stdio.h>main(){int x=0,y=-1,z=1;printf("%d,%d,%d,%d,%d,%d",x&&y,x||y,y&&z,y||z,x&y,x|y);}1.2顺序构造1)已知三角形旳底和高, 求三角形旳面积法一、#include <stdio.h>main(){float a,b;scanf("a=%f,b=%f",&a,&b);printf("MJ=%.2f",(a*b)/2.0);}法二、#include <stdio.h>main(){float a,b,s;scanf("a=%f,b=%f",&a,&b);s=a*b/2;printf("s=%.1f",s);}2)若已知某银行一年定时旳存款年利率, 输入存款额, 计算三年后本利之和并输出。

C语言实训报告14

C语言实训报告14

C语言实训报告14C语言实训报告14一、实训概述本次实训的主要目的是让学生通过实践提升对C语言的掌握和应用能力,加深对常用C语言语法的理解和运用。

实训内容包括编写C语言程序解决常见问题以及实现简单的算法。

二、实训过程1.实训准备在实训开始之前,我先对C语言的基本语法进行了复习,并在实训教材中找到了相关的实例,熟悉了各种C语言的语法和使用方法。

2.实训任务本次实训包括如下任务:1)编写一个程序,实现两个数的加法、减法、乘法和除法。

要求程序能够根据用户的输入进行相应的运算,并输出结果。

2)编写一个程序,实现对一个数组中的元素进行排序。

要求使用冒泡排序算法进行排序,并输出排序后的结果。

3)编写一个程序,实现对一个字符串中字符出现的次数进行统计,并输出统计结果。

4)编写一个程序,实现判断一个给定的年份是否为闰年。

要求通过用户输入年份,并根据判断结果输出相应的信息。

3.实训实现在开始编写程序之前,我先根据实训任务提供的要求,确定了程序的基本结构和功能。

然后,我根据实际需求,使用C语言的语法编写了相应的代码,并进行调试和测试,确保程序能够正常运行。

4.实训总结通过本次实训,我进一步提高了对C语言的熟练度和掌握程度。

我了解了C语言程序的编写流程和原理,并学会了如何使用C语言解决实际问题。

通过实践,我发现在编写程序的过程中,代码的编写顺序、语法的正确性以及算法的选择等都对最终的结果产生了重要的影响。

三、存在的问题与改进措施在实训过程中,我遇到了一些问题,主要包括:1)代码的错误:在编写程序的过程中,由于粗心和缺乏经验,导致了一些语法错误和逻辑错误。

我下次需要加强代码的检查和调试,提高代码的质量和可靠性。

2)算法的选择:在实现排序算法的过程中,我选择了冒泡排序。

然而,冒泡排序是一种时间复杂度较高的排序算法,在处理大量数据时会导致程序运行速度变慢。

下次我需要结合实际情况选择合适的排序算法。

为了改进以上问题,下次我会:1)加强对代码的检查和调试,确保代码的正确性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训专题报告题目:贪吃蛇游戏控制台应用及proteus 仿真的实现实训名称:专业技能实训班级:学号:学生姓名:指导教师:哈尔滨工程大学2016年02月10日哈尔滨工程大学本科生专业技能实训专题报告摘要随着计算机及通讯技术的迅猛发展,人们对小游戏的追求也越来越频繁,所以就有了本文的产生:编写C语言程序实现贪吃蛇游戏。

贪吃蛇游戏是一个深受人们喜爱的游戏,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键盘上的四个光标键控制蛇向上下左右四个方向移动,蛇头撞到食物,则表示食物被蛇吃掉,这时蛇的身体长一节,同时计10分,接着又出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体游戏结束。

作为一个完整的程序,必须考虑人机交流与用户体验。

游戏的界面不能太丑,更不能连个简单的界面都没有。

游戏应该有个比较漂亮的界面,在有必要硬件支持和软件的支持下,游戏开发者必须最大限度的使游戏美观。

游戏的美观是一方面,游戏的内在素质是另一方面。

一个游戏的优劣,最终由玩家决定。

在游戏与玩家见面之前,游戏开发者要设计一种让玩家投入的游戏模式,并且在一定的游戏规则下进行。

在实现C语言部分的设计后,我们也完成了在proteus的环境中实现仿真,将程序进行迁移扩展,来达到通过仿真也能实现在单片机模拟环境中进行游戏。

使得游戏更具有趣味性和新鲜感。

关键词:贪吃蛇;C语言;proteus仿真哈尔滨工程大学本科生专业技能实训专题报告1系统设计与算法分析1.1需求分析与系统总体设计根据课题所在项目的要求,需要开发出一款贪吃蛇小游戏,既能实现在控制台进行操作,同时也能将代码迁移到指定环境(protues仿真)中并实现相应的功能。

这个游戏是人们生活中不可或缺的,从小到大,真正伴随我们成长的东西,游戏占有着很重要的地位.不论是一个玩具,还是一个能和伙伴一起开心的小游戏,都是能给我们留下很多美好的回忆.所以不论是什么样的游戏,只要它能迎合人们内心的某种需求,它的市场总会是好的,而贪吃蛇就是这样一个深受人们喜爱的游戏。

一条蛇在密闭的围墙内,在围墙内随机出现一个食物,通过按键上的四个光标键控制向上下左右四个方向移动,蛇头撞到食物,则表示食物被吃掉,这时蛇身体长一节,同时计10分,接着又会随机的出现食物,等待被蛇吃掉,如果蛇在移动过程中,撞到墙壁或身体交叉蛇头撞到自己的身体则游戏结束。

结合以上分析,我们可以得到整个游戏的系统流程图,如图1.1。

1哈尔滨工程大学本科生专业技能实训专题报告2图1.1 系统流程图根据系统流程图,我们大致将游戏分为六个模块:开始界面模块、创建地图边界模块、创建食物模块、创建蛇模块、蛇移动控制模块和游戏结束模块。

下面会分别进行说明。

1.2 游戏开始与结束模块设计该模块为附加模块,不是主要模块,主要是为了增加游戏趣味性而设计。

这一部分是由一个组员提出的设想,由于不是很难,所以很快就完成了。

在该模块我主要是参与了控制台游戏开始和结束界面的编写,而仿真部分的界面则是由另一组员完成的。

控制台部分的开机界面比较简单,就是以默认创建好的地图为开机界面,而关机界面,我设计成了一个哭脸,在游戏失败后显示,并完成退回到主界面的操作。

protues 仿真部分的开机关机界面也很简单。

开机动画我们仿照了3D 贪吃蛇的开机哈尔滨工程大学本科生专业技能实训专题报告3界面,是一个萌萌的蛇头慢慢出现,吃掉“snake ”的字符,由此引导玩家进入游戏界面,如下图1.2.1;关机界面则在蛇头撞到边界或蛇头位置与蛇身重合时,游戏结束并弹出结束界面“游戏结束,别气馁 再来一次”。

由于单片机程序不同于控制台,故结束界面结束后会重新进入游戏。

如下图1.2.2所示。

由于控制台部分不是本次实训的重点,故而不做重点讲解。

图1.2.1 仿真部分开机截图哈尔滨工程大学本科生专业技能实训专题报告图1.2.2仿真部分关机截图1.3 食物与蛇的创建模块基于以上需求分析,也可以将核心拆解为两个部分:也就是食物与蛇。

为了便于理解,定义两个结构体:Food与snake。

表示食物和蛇的矩形都设计为10 X 10个像素单位,食物的基本数据域为它所出现的位置,用X和y 坐标表示,则矩形块用函数rectangle(x,y,x+10,y+10)或rectangle(x,y,x+10,y-10)可以画出。

由于每次只出现一个食物,而食物被吃掉后,才出现下一个食物,所以设定yes 表示是否要出现一个食物的变量。

蛇的一节身体为一个矩形块,这样表示每个矩形块只需起点坐标x和y。

身体是不断增长的,所以用数组存放每一节的坐标,最大设定为N=200 ,node表示当前节数。

另外还需要保存蛇移动方向的变量direction 和表示生命的变量 life ,一但life 为1,则蛇死,游戏结束。

所以程序功能的实现就是数组的操作。

第一部分是Food结构体的创建:#define N 200struct Food{int x; /* 食物的横坐标 */int y; /* 食物的纵坐标 */int yes; /* 判断是否出现食物的变量 */ } food; /* 食物的结构体 */4哈尔滨工程大学本科生专业技能实训专题报告第二部分是snake结构体的创建:struct snake{int x[N]; /* 蛇的横坐标 */int y[N]; /* 蛇的纵坐标 */int node; /* 蛇的节数 */int direction; /* 蛇移动方向 */int life; /* 蛇生命,0活着,1死亡 */ }snake;1.4创建地图边界模块游戏界面:用点表示墙壁边界,利用void write_dat(unsigned char dat)函数及void set_xy(unsigned char x,unsigned char y)函数和数组的结合对游戏边界进行初始化,并利用void write_hanzi(unsigned char x,unsigned char y,unsigned char code *dat)函数及void write_shuzi(unsigned char x,unsigned char y,unsigned char code *dat)函数对屏幕右侧得分、等级进行显示;由于这个模块我没有直接参与,所以不做过多的介绍。

1.5蛇移动控制模块用LCD屏右侧的四个开关LEFT、RIGHT、UP、DOWN控制蛇移动的方向, PAUSE开关控制游戏的暂停。

游戏初始等级为低级,随着分数的增加等级会升至中级、高级,根据等级给定相关食物的分数,每吃到一个食物加上相应分数,并在显示屏右侧显示得分和等级。

如下图1.5.1。

这一部分,我只负责蛇死亡的判定部分,在这里不做详细说明,详情在下面才测试5哈尔滨工程大学本科生专业技能实训专题报告部分再提及。

图1.5.1 蛇移动算法流程图2 系统实现与测试整个系统是在我们小组四个人的共同努力下完成的,所以下文的介绍也有所侧重,主要针对我个人完成的部分进行介绍。

2.1游戏功能的实现在这部分,我分别从主要功能、界面功能、操作功能三方面进行介绍。

2.1.1主要功能6哈尔滨工程大学本科生专业技能实训专题报告(1)进入游戏界面,在游戏过程随着蛇吃到食物的数量增加,游戏难度随之加大即蛇的行进速度变快。

(2)当游戏难度加大时,玩家等级增加,同时吃到食物的分值增加,显示器右侧的显示玩家得分和游戏等级情况。

2.1.2界面功能(1)在游戏界面有一个显示当前等级情况的窗口,方便用户来了解自己的等级。

(2)在游戏界面有一个显示当前得分情况的窗口,方便用户来了解自己的战绩。

2.1.3操作功能游戏的主要操作是UP、DOWN、LEFT、RINGT、PAUSE五个按钮,分别表示向上、下、左、右移动和游戏暂停。

2.2蛇移动模块的实现该模块主要以判定为主,首先要先判断,在蛇前进的四个方向上有没有食物,以向上为例:if (status == w){nexthead->x = head->x;nexthead->y = head->y - 1;if (nexthead->x == food->x && nexthead->y == food->y)//如果下一个有食物//eatFood(nexthead);else //如果没有食物//noFood(nexthead);}7哈尔滨工程大学本科生专业技能实训专题报告这样在四个方向分别进行判断后即可确定蛇的移动方向。

2.3蛇死亡方式的实现蛇的死亡方式分为两种:一种为咬到自身儿死亡;一种为撞到游戏边界(墙)而死亡。

下面分别进行介绍。

首先为咬到自身死亡,我设置为函数dead1():int dead1() //咬到自身死亡{snake * s0;s0 = head->next;while (s0 != NULL){if (s0->x == head->x && s0->y == head->y){return 1;}s0 = s0->next;}return 0;}然后是第二种死亡方式,撞墙而死,我设置为函数dead2():void dead2() //撞墙而死{if (head->x == 0 || head->x == length || head->y == 0 || head->y == height) {gameOver = 1;end();}}2.4等级模块的实现为了增加游戏的趣味性,我们给游戏设计了自带加速功能,每五个食物点为一个等级,依次设置低级、中级、高级的等级,每上升一个等级,贪吃蛇的行进速度就会加快,得到的分值也会有相应的递增(低级每吃到一个食物得1分,中级3分,高级6分),使用户享受更加刺激的体验。

这部分不是我一个人完成的,还有小组另一个人,我们两个共8哈尔滨工程大学本科生专业技能实训专题报告9同完成的。

最后实现的界面如下图2.4.1。

图2.4.1 游戏低、中、高等级截图3 结论两周的实训时间真的过得很快,在这么短的时间内,我的C 语言知识得到了温习,编程能力得到了很大幅度的提高,我觉得这次实习真的很重要,而且是恰逢其时,当然通过自己编程的过程,也有了一些心得:编程要的是正确的结果,体会的是艰辛的过程,收获的是好心情。

首先编程的时候你不能觉得这是一个繁琐的过程,在遇到出错的时候要有信心解决,不要害怕出错,不能忽略细节,尤其是对标点以及输入输出函数,要正确使用。

其次,编程要有一个扎实的知识储备,没把课本看好,没把例题看好,不会编出正确的程哈尔滨工程大学本科生专业技能实训专题报告序,同时,如果不多看程序,不断吸收别人的编程思想,就不会编出精彩的程序;当然也不能忽略与别人讨论与请教,在这过程中,我们可以相互交流编程想法,找到解决问题的最佳路径,这种团结协作的精神也是必须要有的。

相关文档
最新文档