zoukankan      html  css  js  c++  java
  • 益智贪吃蛇 GreedySnakePuzzled【windows C++游戏源码】

    益智贪吃蛇 GreedySnake-Puzzled

    =============================================================

    2016.11.20更新:

    -关于源代码,很遗憾,这份游戏代码由于某些原因无法找到。这个游戏是我非常喜欢的一个游戏,可拓展性非常强。

    -本意是想今年再进行添加更有意思的功能以及维护,但发现源代码已经无从找到。只有一份课程性程序了:这里下载

    -所以,想看源码的朋友可能要失望了,如果感兴趣可以尝试一下反编译。今后我还会不定期的推出有意思的小游戏,敬请关注^_^

    ==========================================================

    题:很久之前就想写一个真正意义上的小游戏,但是由于各种原因没写,最终在大学生涯即将结束的几个月前赶上了些游戏的末班车。前一段时间在宿舍比较闲,于是决定把以前定下的小目标实现一下,思前想后,题材选定了以贪吃蛇游戏为游戏背景,加上一个linux游戏Enigma的创意,关于Enigma的介绍看这里,Enigma创意来源于各种小部件的组合,上千个物品和地图元素的组合地图可以模拟任何一种游戏模式,将这两个游戏元素结合起来,自己决定写一个益智贪吃蛇,人物主角是个小蛇,只不过游戏模式改变成一个益智类的游戏模式,下面介绍这个游戏的思路和代码。
    游戏程序可以从这里下载,note:游戏中还有很多bug没有修正,敬请原谅。。。


    游戏模式思路:游戏主要包括两个部分,一个是游戏引擎,二是游戏地图编辑器,本游戏的目的是将贪吃蛇游戏改造成一款益智类的游戏,玩家可以在传统贪吃蛇游戏的基础之上,通过解决游戏中每张地图设置的谜题和迷宫来达到过关的目的。例如一张推箱子的地图,将贪吃蛇和推箱子游戏结合起来,或者是敏捷类地题图。由于游戏的重点是益智类的,所以游戏地图的设置是最关键的地方,游戏本身提供了一些游戏元素,如各种地面和各种功能的触发器,至于如何组合这些元素使地图模拟出各种游戏模式并且增加可玩性,需要众多玩家和制作者的集思广益,通过不断创新从而制作出更加耐玩的地图,本游戏提供了一个游戏地图编辑器,玩家可以按照自己的意愿来制作游戏地图,一起大家分享。下面分别介绍游戏引擎和游戏地图编辑器,最后附上几张自己制作的几张不同游戏模式的地图。

    游戏引擎:主人公是一条小蛇,目标是过关的条件是吃到五角星,不过游戏中有一些元素,可以分为两类:地面类和触发器类。

    地面类:

     :普通地面。
     :钢墙,不可碰触。
     :砖墙,蛇在普通状态下不可碰触,但在无敌状态下可以把砖墙撞破。 
     :黑洞,不可在黑洞上行走,但是蛇在飞行状态下可以飞越黑洞而不受影响。
     :火焰,蛇头每次碰触火焰,蛇身的长度减一,但是当蛇身长度小于2,蛇将死亡。
     :冰面,蛇在冰面上不可改变方向,飞行状态下除外。
     :眩晕,蛇在此地面上将晕头转向,向着用户操作相反方向行走。
     :水面,蛇不可在水面上行走,但飞行状态下除外;另外,当蛇把箱子推到水面上时,箱子可以漂浮在水面上,从而蛇可以经过水面。

    触发器类:

     :苹果,消耗品,效果蛇身的长度加一。
     :无敌药水,消耗品,蛇处于一定的无敌状态,状态持续时间由无敌药水指定。
     :弹簧,固定触发器,蛇经过弹簧时,将会在下一状态处于飞行状态,从而可以飞越特定区域。
     :传送点,固定触发器,蛇将会被传送的另一传送点,位置由此触发器指定。
     :门,固定触发器,当蛇有钥匙时可以打开门。
     :钥匙,消耗品。
     :箱子,移动触发器,蛇可以推动箱子移动,但是不能推动两个或两个以上的箱子,箱子可以漂浮在水面上。
     : 眩晕,消耗品,蛇将处于眩晕状态,状态持续时间由触发器指定。
     :五星,固定触发器,蛇到达此触发器时,游戏将会被判定为胜利。 

    由以上游戏元素可以组成不同的游戏模式地图,具体模式还要靠地图制作者地想象能力才能发挥出最好的效果。

    地图编辑器:

    制作题图的核心程序,玩家可以通过地图编辑器来制作想要的地图, 每一个游戏元素都在题图编辑器中给出了,通过一般的鼠标操作可以轻松的绘制地图,玩家也可以随意更换地图元素的图片,但是要保证每张地图有个可达的五角星触发器,否则。。。。下面是地图编辑器界面:



    下面是几张不同模式的地图:
    1. map_Demo
      第一张demo地图,综合了各种元素,其中游戏界面最下方是物品栏,蛇吃到的物品及持续时间都会在物品栏中表出。


    2. map_IceRoad
    通过在大片冰面寻找可转向的地面来过关,同时注意吃掉苹果和火焰。


    3. map_Transform
    地图分为几个不同的房间,通过传送点可以进行传送,需要玩家一定的记忆力。


    4. map_PushBoxFace
    推箱子类地图,通过推箱子找到钥匙打开门,有bug。


    5. map_Brick
    对无敌药水和砖墙的应用。


    6. map_Maze
    类似迷宫地图,需要玩家的眼力较好,只有一条路是通向五角星的。


    7. map_Faint
    对眩晕效果的应用,眩晕时间在物品栏中表出。

    上面只是简单的几张地图,更多的地图可以玩家自己制作。

    关于游戏代码的解释暂时还未写,之后有空便会补上。

    本游戏由于制作的时间太短,还有许多bug没有修正。。。。。。

     想要代码的朋友可以联系,很乐意一起交流。

    NOTE:  欢迎大家一起制作更好玩的地图,一起分享交流!

  • 相关阅读:
    第四章作业
    第二章上机实验报告
    对二分法的理解和结对编程情况
    Mysql与sql server的列的合并
    C#中如何去除窗体默认的关闭按钮
    C# 实现WinForm窗口最小化到系统托盘代码,并且判断左右鼠标的事件
    running total sql 2012+
    Poqwe Pivot error
    事务
    ssis 导EXCEL ERROR
  • 原文地址:https://www.cnblogs.com/lvpengms/p/2071304.html
Copyright © 2011-2022 走看看