美文网首页我爱编程
C语言制作超级玛丽菜单模块源码分享

C语言制作超级玛丽菜单模块源码分享

作者: 凌云C语言游戏开发 | 来源:发表于2018-04-16 07:36 被阅读0次

    C语言是面向过程的,而C++是面向对象的                                                                                                                      C和C++的区别:

    C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

    C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

    C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

    超级玛丽菜单模块设计,switch使用,最终样式

    超级玛丽菜单模块设计,动态效果

    源码分享

    加载资源函数

    #include

    #include

    #include

    IMAGE beginImg;

    IMAGE menuBackground;

    IMAGE menuBlack;

    IMAGE gameOver;

    IMAGE beginGame;

    int width;

    int height;

    int countMenu = 1;

    void loadResourse()

    {

    loadimage(&beginImg, "beginImg.jpg");

    width = beginImg.getwidth();

    height = beginImg.getheight();

    loadimage(&menuBackground, "menubackgroud.jpg",30,30);

    loadimage(&menuBlack, "menuBlack.jpg",30, 30);

    loadimage(&gameOver, "gameOver.jpg", width, height);

    loadimage(&beginGame, "beginGameImg.jpg", width, height);

    }

    初始化界面

    void gameBeginUI()

    {

    putimage(0, 0, &beginImg);

    //测试位置

    putimage(170, 270, &menuBlack, SRCAND);

    putimage(170, 270, &menuBackground, SRCPAINT);

    //putimage(170, 312, &menuBlack, SRCAND);

    //putimage(170, 312, &menuBackground, SRCPAINT);

    }

    用户选择

    void userChoice()

    {

    ////方向键:上:72 下:80 左:75 右:77

    int choice = _getch();

    switch (choice)

    {

    //上

    case 72:

    case 80:

    if (countMenu == 1)

    {

    putimage(0, 0, &beginImg);

    putimage(170, 312, &menuBlack, SRCAND);

    putimage(170, 312, &menuBackground, SRCPAINT);

    countMenu = 2;

    }

    else

    {

    putimage(0, 0, &beginImg);

    putimage(170, 270, &menuBlack, SRCAND);

    putimage(170, 270, &menuBackground, SRCPAINT);

    countMenu = 1;

    }

    break;

    case 13:

    if (countMenu == 1)

    {

    putimage(0, 0, &beginGame);

    Sleep(3000);

    exit(0);

    }

    else

    {

    putimage(0, 0, &gameOver);

    Sleep(3000);

    exit(0);

    }

    break;

    }

    }

    主函数

    int main()

    {

    loadResourse();

    initgraph(width, height);

    gameBeginUI();

    while (1)

    {

    userChoice();

    }

    getchar();

    closegraph();

    return 0;

    }

    好了今天的分享就到这里结束了,谢谢大家

    相关文章

      网友评论

        本文标题:C语言制作超级玛丽菜单模块源码分享

        本文链接:https://www.haomeiwen.com/subject/dpkskftx.html