zoukankan      html  css  js  c++  java
  • initData()

    void initData(){
    int i, j;

    //加载数据时让用户等待,一般情况加载数据比较快
    printf("游戏加载中,请稍后.........");

    //遍历地图中的数据
    for(i = 0; i < HEIGHT; i++){
    for(j = 0; j < WIDTH; j++){
    //遍历到2(人)时,记录人的坐标。x, y是前面定义的全局变量
    if(map[i][j] == 2){
    x = j;
    y = i;
    }
    //遍历到3时,箱子的数目增加。boxs是前面定义的全局变量
    if(map[i][j] == 3){
    boxs++;
    }
    }
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    这个方法很简单,就是遍历地图,然后初始化人的位置和箱子的个数。这里有一点要注意一下,就是到底内层循环是WIDTH还是外层循环是WIDTH。
    如图,在遍历过程中。外层循环控制行数,即HEIGHT。那么内层循环应该是WIDTH。

    3、drawMap()

    void drawMap(){
    int i, j;
    for(i = 0; i < WIDTH; i++){
    for(j = 0; j < HEIGHT; j++){
    switch(map[i][j]){
    case 0:
    printf(" ");
    break;
    case 1:
    printf("■");
    break;
    case 2:
    printf("♀");
    break;
    case 3:
    printf("◆");
    break;
    case 4:
    printf("●");
    break;
    case 5:
    printf("★");
    break;
    }
    }
    printf(" ");
    }
    }
    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
    27
    28
    这里也非常简单,变量map中的元素,然后通过switch判断应该输出的内容。然后内层循环每走完一次就换行。

  • 相关阅读:
    4K
    4J
    4C
    I2C总线的仲裁机制
    Linux C中strcpy , strncpy , strlcpy 的区别
    Linux下的USB总线驱动(一)
    C/C++ 语言中的表达式求值
    const变量通过指针修改问题
    关于协议栈XDATA,内存溢出的小结
    Ubuntu安装ssh,及失败解决方案
  • 原文地址:https://www.cnblogs.com/ly570/p/11661054.html
Copyright © 2011-2022 走看看