⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spr1.c

📁 在以前公司DOS环境下
💻 C
字号:
/*spriteget.c*/
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#include<math.h>
#include<conio.h>
#include"svgacc.h"

void main()
{
 int i,colr,xinc,yinc,x1,y1,x2,y2,cntx,cnty,rot;
 RasterBlock *gfxblk,*gfxblk2,*spritebkgnd;
 whichvga();
 res800();
 xinc=maxx/20;
 yinc=maxy/20;
 x1=maxx/2-xinc+150;
 y1=maxy/2-yinc+50;
 x2=maxx/2+xinc+150;
 y2=maxy/2+yinc+50;
 i=(x2-x1+1)*(y2-y1+1)+4;
 gfxblk=(RasterBlock *)malloc(i);
 if(!gfxblk){
    restext();
    printf("error:Allocating memory for gfxblk:%d bytes\n",i);
    exit(1);
   }
   colr=1;
   for(i=0;i<=maxx/2;i+=1)
    {
     /* drwbox(1,colr,maxx/4+i,maxy/2-60,maxx/4+60+i,maxy/2+60);*/
    drwcircle(1,colr,maxx/4+i,maxy/2+i/2,maxy/6+i/2); 
    colr+=1;
    if(colr>110)
       colr=1;
    }
    drwbox(1,0,x1,y1,x2,y2);
    blkget(x1,y1,x2,y2,gfxblk);
    cntx=(x2-x1)/2+x1;
    cnty=(y2-y1)/2+y1;
    fillarea(x1+2,y1+2,0,0);
    i=blkrotatesize(45,gfxblk);
    spritebkgnd=(RasterBlock *)malloc(i);
    if(!spritebkgnd){
       restext();
       printf("error:allocating memory for spritebkand:%d bytes\n",i);
       exit(1);
      }
    gfxblk2=(RasterBlock *)malloc(i);
    if(!gfxblk2){
       restext();
       printf("error:allocating memory for gfxblk2:%d bytes\n",i);
       exit(1);
    }
    blkget(x1,y1,x2,y2,spritebkgnd);
    setview(0,64,maxx,maxy);
    for(i=0;i<=360;i+=3){
      rot=blkrotate(i,1,gfxblk,gfxblk2);
      spriteput(SET,1,cntx-(spritebkgnd->width)/2,cnty-(spritebkgnd->height)/2,spritebkgnd);
      spritegap(1,cntx-(gfxblk2->width)/2,cnty-(gfxblk2->height)/2,gfxblk2,spritebkgnd);
      sdelay(3);
    }
    spriteput(SET,1,cntx-(spritebkgnd->width)/2,cnty-(spritebkgnd->height)/2,spritebkgnd);
    blkput(SET,x1,y1,(RasterBlock *)gfxblk);
    getch();
    restext();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -