?? readme- c03.txt
字號:
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
#define IMAGE_SIZE 10
void draw_image(int x,int y);
void Putstar(void);
main()
{
int graphdriver=DETECT;
int graphmode ,color;
void *pt_addr;
int x,y,maxx,maxy,midy,midx,i;
unsigned in size;
registerbgidriver(EGAVEA_driver);
registerbgifont(TRIPLEX_FONT);
initgraph(&graphdriver,&graphmode,"d:\tc\bgi");
maxx=getmaxx();/*取允許的最大x值*/
maxy=getmaxy();/*取允許的最大y值*/
midx=maxx/2;
x=0;
midy=y=maxy/2;
setcolor(YELLOW);
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,400,"AROUND THE WORLD");
setbkcolor(BLACK);
setcolor(RED);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
ellipse(midx,midy,130,50,160,30);
setlinestyle(SOLID_LINE,0,NORM_WIDTH);
draw_image(x,y);/*畫飛船*/
size=imagesize(x,y-IMAGE_SIZE,x+(4*IMAGE_SIZE),y+IMAGE_SIZE);
pt_addr=malloc(size);
getimage(x,y-IMAGE_SIZE,x+(4*IMAGE_SIZE),y+IMAGE_SIZE,pt_addr);
Putstar();/*畫星*/
setcolor(WHITE);
setlinestyle(SOLID_LINE,0,NORM_WIDTH);
rectangle(0,0,maxx,maxy);/*畫方框*/
while(!bkhit())
{
Putstar();
setcolor(RED);
setlinestyle(SOLID_LINE,0,THICK_WIDTH);
ellipse(midx,midy,130,50,160,30);
setcolor(BLACK);/*畫一個圍繞地球的光環(huán)*/
ellipse(midx,midy,130,50,160,30);
for(i=0;i<13;i++)
{
setcolor(i%2==0?LIGHTBLUE:BLACK);
ellipse(midx,midy,0,360,100,100-8*i);/*畫地球*/
setcolor(LIGHTBLUE);
ellipse(midx,midy,0,360,100-8*i,100);
}
putimage(x,y-IMAGE_SIZE,pt_addr,XOR_PUT);/*恢復(fù)原畫面*/
x=x>maxx?0:x+6;
putimage(x,y-IMAGE_SIZE,pt_addr,XOR_PUT);/*在另一 位置顯示飛船*/
}
free(pt_addr);/*釋放緩沖區(qū)*/
closegraph();
return;
}
void draw_image(int x,int y)/*畫飛船*/
{
int arw[11];
arw[0]=x+10;
arw[1]=y-10;
arw[2]=x+34;
arw[3]=y-6;
arw[4]=4+34;
arw[5]=y+6;
arw[6]=x+10;
arw[7]=y+10;
arw[9]=x+10;
arw[10]=y-10;
moveto(x-10,y-4);
setcolor(14);
setfillstyle(1,4);
linerel(-3*10,-2*8);/*畫尾部天線*/
moveto(x+10,y+4);
linerel(-3*10,-2*8);
moveto(x+10,y);
linerel(-3*10,0);
setcolor(3);
setfillstyle(1,LIGHTBLUE);
fillpoly(4,arw);/*畫飛船本體*/
}
void Putstar(void)
{
int seed=1858;
int i,dotx,doty,h,w,color,maxcolor;
maxcolor=getmaxcolor();/*得到當(dāng)前模式和最多顏色數(shù)*/
w=getmaxx();
h=getmaxy();
srand(seed);
for(i=0;i<250;++i)
{
dotx=i=random(w-1);
doty=1+random(h-1);
color=random(maxcolor);
setcolor(color);
putpixel(dotx,doty,color);/*用點表示小星*/
circle(dotx+1,doty+1,1);/*用圓表示大星*/
}
srand(seed);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -