2016-04-21 51 views
1

我在Turbo C中編寫代碼。我畫了一個籃球場,我想在球場上移動一圈,當我這樣做時它會覆蓋並破壞球場。我怎樣才能在球場上移動這個圈子,仍然可以在場上看到球場而不會丟失?移動對象,覆蓋Turbo C中的背景

#include <stdio.h> 
#include <conio.h> 
#include <graphics.h> 
#include <stdlib.h> 
#include <dos.h> 

void Init() 
{ 
int gd=DETECT , gm , ErrorCode; 
initgraph(&gd , &gm , "c:\\TURBOC3\\BGI"); 
ErrorCode=graphresult(); 
if(ErrorCode != grOk) { 
printf("Graph Error: %s" , grapherrormsg(ErrorCode)); 
getch(); 
exit(1); 
} 
} 

void main() 
{ 
int i; 
Init(); 

rectangle(1,1,460,478); // drowing base lines 
rectangle(2,2,459,477); // drowing base lines 
line(3,239,458,239); // drowing half court line 
line(3,238,458,238); // drowing half court line 
circle(227,238,35); // drowing midile circle 
circle(227,238,34); // drowing midile circle 
circle(227,9,5); // drowing rim 1 
circle(227,470,5); // drowing rim 2 
line(205,476,249,476); // drowing basket board 1 
line(205,475,249,475); // drowing basket board 1 
line(205,3,249,3); // drowing basket 2 
line(205,4,249,4); // drowing basket 2 
rectangle(180,1,275,70); // drowing paint 1 

rectangle(180,408,275,477); // drowing paint 2 

line(177,10,180,10); // drowing paint line B1 
line(177,20,180,20); // drowing paint line B1 
line(177,30,180,30); // drowing paint line B1 
line(177,40,180,40); // drowing paint line B1 
line(177,50,180,50); // drowing paint line B1 
line(275,10,278,10); // drowing paint line B1 
line(275,20,278,20); // drowing paint line B1 
line(275,30,278,30); // drowing paint line B1 
line(275,40,278,40); // drowing paint line B1 
line(275,50,278,50); // drowing paint line B1 

line(177,430,180,430); // drowing paint line B2 
line(177,440,180,440); // drowing paint line B2 
line(177,450,180,450); // drowing paint line B2 
line(177,460,180,460); // drowing paint line B2 
line(177,470,180,470); // drowing paint line B2 
line(275,430,278,430); // drowing paint line B2 
line(275,440,278,440); // drowing paint line B2 
line(275,450,278,450); // drowing paint line B2 
line(275,460,278,460); // drowing paint line B2 
line(275,470,278,470); // drowing paint line B2 

arc(227,70,180,360,48); // drowing arc B1 
arc(227,1,180,360,140); // drowing 3 point line B1 
arc(227,410,0,180,48); // drowing arc B2 
arc(227,477,0,180,140); // drowing 3 point line B2 
line(500,1,500,500); // drowing chares for fans 
line(535,1,535,530); // drowing chares for fans 
line(570,1,570,560); // drowing chares for fans 
line(605,1,605,590); // drowing chares for fans 

for(i=0; i<500; i+=12) // for loop drowing fans 
{ 
circle(515 , 5+i , 2); 
line(507,5+i,513,5+i); 
line(510,4+i,513,1+i); 
line(510,4+i,513,9+i); 
line(506,4+i,504,1+i); 
line(506,4+i,504,9+i); 
circle(550 , 5+i , 2); 
line(542,5+i,548,5+i); 
line(545,4+i,548,1+i); 
line(545,4+i,548,9+i); 
line(541,4+i,539,1+i); 
line(541,4+i,539,9+i); 
circle(585 , 5+i , 2); 
line(577,5+i,583,5+i); 
line(580,4+i,583,1+i); 
line(580,4+i,583,9+i); 
line(576,4+i,574,1+i); 
line(576,4+i,574,9+i); 
circle(620 , 5+i , 2); 
line(612,5+i,618,5+i); 
line(615,4+i,618,1+i); 
line(615,4+i,618,9+i); 
line(611,4+i,609,1+i); 
line(611,4+i,609,9+i); 
} 

for(i=0; i<250; i++) 
{ 
    setcolor(WHITE); 
    circle(50+i,50,10); 
    delay(10); 
    setcolor(BLACK); 
    circle(50+i,50,10); 
    } 

getch(); 
closegraph(); 
} 

回答

0

您正在使用的系統沒有精靈或其他獨立對象在背景之上移動,因此您必須在每一幀都重繪整個場景。