150.运动的小车动画

简介: 150.运动的小车动画
#include<time.h>
#include<stdlib.h>
#include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<math.h>
#define step 10
#define R 10
main()
{
  int gdriver=9,gmode=2;
  static int startx=5;
  static int starty=100;
  int maxx,l=1,n=1;
  double dalta=20,angle;
  int size;
  void *image;
  /*registerbgidriver( EGAVGA_driver );*/ /*注册vga驱动*/
  initgraph(&gdriver,&gmode,"c:\\tc"); /*初始化图形界面*/
  cleardevice(); /*清除屏幕*/
  setbkcolor(BLUE); /*将背景色设置成蓝色*/
  size=imagesize(startx,starty,startx+60,starty+60); /*计算生成60×60个象素的图需要的字节数*/
  image=(unsigned char *)malloc(size); /*分配内存*/
  maxx=getmaxx(); /*获得屏幕显示x轴的最大值*/
  while(!kbhit()) /*如果没有按键就不停的循环*/
  {
    if(l==1) /*从左到右*/
    {
      n++;
      angle=-1*(n*step)/M_PI*180/R;
      if((int)(-1*angle)%360<dalta)
        angle-=dalta;
      if(n>(maxx-70)/step)
        l=0;
    }
    if(l==0) /*从右到左*/
    {
      --n;
      angle=-1*(n*step)/R/M_PI*180;
      if((int)(-1*angle)%360<dalta)
        angle-=dalta;
      if(n==1)l=1;
    }
    rectangle(startx+n*step,starty,startx+n*step+60,starty+40); /*画车厢*/
    pieslice(startx+n*step+15,starty+50,angle,angle-dalta,10); /*画轮上的小片扇形部分*/
    pieslice(startx+n*step+45,starty+50,angle,angle-dalta,10);
    setcolor(YELLOW); /*设置前景色为黄色*/
    setfillstyle(SOLID_FILL, YELLOW); /*设置填充模式为实填充,颜色为黄色*/
    circle(startx+n*step+15,starty+50,10); /*画车轮*/
    circle(startx+n*step+45,starty+50,10);
    circle(startx+n*step+15,starty+50,3);
    circle(startx+n*step+45,starty+50,3);
    getimage(startx+n*step,starty,startx+n*step+60,starty+60,image); /*获取当前的图片*/
    delay(100); 
    putimage(startx+n*step,starty,image,XOR_PUT); /*使用异或模式将图片显示上去*/
  }
  free(image);
  closegraph();
}
相关文章
|
人工智能 安全 Unix
Linux常用命令笔记大全(建议收藏!!)
Linux常用命令笔记大全(建议收藏!!)
298 0
|
存储 SQL Oracle
Seata 1.7.0 正式发布,大幅度提升稳定性
Seata 1.7.0 正式发布,大幅度提升稳定性
1181 93
|
11月前
|
域名解析 网络协议 数据安全/隐私保护
TCP/IP配置
【10月更文挑战第20天】TCP/IP配置
462 1
|
JavaScript
vue + element-ui + vue-clipboard2 实现文字复制粘贴功能与提示
1、在所在项目下安装插件 ```js npm install vue-clipboard2 --save ``` 2、在所在项目的index.js注入vue-clipboard2 ```js import VueClipboard from 'vue-clipboard2' Vue.use(VueClipboard) ``` 3、使用 ```html <div> <el-button size="mini" type="primary" icon="el-icon-copy-document" round class="copy-btn" v-clipboard:copy="要
304 2
|
数据采集 NoSQL 算法
布隆过滤器实战教程
布隆过滤器实战教程
261 1
布隆过滤器实战教程
|
Web App开发 JavaScript 前端开发
Electron V8排查问题之Chrome DevTools 的 Performance 工具的使用如何解决
Electron V8排查问题之Chrome DevTools 的 Performance 工具的使用如何解决
192 0
|
JavaScript 前端开发 API
js 运行机制(含异步机制、同步任务、异步任务、宏任务、微任务、Event Loop)
js 运行机制(含异步机制、同步任务、异步任务、宏任务、微任务、Event Loop)
166 0
|
供应链 API UED
逆向海淘代购案例解读:类似Pandabuy淘宝代购集运系统搭建攻略
逆向海淘模式下,Pandabuy式代购集运系统搭建涉及市场定位、供应链管理、平台开发与优化、支付物流及用户体验。系统提供丰富商品选择,集成多平台API,确保数据同步。关键点包括确定目标用户,建立稳定供应链,优化网站与支付流程,合作可靠物流,并提供客服支持以提升用户满意度。通过这样的攻略,可构建一站式跨境购物解决方案。
|
存储 运维 Kubernetes
基于ACK One注册集群轻松实现云上云下K8s集群统一管理
基于ACK One注册集群轻松实现云上云下K8s集群统一管理
|
数据库 C#
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
263 0