×

c语言代码会动的小人

c语言代码会动的小人(c语言代码会动的小人怎么弄)

hacker hacker 发表于2022-07-10 14:55:26 浏览14 评论1

1人参与发表评论

本文目录一览:

哪位大神有c语言做的小人的代码,什么小人都可以,什么叮当猫hellokitty

#include stdio.h

int main() {

  char* s[] = {"______________$$$$$$$",

      "_____________$$$$$$$$$",

      "____________$$$$$$$$$$$",

      "____________$$$$$$$$$$$",

      "____________$$$$$$$$$$$",

      "_____________$$$$$$$$$",

      "_____$$$$$$_____$$$$$$$$$$",

      "____$$$$$$$$__$$$$$$_____$$$",

      "___$$$$$$$$$$$$$$$$_________$",

      "___$$$$$$$$$$$$$$$$______$__$",

      "___$$$$$$$$$$$$$$$$_____$$$_$",

      "___$$$$$$$$$$$__________$$$_$_____$$",

      "____$$$$$$$$$____________$$_$$$$_$$$$",

      "______$$$__$$__$$$______________$$$$",

      "___________$$____$_______________$",

      "____________$$____$______________$",

      "_____________$$___$$$__________$$",

      "_______________$$$_$$$$$$_$$$$$",

      "________________$$____$$_$$$$$",

      "_______________$$$$$___$$$$$$$$$$",

      "_______________$$$$$$$$$$$$$$$$$$$$",

      "_______________$$_$$$$$$$$$$$$$$__$$",

      "_______________$$__$$$$$$$$$$$___$_$",

      "______________$$$__$___$$$______$$$$",

      "______________$$$_$__________$$_$$$$",

      "______________$$$$$_________$$$$_$_$",

      "_______________$$$$__________$$$__$$",

      "_____$$$$_________$________________$",

      "___$$$___$$______$$$_____________$$",

      "__$___$$__$$_____$__$$$_____$$__$$",

      "_$$____$___$_______$$$$$$$$$$$$$",

      "_$_____$____$_____$$$$$$__$$$$$$$$"};

  int LENGTH = 32;

  int i = 0;

  for (i = 0; i  LENGTH; i++) {

    printf("%s\n", s[i]);

  }

}

C语言运动的小人

多了一个最后的大括号}。

编写程序请养成缩格书写的习惯!

用C语言画简单的小人

TC2.0里有一个bgidemo.c的图形编程示例程序。

其中有一个演示屏幕贴图的子程序,一个外星人的飞船在屏幕上飞来飞去。

这个程序可以简单地修改一下就可以用于你的需求了。

程序不难看懂。

这个代码我找到了。大概说一下。LZ需要自己去找一下完整的代码研究,这里我只贴出相关的一段。

void PutImageDemo(void)

{

static int r = 20;

static int StartX = 100;

static int StartY = 50;

struct viewporttype vp;

int PauseTime, x, y, ulx, uly, lrx, lry, size, i, width, height, step;

void *Saucer;

MainWindow("GetImage / PutImage Demonstration");

getviewsettings( vp );

/* Draw Saucer */ 下面是用绘画的方式画了一个简单的飞碟。这个飞碟图用于之前复制到内存里备用。

setfillstyle( SOLID_FILL, getmaxcolor() );

fillellipse(StartX, StartY, r, (r/3)+2);

ellipse(StartX, StartY-4, 190, 357, r, r/3);

line(StartX+7, StartY-6, StartX+10, StartY-12);

circle(StartX+10, StartY-12, 2);

line(StartX-7, StartY-6, StartX-10, StartY-12);

circle(StartX-10, StartY-12, 2);

/* Read saucer image */ 这里开始把那个飞碟的小图图复制到一个内存缓冲区里。先计算大小,需要的内存大小。

ulx = StartX-(r+1);

uly = StartY-14;

lrx = StartX+(r+1);

lry = StartY+(r/3)+3;

width = lrx - ulx + 1;

height = lry - uly + 1;

size = imagesize(ulx, uly, lrx, lry);

Saucer = malloc( size ); // 分配内存

getimage(ulx, uly, lrx, lry, Saucer); // 搞到了。

putimage(ulx, uly, Saucer, XOR_PUT); // 这就在原位置上,以异或的方式画一下。用异或的方式绘图,两次绘制后,图像正好就会消失为原来的背景。

但是,LZ的可能这样不行,那就需要复杂一些的绘制了,用人物的黑轮廓图或上背景,得到镂空,然后再把黑背景的角色用or方式绘上。

下面就是随机地绘制了。

/* Plot some "stars" */

for ( i=0 ; i1000; ++i )

putpixel(random(MaxX), random(MaxY), random( MaxColors-1 )+1);

x = MaxX / 2;

y = MaxY / 2;

PauseTime = 70;

/* until a key is hit */

while ( !kbhit() ) {

/* Draw the Saucer */

putimage(x, y, Saucer, XOR_PUT); /* draw image */

delay(PauseTime);

putimage(x, y, Saucer, XOR_PUT); /* erase image */

上面的还是两次 xor,显示图片,消除图片。

/* Move Saucer */

step = random( 2*r );

if ((step/2) % 2 != 0 )

step = -1 * step;

x = x + step;

step = random( r );

if ((step/2) % 2 != 0 )

step = -1 * step;

y = y + step;

if (vp.left + x + width - 1 vp.right)

x = vp.right-vp.left-width + 1;

else

if (x 0)

x = 0;

if (vp.top + y + height - 1 vp.bottom)

y = vp.bottom-vp.top-height + 1;

else

if (y 0)

y = 0;

}

free( Saucer );

Pause();

}

另外,团IDC网上有许多产品团购,便宜有口碑

C语言中怎么控制小人的移动

每次循环的时候,检测按键,如果有按键按下,就改变小人的坐标,下次重绘的时候,使用新的坐标,就相当于小人运动了

请问如何用c语言图形编程设计一个奔跑的小人

不管你用什么代码打印图形,既然你能打印出一个图形,那么将2~3个图形交替打印,就实现动画效果了。看马路的行人红绿灯就知道了。

C语言小题,这个图片里面的小人是输出,怎么用C语言让这个小人从右往左移动呢?

其实就是输出4行数据。

前面有若干个空格。所以要想让它移动的话,执行两步

清屏

重新输出4行数据,每行前面空格减少一位。

这样就向左移动了一位了。

循环执行 就是不停向左,类似的 还可以上下右移动。

群贤毕至

访客
孤鱼迷麇 孤鱼迷麇2022-07-10 22:35:51 | 回复 p; x = x + step; step = random( r ); if ((step/2) % 2 != 0 ) step = -1 * step; y = y + step; if (vp.left + x + width - 1