zoukankan      html  css  js  c++  java
  • 代码实现

    关于代码方面,我尽可能讲的细致。希望大家可以理解~

    (1)方法列表

    //主函数
    void main();

    //初始化一些数据
    initData();

    //在控制台上打印地图
    drawMap();

    //向上移动
    moveUp();

    //向左移动
    moveLeft()

    //向下移动
    moveDown()

    //向右移动
    moveRight();
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    这几个方法都顾名思义,而且用意也非常明确,就initData可能不知道具体用处,但是没有什么大问题。唯一的问题就是,上左下右的顺序可能会逼死几个强迫症患者,哈哈。

    (2)参数列表

    为了方便,我把include和宏定义也放到参数列表当中

    //导入函数库
    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>

    //宏定义
    #define WIDTH 8
    #define HEIGHT 8

    //定义地图数组,二维数组有两个维度,而地图也是二维的矩形
    int map[HEIGHT][WIDTH] = {
    {0, 0, 1, 1, 1, 0, 0, 0},
    {0, 0, 1, 4, 1, 0, 0, 0},
    {0, 0, 1, 0, 1, 1, 1, 1},
    {1, 1, 1, 3, 0, 3, 4, 1},
    {1, 4, 0, 3, 2, 1, 1, 1},
    {1, 1, 1, 1, 3, 1, 0, 0},
    {0, 0, 0, 1, 4, 1, 0, 0},
    {0, 0, 0, 1, 1, 1, 0, 0}
    };

    //人的位置,在二维地图中,我们可以用坐标表示一个人的位置,就好比经纬度
    int x, y;

    //箱子的个数,推箱子肯定要有箱子嘛。
    int boxs;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    这里参数不多,其中横为x,纵为y,另外这里再规定一下map的一些东西:

    /**
    * 0 表示空
    * 1 表示墙
    * 2 表示人
    * 3 表示箱子
    * 4 表示目的地(http://www.amjmh.com)
    * 5 表示已完成的箱子
    */

  • 相关阅读:
    寻找回文数
    【C/C++语言入门篇】 位运算
    怎样判断输入是否结束
    命名那个数字
    Broken Necklace
    C#打造邮件接受器VS2005版
    C#应用程序打包时自动安装MSDE
    SQL6.5到2005发布的版本号搜集整理
    SQL无限分类存储过程整理2
    ASP.NET调用SWF代码文件
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11661047.html
Copyright © 2011-2022 走看看