C语言绽尽之“#”
目录
- 开头
- 程序
- 程序的流程图
- 程序的效果
- 结尾
开头
大家好,我叫这是我58。
程序
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <Windows.h>
char strmap[19][19] = { 0 };
void printmap(char strmap[19][19]) {int i = 0;int ia = 0;const char strco[6][4] = { "1;1","3","2;1","6;1","6","5;1" };for (; i < 19; i++) {for (ia = 0; ia < 19; ia++) {printf("\033[3%sm%c\033[0m", strco[rand() % 6], strmap[i][ia]);}printf("|\n");}printf("-------------------@");
}
enum WASD {N,W,A,S,D
};
typedef struct jin {enum WASD w;unsigned char cx:5;unsigned char cy:5;
}jin;
jin jarrp[9999999] = { {W,9,9} };
void del(char strmap[19][19], jin* jp, jin* jpa) {strmap[jp->cx][jp->cy] = ' ';*jp = *(jpa - 1);jpa->w = N;
}
void loop(char strmap[19][19], jin* jp, int isz, int* ipa, int* ipc) {int i = 0;int ia = 0;for (; i < 19; i++) {for (ia = 0; ia < 19; ia++) {if ('#'==strmap[i][ia]) {goto g;}}}
g:if (19 == i && 19 == ia) {memset(jp, 0, isz);strmap[9][10] = '#';//因为往上移动会偏移jp->cx = 9;//因为往上移动会偏移jp->cy = 10;//因为往上移动会偏移jp->w = W;*ipa = 2;*ipc = 0;}
}
int main() {int i = 0;int ib = 0;int ia = 2;int ic = 0;memset(strmap, ' ', sizeof strmap);srand((size_t)time(NULL));jin* jpa = jarrp;for (;;ib++) {jin* jp = jarrp;for (; jp->w; jp++) {;}jpa = jp;for (jp = jarrp; jp->w; jp++) {if (ib % 2) {//动switch (jp->w) {case W:jp->cy--;break;case A:jp->cx--;break;case S:jp->cy++;break;case D:jp->cx++;break;default:break;}}else {if (!(jp->cx) || 18 == jp->cx || !(jp->cy) || 18 == jp->cy) {//尽del(strmap, jp, jpa);}else {//绽if (jp == jpa) {break;}for (i = 0; i < 4; i++) {(jp + i + (ia > 1 ? 1 : ia) + ic)->cx = jp->cx;(jp + i + (ia > 1 ? 1 : ia) + ic)->cy = jp->cy;(jp + i + (ia > 1 ? 1 : ia) + ic)->w = ((enum WASD)(i + 1));}ic += 4; ia--;}}}for (jp = jarrp; jp->w; jp++) {strmap[jp->cx][jp->cy] = '#';}printmap(strmap);Sleep(100);system("cls");loop(strmap, jarrp, sizeof jarrp, &ia, &ic);for (jp = jarrp; jp->w; jp++) {strmap[jp->cx][jp->cy] = ' ';}}return 0;
}//绽/尽 --> 动 --> 绽/尽 --> ...
程序的流程图
程序的效果
绽尽之“#”
结尾
你觉得我做的这个程序好吗?如果不好,就可以评论一下来告诉我做的这个程序不好的原因吧。
