| Summary: | Garbled characters shown in user interface | ||
|---|---|---|---|
| Product: | River-Crossing-Puzzle-Solver | Reporter: | tsunychau2-c |
| Component: | UI | Assignee: | tsunychau2-c |
| Status: | RESOLVED FIXED | ||
| Severity: | critical | ||
| Priority: | High | ||
| Version: | v0.9.5 | ||
| Hardware: | PC | ||
| OS: | Mac OS | ||
|
Description
tsunychau2-c
2022-11-05 18:24:23 HKT
Way to Reproduce: 1. Run Main.java inside the folder (Puzzle.UI) 2. Input character "2" on the console and press enter. 3. Input character "1" on the console and press enter. Actual result: Please enter the number to select the mode: 1-Solver 2-One Player 2 Please enter the number to select the game level: 1-easy 2-hard 3-import custom rule json file path. 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The puzzle name: Farmer-tiger-sheep-grass The game rule: tiger eat sheep, but farmer can protect sheep. Sheep eat grass if farmer not around. Only farmer can drive the boat The game role: [farmer, tiger, sheep, grass] [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [1;36m. . . . . . . . . B o a t . . . . . . . . . [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [1;36m[ [1;36m ][0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;37m~ [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [0;32m= [1;33mfarmer [1;33mtiger [1;33msheep [1;33mgrass [0;37m --------------------------------------------------------------------------------------------------------- Please use the following command to take action: FULL NAME Choose a role on the boat side and Enter the full role name put the role to the boat 's' To start the boat 'e' To exit the program 'u' To undo the action if exist 'r' To redo the action if exist You command: Expect result: Please enter the number to select the mode: 1-Solver 2-One Player 2 Please enter the number to select the game level: 1-easy 2-hard 3-import custom rule json file path. 1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The puzzle name: Farmer-tiger-sheep-grass The game rule: tiger eat sheep, but farmer can protect sheep. Sheep eat grass if farmer not around. Only farmer can drive the boat The game role: [farmer, tiger, sheep, grass] = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ . . . . . . . . . B o a t . . . . . . . . . ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ [ ]~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = farmer tiger sheep grass --------------------------------------------------------------------------------------------------------- Please use the following command to take action: FULL NAME Choose a role on the boat side and Enter the full role name put the role to the boat 's' To start the boat 'e' To exit the program 'u' To undo the action if exist 'r' To redo the action if exist You command: Bug is confirmed. The reason is the missing of "AnsiConsole.systemInstall();"
Modification of code:
package Puzzle.UI;
import java.util.*;
import org.fusesource.jansi.AnsiConsole;
public class Main{
public static void main(String[] args) {
AnsiConsole.systemInstall();
GameFlow m;
GameFlowFactory f = new GameFlowFactory();
Scanner s = new Scanner(System.in);
if(args.length > 0) {
if(args[0].equals("-s")) {
String jsonPath = args[1];
m = f.getGameFlow("1", jsonPath);
m.run();
}else if(args[0].equals("-p")) {
String jsonPath = args[1];
m = f.getGameFlow("2", jsonPath);
m.run();
}
}else {
ArrayList<String> commandList = new ArrayList<String>();
commandList.add("1");
commandList.add("2");
String mode;
do{
System.out.println("Please enter the number to select the mode: 1-Solver 2-One Player");
mode = s.next();
}while(!commandList.contains(mode));
m = f.getGameFlow(mode);
m.run();
}
s.close();
}
}
|