设置密码

验证码错误,请重新填写

免费建站旅程马上开始

开始建站
建站中

已有帐号?直接登录

首页>森动学院>网站建设教程 > 【C语言设计教程】第1课.坦克结构保存方法
【C语言设计教程】第1课.坦克结构保存方法
发布时间: 2014-07-03
很多编程的朋友都会做一些小游戏来玩玩,下面小编要讲的这个C语言设计教程也是一个爱编程的朋友写的一个坦克游戏,可能描述得不够准确。话说做一个控制台的坦克游戏,用二维数组来保存坦克结构太浪费了,所以打算用二进制的方式来保存,大家学起来吧!

画出来的效果图如下:


 
#include <stdio.h>

int main()
{
        int t, i, j;
        int tank[4] = {189, 378, 243, 414};
        
        for(j=0; j<4; j++)
        {
                t=tank[j];
                for(i=0; i<9; i++)
                {
                        if( t& ( 0x100 >> i ) ){
                                printf("▓");
                        } else {
                                printf("  ");
                        }
                        if( (i+1)%3 == 0 ) printf("n");
                }
                printf("nn");
        }
        return 0;
}
复制代码
坦克大小3*3,假如用二维数组,就需要 int tank[3][3]。如果用一个整形数的最后9位来表示,一个坦克只需要用一个int数就能保存了。

189 是向上的坦克,189的二进制数是 10111101  他的后面九位就是 010111101
每三个二进制一行,如下:
010
111
101

是不是很像上图中的第一个图案? 

t& ( 0x100 >> i )  这个语句就是 判断每一位是否为0  如果为0 就输出空格。

以此类推,画出了 四个方向的坦克。



文章来源:森动网小鱼儿,转载请注明出处!