谁能帮助我把以下三段C语言动画程序翻译一下

来源:百度知道 编辑:UC知道 时间:2024/07/05 02:41:55
最近在高课程设计,老师要求最终要上交自己编写的C语言动画程序,并且要对所编程序进行解释翻译,而且有可能在个别地方要进行现场演示或者当场改动,我在网上搜到3个C语言动画程序,希望好心人能逐行对其进行翻译,并切在老师容易提出稍作现场改动的地方帮助我提示该怎样改动(比如原来向左,老师当场提出如何改为向右之类的),先谢谢您啦!!

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;/* 设定图形驱