Давай повеселимся, реализуй и выложи код который будет рисовать слоника по приложенным данным на своём любимом языке программирования ::) Можно выбрать и не слоника, а другое.
Программист из меня никакой и в качестве примера я нарисовал слоника из параллельной вселенной, уж точно не из нашей. А сможешь ли ты , да да именно ты нарисовать слоника? Или слабо :D
#include <stdio.h>
enum
{
UP,
DOWN,
LEFT,
RIGHT
};
static int elefan[28][2] = {
{RIGHT,2},{DOWN,6},{RIGHT,2},{UP,1},{RIGHT,1},{UP,1},
{RIGHT,1},{UP,1},{RIGHT,4},{DOWN,1},{RIGHT,1},{DOWN,3},
{RIGHT,7},{DOWN,1},{RIGHT,3},{DOWN,7},{LEFT,1},{DOWN,6},
{LEFT,3},{UP,1},{LEFT,2},{UP,1},{LEFT,1},{UP,2},{LEFT,2},
{UP,1},{LEFT,2},{UP,9}
};
static char surface [22][22];
char dot = '@';
char fon = '.';
int pose_x =0;
int pose_y =0;
int main(int argc, char *argv[])
{
/*create surface*/
for (int i = 0; i < 22; ++i)
{
for (int y = 0; y < 22; ++y)
{
surface[i][y]=fon;
};
};
/*paint elefan*/
for (int i = 0; i < 28; i++)
{
switch (elefan[i][0])
{
case UP: pose_x-=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case DOWN: pose_x+=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case LEFT: pose_y-=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
case RIGHT: pose_y+=elefan[i][1];
surface[pose_x][pose_y]=dot;
break;
default: break;
};
}
/*print elefan*/
for (int i = 0; i < 22 ; i++)
{
for(int y=0; y < 22; y++)
{
putchar(surface[i][y]);
putchar(fon);//correct surface cube
};
putchar('\n');
}
return 0;
}