使用C语言做游戏时总结的经验

#include<cstdio>

//基础命令,必须有

#include<stdio.h>

//作用与上一个相同

#include<cmath>

//为了使用sqrt(),sin()等函数

#include<string>

//为了使用字符串功能 

#include<ctime>

//为了使用time()函数获取精确到秒的时间

#include<time.h>

//作用与上一个相同

#include<sys/time.h>

//为了使用gettimeoftoday()函数获取精确到毫秒的时间

#include<stdlib.h>

//为了使用rand()函数获取一个0~32767之间的随机数

#include<graphics.h>

//为了使用图形绘制功能

MOUSEMSG msg;

//用来使用GetMouseMsg()函数获取鼠标状态

time_t timep;

//用来获取精确度为秒的时间 

struct timeval t1;

//用来获取微秒精度时间 

void show()

//用来显示

{

 char str[10];

//定义一个字符串,输出用 

 initgraph(600,480);

//设置区域大小,宽度在前 

 setorigin(0,0);

//设置原点位置,原点默认(0,0),向下向右为正

 setbkcolor(WHITE);

//设置背景颜色,默认黑色,可输入0~16777215的颜色代码

 cleardevice();

//清空屏幕 

 putpixel(4,7,RED);

//把第四行第七个颜色涂红,可输入0~16777215的颜色代码

 setfillcolor(RED);

//把默认绘图填充颜色变红 

 setcolor(WHITE);

//把默认绘图线条颜色变白

 circle(40,50,30);

 //以(40,50)为中心画半径30的圆形,采用默认的白色

 fillcircle(100,50,20);

//画实心圆,线条用默认白色,填充用默认红色

 settextstyle(20,10,"仿宋");

//设置输出文字的字体,和字的宽度高度 

 settextcolor(WHITE);

//设置输出文字的颜色 

 setbkmode(TRANSPARENT);

//设置字体背景透明 

 outtextxy(150,20,"测试");

//以(150,20)为左上角输出“测试”

 strcpy(str,"abc");

//把str的内容变为abc 

 str[3]='3';

//把str编号为3的元素变为字符“3”

 str[4]=0;

//把str编号为4的元素变为终止符

 outtextxy(150,50,str);

//输出“abc3" 

void go()

{

 int t,x,y,r;

 char str[10];

 long long t2,t3;

 BeginBatchDraw();

//利用双缓存,防闪屏,需与末尾配合

 if(MouseHit())

//如果鼠标有操作,那么执行

 {

  t=time(&timep);

//获取以秒为单位的时间

  gettimeofday(&t1,NULL);

//把微秒精度时间赋值给结构体t1

  t2=t1.tv_sec;

//应该与t相同

  t3=t1.tv_usec;

//六位整数,单位是微秒 

  msg=GetMouseMsg();

//获取鼠标信息 

  x=msg.x;

//获取鼠标x坐标

  y=msg.y;

//获取鼠标y坐标

  putpixel(x,y,BLUE);

//把鼠标所在像素变蓝

  r=rand()%10+11;

//获取一个11到20的随机数

  circle(x,y,r);

//以鼠标为圆心,画一个半径随机11~20的圆形

  if(msg.mkLButton)

//如果按下了左键

  {

   str[0]=t/10-10*(t/100)+'0';

//获取时间的十位

   str[1]=t%10+'0';

//获取时间个位

   str[2]=0;

//通过赋值0截断 

   settextcolor(YELLOW);

//设置输出文字的颜色 

   outtextxy(x,y,str);

//鼠标位置输出时间后两位 

  } 

 }

 EndBatchDraw();

//利用双缓存,防闪屏,需与开头配合 

}

int main()

//主函数,里面应该简洁 

{

 show();

//执行初始化操作 

 while(1)

 {

  go();

//不断运行 

  Sleep(2);

//等待2毫秒 

 }

 return 0;

}

//以上你学到了:

//1.如何打开画图界面,设置大小,设置背景颜色,设置原点位置 ,如何清空 

//2.如何给单像素赋予颜色,如何画各种颜色的空实心圆形

//3.如何给一个字符串赋值,并输出,如何输出不同大小颜色字体的文字,数字 

//4.如何获取鼠标信息,随机数,不同精度的时间信息

//5.一个死循环程序最基本的结构,以及如何延时和防闪烁 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值