📄 screens.c
字号:
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<time.h>#include<sys/time.h>#include<unistd.h>#include"gamedefs.h"#include"gametty.h"#include"screens.h"#define RECTFILL1 "\x1b[0;47;30m┬"#define RECTFILL2 "\x1b[0;47;30m┴"#define RECTBOX "\x1b[1;46;33m▓"#define RECTBOXTARGET "\x1b[1;46;31m▓"#define TARGET "\x1b[1;46;32m·"#define WORKER "\x1b[1;46;31m♀"void _mvaddnstr(int y, int x, char * ptr, int len){ move(y,x); prints(ptr); move(y,x);}void target(int x, int y){ _mvaddnstr(y, x, TARGET, 2);}void worker(int x, int y){ _mvaddnstr(y, x, WORKER, 2);}void rectwall(int x, int y){ if ((x/2+y)&1) _mvaddnstr(y, x, RECTFILL1, 2); else _mvaddnstr(y, x, RECTFILL2, 2);}void rectbox(int x, int y){ _mvaddnstr(y, x, RECTBOX, 2);}void rectboxtarget(int x, int y){ _mvaddnstr(y, x, RECTBOXTARGET, 2);}void background(int x, int y){ _mvaddnstr(y, x, "\x1b[1;46m ", 2);}#if 0void gcharbox(int x, int y, int wid, int hei){ static char buf[256]; int i, j; if(x < 0 || x+wid >= 80) { x = 0; wid=80; } if(y < 0 || y+hei > 24) { x = 0; hei=24; } if(wid%2 != 0) wid--; for(j=0;j<wid;j++) { if(0 == j%2) sprintf(buf+j, "%s", RECTFILL); } buf[wid] = 0; for(i=y;i<y+hei;i++) { move(i, x); addstr(buf); }}void gcharrect(int x, int y, int wid, int hei){ static char buf[256]; int i, j; if(x < 0 || x+wid >= 80) { x = 0; wid=80; } if(y < 0 || y+hei > 24) { x = 0; hei=24; } if(wid%2 != 0) wid--; for(j=0;j<wid;j++) { if(0 == j%2) sprintf(buf+j, "%s", RECTFILL); } buf[wid] = 0; move(y, x); addstr(buf); move(y+hei-1, x); addstr(buf); for(j=2;j<wid-2;j++) buf[j] = ' '; for(i=y+1;i<y+hei-1;i++) { move(i, x); addstr(buf); }}void FoolWorker(void){ move(10, 5); addstr("这么久了还没成功! *(#&$)@(#*&$@("); sleep(1);}#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -