C语言课程设计-运动的小车动画

XXX航空工业学院

课 程 设 计 报 告

课程设计名称:C语言课程设计

课程设计题目:运动的小车动画

院(系):计算机学院

专 业:网络工程

班 级:

学 号:

姓 名:

指导教师:

完成日期:2009年07月17日

目 录

第1章 需求分析1

1.1题目的内容与要求1

1.2开发工具1

1.3题目分析1

第2章 概要设计2

2.1总体结构2

第3章 详细设计3

3.1主函数模块3

2.2图形驱动模块3

2.3场景游戏模块4

3.4游戏过程模块5

3.5结束模块模块7

第4章 调试分析8

第5章使用说明9

参考文献11

附 录(程序清单)12

第1章 需求分析

1.1题目的内容与要求

内容:实现一个简单动画,屏幕背景为蓝色,画一简单小车。小车在屏中随意移动。

要求:

1)实现简单的游戏界面;

2)对小车运动进行控制;

3)熟练掌握基本的调试方法,并将程序调试通过;

4)采用VC环境进行调试运行。

1.2开发工具

操作系统:WindowsXP SP2。

硬件环境:CPUAMD3000+内存1G ,硬盘 120G。

软件环境:TurboC。

1.3题目分析

本程序首先分为四个模块即编写四个函数,主程序按顺序调用这四个函数最后掉用关闭图形系统函数,至此整个程序算是真正结束。题目程序设计思想分析是:先设置背景色和前景色,确定小车的初始位置和车头方向,画出小车,在没有按键的情况下,进入一个循环系统小车自动向前运动,直到撞墙,有按键的情况下,判断按键的性质确定车头的方向,计算小车的新坐标,进入另一个画车循环,一直循环,直到结束。

第2章 概要设计

2.1总体结构

本程序主要分为五个模块:主函数模块,图行驱动模块,场景游戏模块,游戏过程模块,结束模块。主函数模块实现函数调用。图行驱动模块对图行操作系统进行初使化。场景游戏模块建立简单的游戏界面。游戏过程模块画小车,并通过键盘控制小车的运动。结束模块关闭作图系统,结束程序(如图2.1)。

图2.1功能模块

1 主函数模块:本模块主要实现函数的调用,一共四个函数。

2 图行驱动模块:本模块主要是实现对图形系统进形初始化以及做出简单界面,设置屏幕背景颜色,还有显示游戏开始时的菜单。

3场景游戏模块:本模块主要是实现画出游戏界面,利用循环画出四面墙,屏幕背景为蓝色。

4游戏过程模块:本模块主要是实现画出初始小车及显示其位置,用swich-case()来控制小车的移动情况。

5结束模块:本模块主要是实现最后清屏以及关闭作图系统,显示游戏结束菜单。

第3章 详细设计

3.1主函数模块

控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块,实现各项功能,流程如图3.1所示。

图3.1 主模块流程图

主函数主要完成函数的调用,一共有四个函数:画图系统初始化函数,画开始游戏界面函数,游戏过程函数,关闭图形系统函数。

2.2图形驱动模块

此模块完成图形操做系统初始化,选择适配器,设置背景颜色及前景色,显示进入游戏界面,流程如图3.2所示。

图3.2 显示模块流程图

图形系统初始化:程序自动在当前选择适配器,背景色设为蓝色,前景色为白色,画四面墙为游戏开始界面,outtextxy()函数确定字符显示位置及其内容。

2.3场景游戏模块

此模块主要完成在完成图形初始化后画出游戏界面,该游戏界面为四面墙,屏幕背景为蓝色,画墙面用了两个for循环完成,流程如图3.3所示。

图3.3场景模块流程图

3.4游戏过程模块

此程序是本游戏的主体部分,主要完成游戏的运动过程,首先确定小车的位置和车头方向,接着在这个位置画小车,利用循环画小车,在没有按键情况下,进入画小车循环,直到小车撞墙结束整个程序。如果有按键则判断按键的数值,计算新的坐标,再判断小车头是否撞墙,如果撞墙则结束循环显示结束出结束界面的内容,如果不 撞墙则进入画小车循环,接着进入有没有按键的循环,直到整个程序结束为止。流程如图3.4所示。

图3.4游戏模块流程图

3.5结束模块模块

此模块主要完成关闭图形操作系统,流程如图3.5所示。

图3.5结束模块流程图

第4章 调试分析

问题1:由于在编源代码的时候我没有掌握好屏幕的坐标,导致小车画不出来,也答不到我想要的停止效果。

解决办法:我就采用尝试法修改错误,我的程序中有四个坐标,我就已次改变一个坐标,一次改变一点坐标的大小,最终完成了我想要的效果。

问题2:小

c语言实现两动画一自动一手控,C语言课程设计-运动的小车动画.doc相关推荐

  1. c语言编程小车动画,C语言课程设计运动的小车动画.doc

    C语言课程设计运动的小车动画 XXX航空工业学院 课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:运动的小车动画 院(系):计算机学院 专 业:网络工程 班 级: 学 号: 姓 名 ...

  2. c语言课程设计中小车运动,C语言课程设计_运动的小车动画.doc

    C语言课程设计_运动的小车动画 XXX航空工业学院 课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:运动的小车动画 院(系):计算机学院 专 业:网络工程 班 级: 学 号: 姓 ...

  3. c语言银行卡管理系统程序设计报告,《c语言程序设计》课程设计报告-职工信息管理系统.doc...

    <c语言程序设计>课程设计报告-职工信息管理系统.doc 还剩 24页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...

  4. 石头剪子布c语言课程设计,c语言课程设计报告石头剪子布.doc

    c语言课程设计报告石头剪子布.doc 题目:石头剪子布 专业: 班级: 学号: 姓名: 指导教师: 成绩: 设计日期:2010-7-5-2010-7-9 目录: TOC \o "1-5&qu ...

  5. c语言课程设计作业五子棋,C语言课程设计之五子棋小游戏.doc

    C语言课程设计之五子棋小游戏.doc C语言课程设计 题目名称:五子棋小游戏 氺氺木木木 专 业计算机类 班 级 *班 指导教师J22 编写日期2016.05.26 目录 TOC \o "1 ...

  6. c语言课程设计作业图书管理系统,C语言课程设计图书馆管理系统程序代码.doc

    C语言课程设计图书馆管理系统程序代码.doc includestdio.h includewindows.h includestring.h includeconio.h define M 100 s ...

  7. c语言课程设计自动取款机,C语言课程设计………银行自动存取款机模拟.doc

    C语言课程设计---银行自动存取款机模拟 作者:周鸣 需求分析: 本程序设计的任务为银行自助存取款机,程序要求实现atm机的基本功能,如 开户.查询.存款.取款.转账.容而生成操作日志. 概要设计: ...

  8. C语言程序设计简谐运动的模拟,C语言课程设计简谐振动实验的模拟.doc

    C语言课程设计简谐振动实验的模拟 <C语言程序设计> 课程设计报告 题 目简谐振动实验的模拟姓 名 学 号 同组人员 学 号 年级专业09电子信息工程(2)班指导教师 完成日期2010年6 ...

  9. c语言课程设计电影选座,C语言课程设计电影院座位分配(1).doc

    PAGE .. .. 电影院座位分配 一.目的 通过课程设计,加深对<C语言程序设计>课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括:数据类型(整形.实型.字符型.指针 ...

最新文章

  1. 手機電視挑戰傳統視聽習慣
  2. 做好数据分析必备的 5 种典型可视化图表 | 技能卡片 No.1
  3. 「Python」queue库简易教程
  4. strtok(), strtok_s() 字符串分割函数
  5. python 个人所得税问题_Python实现的个人所得税计算器
  6. Java运行机制和运行过程基础知识
  7. java frame_如何在java中建立frame
  8. 01.查找的基本概念
  9. .net使用正则表达式校验、匹配字符工具类
  10. Dubbo 分布式事务一致性实现
  11. 叉乘与空间曲线的切向量
  12. Backtrader量化回测8——手续费
  13. 【数智化案例展】某头部股份制银行总行——“数字化投顾”工作台
  14. php-模板方式模式实现
  15. C1认证之计算机通识知识及习题总结——我的学习笔记
  16. redis 入门+掌握
  17. SpringBoot实现12306自动抢票系统
  18. CanOpen学习笔记5-- CanFestival使用提示
  19. 麒麟系统开发笔记(九):在国产麒麟系统上搭建宇视摄像头SDK基础环境Demo
  20. 【Kubernetes】Kubeadm安装的K8s集群的版本升级过程测试(二)

热门文章

  1. Docker搭建Clickhouse集群
  2. linux内核快速倒车,初探Linux内核态——通过proc文件系统作快速问题定位
  3. 数组的Map方法详解
  4. #实验吧整理#他的情书
  5. 2020前端面试真题( HTML + CSS )
  6. 江民在线杀毒的用户名和密码
  7. 怎么旋转PDF文件的方向并保存成功
  8. 深入剖析docker核心技术(namespace、cgroups、union fs、网络)
  9. 操作系统中进程的五种状态与JAVA中线程的六种状态
  10. 二分图匹配及匈牙利算法的全面讲解及python实现