我写了一个简单的程序,要实现以下效果:
随机生成一个地形
然后我的程序就成这个样子了:
根据我的经验,我认为这是内存调用错误
可是我检查了一遍,好像数组的引用都没有超出设置的值啊
不知道各位能不能给我这个初学者解决一下问题呢
语言:C++
代码放上:
#include <cstdio>
#include <stdlib.h>
const char block=3;
char map[1024][64];
char screen[64][16];
int change[16]={-3,-2,-2,-1,-1,-1,0,0,0,0,1,1,1,2,2,3};
void init(){
int l,a;
l=rand();
l=l%65;
for(int i=l;i>=0;i++) map[0][i]=block;
for(int i=0;i<1024;i++){
a=rand();
a=a%16;
a=change[a];
l=l+a;
for(int j=l;j>=0;j--) map[i][j]=block;
}
for(int i=0;i<64;i++){
for(int j=0;j<16;j++) screen[i][j]=map[i][j];
}
return;
}
void show(){
for(int i=0;i<64;i++){
for(int j=0;j<16;j++) putchar(screen[i][j]);
}
return;
}
int main(){
init();
show();
return 0;
}