WPF学习笔记-推箱子(1)
学习了一段时间WPF顺便做些小东西同时也熟悉下学到的知识。下来就做一个简单的小游戏---推箱子。
首先分析下推箱子的基本信息:
1:地图信息
包括每张地图的基本信息,初始位置,箱子数量,箱子位置,目标位置,障碍物位置。
2:行为逻辑
包括基本的移动判断,是否可以响应移动;碰撞判断,判断是否胜利,箱子是否可以移动。
首先就来分析地图信息这一块的基本要素
/// <summary> /// 地图信息类 /// </summary> internal class MapInfo { /// <summary> /// 地图点信息 /// </summary> public List<Map_Node> MapNodes = new List<Map_Node>(); /// <summary> /// 障碍物信息 /// </summary> public List<Locate> BoxLocates = new List<Locate>(); /// <summary> /// 目标点信息 /// </summary> public List<Locate> Targets = new List<Locate>(); private Locate _herolocate = new Locate(); /// <summary> /// 猪脚位置 /// </summary> public Locate HeroLocate { get { return _herolocate; } set { _herolocate = value; } } /// <summary> /// 地图宽度 /// </summary> public int MapSize_X { get; set; } /// <summary> /// 地图宽度 /// </summary> public int MapSize_Y { get; set; } } /// <summary> /// 地图点类型 /// </summary> internal class Map_Node { #region Field private Node_Type _type; private int _x; private int _y; #endregion Field #region Property /// <summary> /// 地图点类型 /// </summary> public Node_Type Type { get { return _type; } set { _type = value; } } /// <summary> /// 地图点X坐标 /// </summary> public int X { get { return _x; } set { _x = value; } } /// <summary> /// 地图点Y坐标 /// </summary> public int Y { get { return _y; } set { _y = value; } } #endregion Property } /// <summary> /// 坐标类 /// </summary> internal class Locate { private int x; public int X { get { return x; } set { x = value; } } private int y; public int Y { get { return y; } set { y = value; } } } /// <summary> /// 地图点类型枚举 /// </summary> public enum Node_Type { Blank = 0, //空白,可通行 Obstacle = 1,//障碍物 Hero = 2,//猪脚 Box = 3//箱子 };
如上,一张地图包括这些基本信息:
地图大小
障碍物信息
目标点信息
主角位置

浙公网安备 33010602011771号