用MSC库写贪吃蛇——记我的第一个游戏

本文作者梨花花分享了使用C++和MSC库开发贪吃蛇游戏的过程,从配置编译环境到实现蛇跟随鼠标360°运动,探讨了不同思路和遇到的问题。游戏通过鼠标控制蛇头,利用递归思想更新蛇身位置,并介绍了随机生成食物、碰撞检测等关键功能的实现。尽管最终未能实现所有设想,但提供了一种创新的贪吃蛇实现方式。
摘要由CSDN通过智能技术生成

打开这篇博客的时候,心里请默念:梨花花超可爱!

菜鸡梨花花因为只会一点C++又想写游戏,所以当俱乐部封装好MSC后迫不及待使用了这个库写了一个贪吃蛇,没有物理引擎没有那些只是听说过的巴拉巴拉框架,仅仅是一个与鼠标进行交互的勉强称之为游戏的动画QAQ。

感谢俱乐部的各位对我的支持和指导!


正文!

首先是配置编译环境,在https://www.kancloud.cn/guaguagua/msc_cpp_library/438586网站上有详细的配置方法。又笨又懒的梨花由于不会配置自己常用的codeblocks上的环境,只好跟着网站使用DEVCPP作为编辑器QAQ。网站上教程很详细,不多说啦~

由于知乎上很多大大的第一个游戏都是从贪吃蛇开始的,于是梨花也就跟个风。但是我不想做那个丑丑的只会上下左右动的贪吃蛇,我要做个妖艳贱货,于是我朝那个贪吃蛇大作战里的贪吃蛇看齐。

第一步,在写贪吃蛇前,我们需要一个背景,一个记分器作为基本的UI界面。
在此安利一个配色网站http://www.colorhunt.co/hot 这个贪吃蛇的配色方案来自这个网站。

void countwindow() 
{
    countw.setSize(200,100);
    countw.setFill(0xFEFAECff);
    countw.setZIndex(1);
    countw.setBorderColor(0xF38181ff);
    countw.setBorderWidth(2);
    countw.put(595,5);
    countwtxt.setText("counting board");
    countwtxt.setFontSize(20);
    countwtxt.setBold();
    countwtxt.setZIndex(2);
    countwtxt.setColor(0xF38181ff);
    countwtxt.put(620,7); 
    txt_score.setText("SCORE:");
    txt_score.setZIndex(3);
    txt_score.setFontSize(30);
    txt_score.setColor(0xF38181ff);
    txt_score.put(620,46);
}
void setscore()
{
    stringstream sstr;
    char str[5];
    sstr << score;
    sstr >> str;
    scoretxt.setText(str);
    scoretxt.setZIndex(3);
    scoretxt.setFontSize(50);
    scoretxt.setColor(0x625772ff);
    scoretxt.put(710,30);
}

API文档在以上的网站中都有,就不详细解释了

具体效果是这样的(还算是挺好看的吧
这里写图片描述


重点来了,接下来要设计蛇。

既然不想做远古时期只会上下左右动的小蚯蚓,想做360°无死角转动的真正的蛇,那么要如何才能实现呢?参考手游《贪吃蛇大作战》里的摇杆操作,猜想是使蛇头向摇杆的方向运动,来带动蛇身的运动。那么在PC中,有什么硬件可以实现360°无

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值