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判断应该输出的内容。然后内层循环每走完一次就换行。

  • 相关阅读:
    解决Ubuntu下gedit中文乱码
    Linux下安装Matlab软件
    3.5mm耳机/麦克接头
    IIS无法加载PHP.ini
    修改mysql用户密码
    dhtmlxgrid使用基础
    远程桌面“终端服务器超出了最大允许连接数”的解决
    MATLAB中格式化M文件注释
    MATLAB中使用Cell对M文件分节
    MATLAB下一些常用易忘命令
  • 原文地址:https://www.cnblogs.com/ly570/p/11661054.html
Copyright © 2011-2022 走看看