#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int clamp(int n,int min,int max){
int rnv = n;
if(n >= min){
if(n <= max) rnv = n;
else rnv = max;
}
else rnv = min;
return rnv;
}
void map_generator(int w, int h) {
int world[h][w];
for(int i = 0;i < h;i++) for(int j = 0;j < w;j++) world[i][j] == 0;
int cx = w/2, cy = h/2;
int cnt = 0;
while(cnt < 30) {
cnt++;
switch(cdir) {
case 0: cy--; break;
case 1: cx++; break;
case 2: cy++; break;
case 3: cx--; break;
}
cx = clamp(cx, 0, w-1);
cy = clamp(cy, 0, h-1);
printf("cx : %d cy : %d\n",cx
,cy
); world[cy][cx] = 1;
for(int i = 0;i < h;i++){
for(int j = 0;j < w;j++){
if(world
[i
][j
] == 1) printf("■"); }
}
}
for(int i = 0;i < h;i++){
for(int j = 0;j < w;j++){
if(world
[i
][j
] == 1) printf("■"); }
}
}
int main(void) {
int width = 10, height = 8;
map_generator(width,height);
return 0;
}
ICAgICNpbmNsdWRlIDxzdGRpby5oPgogICAgI2luY2x1ZGUgPHN0ZGxpYi5oPgogICAgI2luY2x1ZGUgPHRpbWUuaD4KICAgIAogICAgaW50IGNsYW1wKGludCBuLGludCBtaW4saW50IG1heCl7CiAgICAJaW50IHJudiA9IG47CiAgICAJaWYobiA+PSBtaW4pewogICAgCQlpZihuIDw9IG1heCkgcm52ID0gbjsKICAgIAkJZWxzZSBybnYgPSBtYXg7CiAgICAJfQogICAgCWVsc2Ugcm52ID0gbWluOwogICAgCXJldHVybiBybnY7CiAgICB9CiAgICAKICAgIHZvaWQgbWFwX2dlbmVyYXRvcihpbnQgdywgaW50IGgpIHsKICAgIAlpbnQgd29ybGRbaF1bd107CiAgICAJZm9yKGludCBpID0gMDtpIDwgaDtpKyspIGZvcihpbnQgaiA9IDA7aiA8IHc7aisrKSB3b3JsZFtpXVtqXSA9PSAwOwogICAgCWludCBjeCA9IHcvMiwgY3kgPSBoLzI7CiAgICAJaW50IGNkaXIgPSByYW5kKCkgJSAzOwogICAgCWludCBjbnQgPSAwOwogICAgIAogICAgCXdoaWxlKGNudCA8IDMwKSB7CiAgICAJCWNudCsrOwogICAgCQlzd2l0Y2goY2RpcikgewogICAgCQkJY2FzZSAwOgljeS0tOyBicmVhazsKICAgIAkJCWNhc2UgMToJY3grKzsgYnJlYWs7CiAgICAJCQljYXNlIDI6CWN5Kys7IGJyZWFrOwogICAgCQkJY2FzZSAzOgljeC0tOyBicmVhazsKICAgIAkJfQogICAgCQljeCA9IGNsYW1wKGN4LCAwLCB3LTEpOwogICAgCQljeSA9IGNsYW1wKGN5LCAwLCBoLTEpOwogICAgCQlwcmludGYoImN4IDogJWQgIGN5IDogJWRcbiIsY3gsY3kpOwogICAgCQl3b3JsZFtjeV1bY3hdID0gMTsKICAgIAkJZm9yKGludCBpID0gMDtpIDwgaDtpKyspewogICAgCQkJZm9yKGludCBqID0gMDtqIDwgdztqKyspewogICAgCQkJCWlmKHdvcmxkW2ldW2pdID09IDEpIHByaW50Zigi4pagIik7CiAgICAJCQkJZWxzZSBwcmludGYoIuKWoSIpOwogICAgCQkJfQogICAgCQkJcHJpbnRmKCJcbiIpOwogICAgCQl9CiAgICAJCWNkaXIgPSByYW5kKCkgJSAzOwogICAgCX0KICAgIAkKICAgIAlmb3IoaW50IGkgPSAwO2kgPCBoO2krKyl7CiAgICAJCWZvcihpbnQgaiA9IDA7aiA8IHc7aisrKXsKICAgIAkJCWlmKHdvcmxkW2ldW2pdID09IDEpIHByaW50Zigi4pagIik7CiAgICAJCQllbHNlIHByaW50Zigi4pahIik7CiAgICAJCX0KICAgIAkJcHJpbnRmKCJcbiIpOwogICAgCX0KICAgIH0KICAgICAKICAgIGludCBtYWluKHZvaWQpIHsKICAgIAlpbnQgd2lkdGggPSAxMCwgaGVpZ2h0ID0gODsKICAgIAlzcmFuZCh0aW1lKE5VTEwpKTsKICAgIAltYXBfZ2VuZXJhdG9yKHdpZHRoLGhlaWdodCk7CiAgICAJcmV0dXJuIDA7CiAgICB9CiAgICAg