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 表示已完成的箱子
    */

  • 相关阅读:
    删除链表的倒数第N个节点(java实现)
    Java多线程之volatile关键字《一》
    Utils
    分布式和集群
    java RMIC
    Log4j输出终端(Appender)详解
    使用存储过程并返回值与及返回值的获得方法
    groupBy
    group by java实现
    本机Font字体
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11661047.html
Copyright © 2011-2022 走看看