Back.h
上传用户:kf1822
上传日期:2021-06-02
资源大小:2156k
文件大小:3k
源码类别:

游戏

开发平台:

Java

  1. /* 图形驱动象素为640x350 */
  2. #include "graphics.h"
  3. #include <stdlib.h>
  4. void initErectNodeY(int y[],int n)  /* 初始化所有竖节Y坐标 */
  5. {
  6.     int i,size=32;               /* 共有11节合成一个竖柱               */
  7.     y[0]=0;                      /* 节与节之间有2个象素点的间隔        */
  8.     for(i=1;i<n;i++)             /* 每个节30长高度  共有10个间隔       */
  9.     {                            /* 共20个象素点 加上11个节共330象素点 */
  10.         y[i]=size*i;             /* 刚好符合Y=350的屏幕规格            */
  11.     }
  12. }
  13. void drawErectNode(int y,int x)/*  画竖节 */
  14. {
  15.     setfillstyle(1,LIGHTBLUE);
  16.     bar(x,y,x+19,y+29);
  17. }
  18. void drawDoor()
  19. {
  20.     int i;
  21.     int x;
  22.     int y[11];
  23.     initErectNodeY(y,11);
  24.     for(i=0;i<11;i++)     /* 左墙 */
  25.     {
  26.         x=59;
  27.         drawErectNode(y[i],x);
  28.     }
  29.     for(i=0;i<11;i++)     /* 右墙 */
  30.     {
  31.         x=419;
  32.         drawErectNode(y[i],x);
  33.     }
  34. }
  35. typedef struct star
  36. {
  37.     int px;
  38.     int py;
  39.     int size;
  40.     int color;
  41. }stars;
  42. void drawStar(stars s)           /* 画星星 */
  43. {
  44.     setfillstyle(1,s.color);
  45.     setcolor(BLACK);
  46.     fillellipse(s.px,s.py,s.size,s.size);
  47. }
  48. void initStars(stars s[],int n)   /* 初始化星星 */
  49. {
  50.     int i;
  51.     for(i=0;i<n-25;i++)
  52.     {
  53.         s[i].px=rand()%53+3;
  54.         s[i].py=rand()%350;
  55.         s[i].size=rand()%2+1;
  56.         s[i].color=rand()%15+1;
  57.     }
  58.     for(i=25;i<n;i++)
  59.     {
  60.         s[i].px=rand()%199+441;/* px>440 && px<640 */
  61.         s[i].py=rand()%350;
  62.         s[i].size=rand()%2+1;
  63.         s[i].color=rand()%15+1;
  64.     }
  65. }
  66. void drawAllStars(stars s[],int n)  /* 画所有星星 形成星空 */
  67. {
  68.     int i;
  69.     for(i=0;i<n;i++)
  70.     {
  71.         drawStar(s[i]);
  72.     }
  73. }
  74. typedef struct Thorn    /* 刺的新类型 */
  75. {
  76.     int xy[3][2];
  77. }Thorn;
  78. void initThorn(Thorn t[],int n)
  79. {
  80.     int i;
  81.     int j;
  82.     int k;
  83.     int tempX=79;
  84.     int tempY=46;
  85.     for(i=0;i<n;i++)
  86.     {
  87.         for(j=0;j<3;j++)
  88.         {
  89.             if(j==1)
  90.                 tempX=tempX+10;
  91.             for(k=0;k<2;k++)
  92.             {
  93.                 if(j==2)
  94.                 {
  95.                     if(k==0)
  96.                         t[i].xy[j][k]=tempX-5;
  97.                     else
  98.                         t[i].xy[j][k]=tempY+15;
  99.                 }
  100.                 else
  101.                 {
  102.                     if(k==0)
  103.                         t[i].xy[j][k]=tempX;
  104.                     else
  105.                         t[i].xy[j][k]=tempY;
  106.                 }
  107.             }
  108.         }
  109.     }
  110. }
  111. void drawThorn(Thorn t[],int n)
  112. {
  113.     int i;
  114.     for(i=0;i<n;i++)
  115.     {
  116.         setfillstyle(1,RED);
  117.         setcolor(WHITE);
  118.         fillpoly(3,*(t+i)->xy);
  119.     }
  120. }