• C语言实现贪吃蛇


     

    网易云课程链接:C语言贪吃蛇教程

    该教程是win32控制台的小游戏代码,只要学完C语言就可以用来作为项目练手,本篇博客主要会记录一些我不太熟悉或我认为有意义的内容

    教程关于游戏规则有一处Bug:在撞墙的瞬间改变方向蛇不会死,此处我在自己的代码中做了修改

    封面(封皮+音乐)

    #pragma comment(lib,"winmm.lib")是什么意思

    导入winmm.lib库,有了它才可以支持对windows 多媒体的编程

    #pragma 是一条编译器指令,是给告诉编译器你要链接一些东西,然后在后面的comment里面指明是什么东西

     

    使用播放文件的路径:

    PlaySound("10+往事只能回味.wav", NULL, SND_FILENAME | SND_ASYNC);

    使用播放文件资源ID:

    #include"resource.h"   双引号导入工程头文件(非系统头文件)

    PlaySound(MAKEINTRESOURCE(IDR_WAVE1), NULL, SND_RESOURCE | SND_ASYNC);
    

    此处注意把常量写左侧可避免少打一个等号(赋值报错),另需注意不要写成 “ ”,双引号表示常量字符串会返回首地址。

     

    显示背景、边框

    shift+Tab 向前缩进,不按Tab向后缩进

    随机蛇

    nX对应x坐标对应列,nY对应y坐标对应行

    参考:Visual Studio 2012 编译错误【error C4996: 'scanf': This function or variable may be unsafe. 】的解决方案

    声明 后运行正常

    蛇动起来

    利用枚举处理蛇头

    蛇随方向动

    常用的键盘读取函数

    getchar() //需要回车
    _getch()  //同步检测:每一步都需要输入,与实际情况相悖
    GetAsyncKeyState() //异步检测,直接侦測键盘的硬件中断。
    

      

    计分

     

    运行结果如图:

     具体代码已上传github:https://github.com/johnny161/C-Snake

  • 相关阅读:
    java中栈内存和堆内存的简单理解
    java中构造函数与一般函数的区别

    另一部漫画
    海边的卡夫卡
    11-12
    这篇大概值一百万吧
    我的千岁寒
    11-9
    嗯……………股票已经涨的我不想上班了
  • 原文地址:https://www.cnblogs.com/exciting/p/9271621.html
Copyright © 2020-2023  润新知