资源简介
本程序我起名叫做《危险地篮球》,是描绘一个小人在打篮球的时候,做扣篮、投球等一些动作时,有可能发生的危险。
1、首先由函数检测显示器后自动选择图形驱动器进行图形模式的初始化,增加了程序的可移植性。
2、程序总共366行代码,采用锯齿型的程序书写格式,使程序具有清晰的结构,增加了代码的可读性。
3、动画中的每一个动作都是由函数实现,基本做到了模块化的程序设计,并且这些函数在多个场景中多次调用,增加了代码的重用性,降低了程序的复杂性。查看详情
4、对动画的背景颜色、人物颜色、球架颜色和文字颜色使用了宏定义,增加了程序的可修改性和可维护性。
5、在不影响程序的可读性、执行效率和效果的前提下对代码进行压缩,使程序更加简洁,代码质量更高。
仅供学习参考使用
代码片段和文件信息
/*请将本程序在tc环境下运行,不要再wintc下运行,因为经试验发现wintc不支持图形模式下的字体设置*/
#include “graphics.h“
#define BKSE BLACK /*背景颜色*/
#define RWSE WHITE /*小人颜色*/
#define XTSE WHITE /*线条颜色*/
#define QJSE GREEN /*球架颜色*/
#define QSE WHITE /*球颜色*/
#define WZSE RED /*文字颜色*/
void csh(void); /*初始化函数*/
void wenzi(void); /*文字*/
void qj(int color); /*球架*/
void dz1(int xint yint color); /*动作1*/
void dz2(int xint yint color); /*动作2*/
void bd(int xint color); /*半蹲下,准备起跳*/
void kl(int color); /*扣篮动作*/
void qxl(void); /*球下落、反弹*/
void dqj(void); /*倒球架*/
void dr(int color); /*倒下的人*/
void djs(void); /*倒计时*/
void cj2(void); /*场景2*/
void ts(void); /*提示文字*/
main()
{
int ijxy;
csh();
x=getmaxx();
y=getmaxy();
setbkcolor(BKSE);
sleep(2);
wenzi();
cleardevice();
settextstyle(107);
setcolor(WZSE);
outtextxy(23030“NO.1“);
djs();
setcolor(XTSE);
line(0y/2+72xy/2+72);
qj(QJSE);
sleep(2);
for(x=0;x<600;x+=150) /*此循环让小人“跑起来“*/
{
dz1(xyRWSE);
for(i=0;i<10;i++)
delay(10000);
dz1(xyBKSE);
dz2(xyRWSE);
for(i=0;i<10;i++)
delay(10000);
dz2(xyBKSE);
}
bd(getmaxx()RWSE); /*半蹲下,准备起跳*/
sleep(1);
bd(getmaxx()BKSE);
kl(RWSE);
qxl();
qj(BKSE);
kl(BKSE);
dr(RWSE);
dqj();
sleep(2);
ts();
getch();
cleardevice();
setcolor(RED);
settextstyle(107);
outtextxy(23030“NO.2“);
djs();
cj2();
sleep(3);
cleardevice();
settextstyle(104);
setcolor(WZSE);
outtextxy(100100“So I never play basketball !“);
sleep(3);
outtextxy(200200“Thank you !“);
sleep(2);
outtextxy(130300“Press any key to exit“);
getch();
closegraph();
}
void csh(void)
{
int gdgm;
detectgraph(&gd&gm);
initgraph(&gd&gm““);
}
void wenzi(void)
{
int i;
settextstyle(104);
for(i=0;;++i)
{
setcolor(WZSE);
outtextxy(100i“Why I didn‘t play basketball ?“);
if(i>=80) break;
delay(3000);
setcolor(BKSE);
outtextxy(100i“Why I didn‘t play basketball ?“);
}
for(i=650;;--i)
{
setcolor(WZSE);
outtextxy(i150“Because it was too dengerous !“);
delay(100);
if(i<=100) break;
setcolor(BKSE);
outtextxy(i150“Because it was too dengerous !“);
}
sleep(2);
outtextxy(50250“Press any key to“);
sleep(1);
do
{
for(i=1;i<=10;i++)
{
settextstyle(10i);
setcolor(WZSE);
outtextxy(350220“look“);
delay(10000);
setcolor(BKSE);
outtextxy(350220“look“);
}
for(i=10;i>0;i--)
{
settextstyle(10i);
setcolor(WZSE);
outtextxy(350220“look“);
delay(20000);
setcolor(BKSE);
outtextxy(350220“look“);
}
}while(!kbhit());
}
void ts(void)
{
settextstyle(104);
setcolor(WZSE);
outtextxy(100400“Press any ke
- 上一篇:VC++串口操作的代码及文档
- 下一篇:基于C语言的流水灯设计
相关资源
- C语言封装的HttpClient接口
- qt处理图形
- basler相机图像采集和显示
- 交互式计算机图形学 第六版 OpenGL源代
- 图形学简单绘图系统
- 宠物管理系统课程设计(源码+数据库
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 8位竞赛抢答器的课程设计报告.docx
评论
共有 条评论