一起talk C栗子吧(第八十二回:C语言实例--简单

页面导航:首页 > 软件编程 > C 语言 > 一起talk C栗子吧(第八十二回:C语言实例--简单

一起talk C栗子吧(第八十二回:C语言实例--简单

来源: 作者: 时间:2016-01-15 10:00 【

各位看官们,大家好,今天是平安夜,首先祝各位看官圣诞节快乐,同时也感谢各位看官对本章回体小说的关注。还是那句老话,闲话休提,言归正转。让我们一起talk C栗子吧!我们今

各位看官们,大家好,今天是平安夜,首先祝各位看官圣诞节快乐,同时也感谢各位看官对本章回体小说的关注。还是那句老话,闲话休提,言归正转。让我们一起talk C栗子吧!

我们今天说的例子和前面的内容没有联系,我们今天准备做一个简单的圣诞树,就算是我给大家的圣诞礼物吧。我们制作圣诞树时使用了curses库,这样方便在窗口中描绘简单的图形。curses库是Linux上一个简单的图形库,我在其它的博客中简单介绍过curses库,如果有哪位看官对curses库不了解,可以点击这里进行查看,以便对curses库有个简单的了解。

下面是制作圣诞树的步骤,请大家参考

1.初始化屏幕; 2.描绘圣诞树的最顶层; 3.接着描绘下一层,该层的坐标比上一层的大一些; 4.重复上一个步骤,我们描绘了6层。层数越多,圣诞树越大,大家可以依据自己需要,定制层数; 5.描绘树干; 6.刷新屏幕; 7.释放屏幕相关的资源。

下面是我们写的代码,请大家参考:

void show()
{
    initscr();

    move(1,10);          // show the top layer
    printw("%c",'/');
    move(1,11);
    printw("%c",'\\');

    move(2,9);          // show the next layer
    printw("%c",'/');
    move(2,12);
    printw("%c",'\\');

    move(3,8);          // show the next layer
    printw("%c",'/');
    move(3,13);
    printw("%c",'\\');
    move(3,7);          // put the gift on the tree
    printw("%c",'@');
    move(3,14);
    printw("%c",'*');

    move(4,7);          // show the next layer
    printw("%c",'/');
    move(4,14);
    printw("%c",'\\');
    move(4,6);          // put the gift on the tree
    printw("%c",'*');
    move(4,15);
    printw("%c",'@');

    move(5,6);          // show the next layer
    printw("%c",'/');
    move(5,15);
    printw("%c",'\\');

    move(6,5);          // show the bottom layer
    printw("%c",'/');
    move(6,16);
    printw("%c",'\\');

    mvvline(5,10,'|',5);

    move(20,20);

    refresh();
    sleep(1);
    endwin();
}

看官们,我们对上面代码中的一些细节进行说明

我们描绘圣诞树每层的内容时,先使用move把光标移动到相应的位置,然后在该位置使用printw函数输出一个符号来表示圣诞树的枝干。我们同时使用该方法在圣诞树上添加了一些“礼物”,代码中使用符号“@”和“*”表示。

描绘圣诞树的树干时使用了mvvline函数直接画出树干。

整个圣诞树呈金字塔形状,因此,大家可以计算出其中的坐标来,我就不详细说明了。

下面是程序的运行结果,请大家参考。(这是个静态图形,大家可以运行程序,圣诞树会闪动起来)
这里写图片描述

为了创建闪动的效果,我们使用偏移的方法描绘圣诞树。下面是具体的代码:

    for(i=0; i<9; ++i)
    {
        if(i%2 == 0)
            show();
        else
            print();
    }

在代码中show先描绘一次圣诞树,然后把圣诞树的坐标整体向右偏移一位,使用print再次描绘圣诞树。如此反复,就实现了闪动的效果。

看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里使用。编译程序的时候需要使用使用l参数链接curses库,具体命令是:

gcc ChristmasTree.c -o s -lcurses

各位看官,关于简单圣诞树的例子咱们就说到这里,欲知后面还有什么例子,且听下回分解 。最后,再次祝大家圣诞节快乐!


Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<