谁能帮助我把以下三段C语言动画程序翻译一下
来源:百度知道 编辑:UC知道 时间:2024/07/05 02:41:55
1.怎么让哪个正方形一步一步落下来.
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
int position[4][2];
square (int x,int y,int k)/*正方形*/
{
line(x,y,x+k,y);
line(x,y,x,y+k);
line(x+k,y,x+k,y+k);
line(x,y+k,x+k,y+k);
}
init() /*初始化*/
{
setcolor(5);
square(200,150,200);
}
shape( ) /*画图*/
{
int i,j;
setcolor(2);
for (i=0;i<4;i++)
square(position[i][0],position[i][1],10);
}
main()
{
int gdriver = DETECT , gmode;
int i,j;
initgraph(&gdriver, &gmode, "");
setbkcolor(3);
init();
position[0][0]=300; position[0][1]=150;
position[1][0]=310; position[1][1]=150;
position[2][0
已经基本搞定,如下:
#include <stdio.h>
#include <stdlib.h>
#include <graphics.h>
int position[4][2]; /* 定义位置全局变量,以便在不同函数中都可以调用 */
square (int x,int y,int k)/*正方形*/
{ /* 画正方形,要改变正方形的大小可以改变k的值 */
line(x,y,x+k,y);/* 画线,从点(x,y)到(x+k,y)画一条线段 */
line(x,y,x,y+k);/* 画线,从点(x,y)到(x,y+k)画一条线段 */
line(x+k,y,x+k,y+k);/* 画线,从点(x+k,y)到(x+k,y+k)画一条线段 */
line(x,y+k,x+k,y+k);/* 画线,从点(x,y+k)到(x+k,y+k)画一条线段 */
}/* 这样画好一个正方形 */
init() /*初始化*/
{
setcolor(5);/* 设置绘图色为洋红色MAGENTA(5) */
square(200,150,200);/* 用洋红色画正方形,正方形起点坐标为(200,150),边长为200,可更改 */
} /* 要改变正方形的大小可以改变square()里面最后一个参数的值 */
shape( ) /*画图*/
{
int i,j;
setcolor(2);/* 设置绘图色为绿色GREEN(2) */
for (i=0;i<4;i++) /* 在position指定的位置画正方形 */
square(position[i][0],position[i][1],10);/* 即从初始位置(300,150)开始画4个靠着的正方形,形成一个田字型 */
}
main()
{
int gdriver = DETECT , gmode;/* 设定图形驱