-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMinesweeperUtils.java
More file actions
executable file
·89 lines (79 loc) · 3.42 KB
/
MinesweeperUtils.java
File metadata and controls
executable file
·89 lines (79 loc) · 3.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
import java.util.Scanner;
public class MinesweeperUtils {
public static Scanner sc = new Scanner(System.in);
public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_BLACK = "\u001B[30m";
public static final String ANSI_RED = "\u001B[31m";
public static final String ANSI_GREEN = "\u001B[32m";
public static final String ANSI_YELLOW = "\u001B[33m";
public static final String ANSI_BLUE = "\u001B[34m";
public static final String ANSI_PURPLE = "\u001B[35m";
public static final String ANSI_CYAN = "\u001B[36m";
public static final String ANSI_WHITE = "\u001B[37m";
public static final String ANSI_GREENLIGHT = "\u001B[92m";
public static final String ANSI_VIOLET = "\u001B[94m";
public static final String ANSI_BLUESOFT = "\u001B[0;49;34m";
public static final String ANSI_GREENSOFT = "\u001B[38;5;70m";
public static final String ANSI_BLACK_BACKGROUND = "\u001B[40m";
public static final String ANSI_RED_BACKGROUND = "\u001B[41m";
public static final String ANSI_GREEN_BACKGROUND = "\u001B[42m";
public static final String ANSI_YELLOW_BACKGROUND = "\u001B[43m";
public static final String ANSI_BLUE_BACKGROUND = "\u001B[44m";
public static final String ANSI_PURPLE_BACKGROUND = "\u001B[45m";
public static final String ANSI_CYAN_BACKGROUND = "\u001B[46m";
public static final String ANSI_WHITE_BACKGROUND = "\u001B[47m";
public static final String UNICODE_ANGLE_LEFT_TOP = "\u250C";
public static final String UNICODE_ANGLE_RIGHT_TOP = "\u2510";
public static final String UNICODE_ANGLE_LEFT_BOTTOM = "\u2514";
public static final String UNICODE_ANGLE_RIGTH_BOTTOM = "\u2518";
public static final String UNICODE_LINE_ORIZZONTAL = "\u2500";
public static final String UNICODE_LINE_VERTICAL = "\u2502";
public static final String UNICODE_ARROW_RIGHT = "←";
/**
* gli si passa i un range di valori che l'utente può inserire
*
* @param range [min, max], se -1 è illimitato
* @return
*/
public static int checkUserDigit(int[] range) { // -2 indica che c'è un infinito
int result = -1, min = range[0], max = range[1];
boolean isOkey = false;
do {
try {
result = Integer.parseInt(sc.nextLine());
if ((result >= min || min == -1) && (result < max || max == -1))
isOkey = true;
} catch (Exception e) {
}
if (!isOkey)
System.out.println(MinesweeperUtils.ANSI_RED + "Intero non valido!!" + MinesweeperUtils.ANSI_RESET);
} while (!isOkey);
return result;
}
/**
* gli si passa un range di Stringhe ammesse
*
* @param possibStrings
* @return
*/
public static String checkUserDigit(String[] possibStrings) {
String result;
boolean isOkey = false;
do {
result = sc.nextLine();
for (int i = 0; i < possibStrings.length; i++)
if (result.equals(possibStrings[i]))
isOkey = true;
if (!isOkey)
System.out.println(MinesweeperUtils.ANSI_RED + "Stringa non valida!!" + MinesweeperUtils.ANSI_RESET);
} while (!isOkey);
return result;
}
/**
* pulisce la console
*/
public static void clearTerminal(){
System.out.print("\033[H\033[2J");
System.out.flush();
}
}