Skip to content

Commit dabc8f1

Browse files
committed
Hide cursur in Zff
1 parent 2579b22 commit dabc8f1

File tree

3 files changed

+72
-4
lines changed

3 files changed

+72
-4
lines changed

defines.hpp

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#include <stdio.h>
2+
//清屏
3+
#define CLEAR() printf("\033[2J")
4+
5+
// 上移光标
6+
#define MOVEUP(x) printf("\033[%dA", (x))
7+
8+
// 下移光标
9+
#define MOVEDOWN(x) printf("\033[%dB", (x))
10+
11+
// 左移光标
12+
#define MOVELEFT(y) printf("\033[%dD", (y))
13+
14+
// 右移光标
15+
#define MOVERIGHT(y) printf("\033[%dC",(y))
16+
17+
// 定位光标
18+
#define MOVETO(x,y) printf("\033[%d;%dH", (x), (y))
19+
20+
// 光标复位
21+
#define RESET_CURSOR() printf("\033[H")
22+
// 隐藏光标
23+
#define HIDE_CURSOR() printf("\033[?25l")
24+
25+
// 显示光标
26+
#define SHOW_CURSOR() printf("\033[?25h")
27+
28+
//清除从光标到行尾的内容
29+
#define CLEAR_LINE() printf("\033[K")
30+
//反显
31+
#define HIGHT_LIGHT() printf("\033[7m")
32+
#define UN_HIGHT_LIGHT() printf("\033[27m")
33+
34+
//设置颜色
35+
#define SET_FRONT_COLOR(color) printf("\033[%dm",(color))
36+
#define SET_BACKGROUND_COLOR(color) printf("\033[%dm",(color))
37+
//前景色
38+
#define FRONT_BLACK 30
39+
#define FRONT_RED 31
40+
#define FRONT_GREEN 32
41+
#define FRONT_YELLOW 33
42+
#define FRONT_BLUE 34
43+
#define FRONT_PURPLE 35
44+
#define FRONT_DEEP_GREEN 36
45+
#define FRONT_WHITE 37
46+
47+
//背景色
48+
#define BACKGROUND_BLACK 40
49+
#define BACKGROUND_RED 41
50+
#define BACKGROUND_GREEN 42
51+
#define BACKGROUND_YELLOW 43
52+
#define BACKGROUND_BLUE 44
53+
#define BACKGROUND_PURPLE 45
54+
#define BACKGROUND_DEEP_GREEN 46
55+
#define BACKGROUND_WHITE 47

zff

0 Bytes
Binary file not shown.

zff_main_en.cpp

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
// #include <unistd.h>
5656
// #include <fcntl.h>
5757
#include "getkeyboard.cpp"
58+
#include "defines.hpp"
5859
using namespace std;
5960

6061
int display_log = 0;
@@ -155,13 +156,17 @@ string name;
155156

156157
int win ()
157158
{
159+
//SHOW_CURSOR();
158160
putlevel(level+1);
159161
system("clear");
160162
int rcc = rand() % 6;
161163
printf(" %s! Your new level is: %d\n Play again? [Again : Enter / quit : q ]\n",winok[rcc],level+1);
162164
while(1){
163165
int r=check(keyboard());
164-
if(r==9)return 0;
166+
if(r==9){
167+
SHOW_CURSOR();
168+
return 0;
169+
}
165170
else if (r==1||r==2||r==3||r==4||r==27||r==-1)continue;
166171
else if(r==13)return 1;
167172
else{
@@ -297,7 +302,10 @@ int game(){
297302
if(fx==hx&&fy==hy){
298303
return win();
299304
}
300-
system("clear");
305+
//system("clear");
306+
MOVETO(1,1);
307+
//printf (" User %s, level %d", name, level);
308+
cout << " Login as " << name << ", level is " << level << ". Good luck!\n";
301309
printf (" %s\n", rce);
302310
strcpy(rce,"");
303311
for(int i=1;i<=n;i++){
@@ -314,6 +322,7 @@ int game(){
314322
cout<<endl;
315323
}
316324
printf("\n Use 'UP''DOWN''LEFT''RIGHT' to contral 'H' to catch 'F'\n Press 'R' to restart game\n Press 'Q' to quit game\n");
325+
MOVETO(1,1);
317326
int r=check(keyboard());
318327
// printf("%d\n",r);
319328
// sleep(1);
@@ -327,7 +336,7 @@ int game(){
327336
return 0;
328337
}
329338
if(r!=1 && r!=2 && r!=3 && r!=4 && r!=0 && r!=27){
330-
system("clear");
339+
//system("clear");
331340
//printf("%s",ebox[4]);
332341
strcpy(rce,ebox[4]);
333342
//printf("%d",r);
@@ -337,7 +346,7 @@ int game(){
337346
}
338347
if(r>0&&r<5){
339348
//move
340-
system("clear");
349+
//system("clear");
341350
if(hx+nx[r]<=1||hx+nx[r]>n-1||hy+ny[r]<=1||hy+ny[r]>n-1){
342351
//printf("%s", ebox[1]);
343352
strcpy(rce,ebox[1]);
@@ -447,7 +456,10 @@ void start_game(){
447456
level=getlevel();
448457
fx=n-1,fy=n-1,hx=2,hy=2;
449458
field[2][2]=5,field[n-1][n-1]=6;
459+
HIDE_CURSOR();
450460
if(game()==1)start_game();
461+
RESET_CURSOR();
462+
SHOW_CURSOR();
451463
}
452464
/*
453465
@@ -475,6 +487,7 @@ void findpalse(){
475487

476488
void goodbye(){
477489
system("clear");
490+
SHOW_CURSOR();
478491
//system ("rm -rf ~/.local/share/ohzff-zff && mv zffcc ~/.local/share/ohzff-zff");
479492
printlogo();
480493
printf("\n Exit Zff game.\n");

0 commit comments

Comments
 (0)