@@ -30,6 +30,101 @@ public Kabasuji processLineByLine() throws IOException {
}
return this.kab;
}

private void checkBadge (int badgeNum, String badgeName, String txtName, String txtValue){
if ((txtName.trim().equals(badgeName)) && (txtValue.trim().equals("1"))){
this.kab.badges[badgeNum-1].achieved = true;
}
else if ((txtName.trim().equals(badgeName)) && (!txtValue.trim().equals("1"))){
this.kab.badges[badgeNum-1].achieved = false;
}
}

private void checkLightningLevels (int levelNum, String lvlName, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Integer x = Integer.parseInt(ar[1]);
Lightning lLevel = new Lightning(levelNum, x);
if (ar[0].trim().equals("")){
lLevel.unlocked = false;
lLevel.star = 0;
}else if ((ar[0].trim().equals("0"))||(ar[0].trim().equals("1"))||(ar[0].trim().equals("2"))||(ar[0].trim().equals("3"))){
lLevel.star = Integer.parseInt(ar[0].trim());
lLevel.unlocked = true;
}
this.kab.llevels.add(lLevel);
}
}

private void checkPuzzleLevels (int levelNum, String lvlName, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Integer x = Integer.parseInt(ar[1]);
Puzzle pLevel = new Puzzle(levelNum, x);
if (ar[0].trim().equals("")){
pLevel.unlocked = false;
pLevel.star = 0;
}else if ((ar[0].trim().equals("0"))||(ar[0].trim().equals("1"))||(ar[0].trim().equals("2"))||(ar[0].trim().equals("3"))){
pLevel.star = Integer.parseInt(ar[0].trim());
pLevel.unlocked = true;
}
this.kab.plevels.add(pLevel);
}
}

private void checkReleaseLevels (int levelNum, String lvlName, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Release rLevel = new Release(levelNum);
if (ar[0].trim().equals("")){
rLevel.unlocked = false;
rLevel.star = 0;
}else if ((ar[0].trim().equals("0"))||(ar[0].trim().equals("1"))||(ar[0].trim().equals("2"))||(ar[0].trim().equals("3"))){
rLevel.star = Integer.parseInt(ar[0].trim());
rLevel.unlocked = true;
}
this.kab.rlevels.add(rLevel);
}
}

private void checkLightningPieces (int levelNum, String lvlName,PieceFactory pF, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.llevels.get(levelNum-1).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pF.makePiece(x);
this.kab.llevels.get(levelNum-1).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
}

private void checkPuzzlePieces (int levelNum, String lvlName, PieceFactory pF, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.plevels.get(levelNum-1).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pF.makePiece(x);
this.kab.plevels.get(levelNum-1).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
}

private void checkReleasePieces (int levelNum, String lvlName, PieceFactory pF, String txtName, String txtValue){
if (txtName.trim().equals(lvlName)){
String[] ar=txtValue.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.rlevels.get(levelNum-1).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pF.makePiece(x);
this.kab.rlevels.get(levelNum-1).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
}

protected void processLine(String aLine){
//use a second Scanner to parse the content of each line
@@ -40,136 +135,48 @@ protected void processLine(String aLine){
//assumes the line has a certain structure
String name = scanner.next();
String value = scanner.next();
if ((name.trim().equals("BADGEONE")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge1","Piece&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGETWO")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge2","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGETHREE")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge3","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGEFOUR")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge4","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGEFIVE")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge5","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGESIX")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge6","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGESEVEN")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge7","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGEEIGHT")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge8","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGENINE")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge9","Hate&Love");
this.kab.badges.add(badge1);
}
if ((name.trim().equals("BADGETEN")) && (value.trim().equals("1"))){
Badge badge1 = new Badge("Badge10","Hate&Love");
this.kab.badges.add(badge1);
}
if (name.trim().equals("LLEVEL1_STARS")){
Level lLevel1 = new Level(1, PieceType.LIGHTNING);
lLevel1.star = Integer.parseInt(value.trim());
this.kab.llevels.add(lLevel1);
}
if (name.trim().equals("LLEVEL2_STARS")){
Level lLevel2 = new Level(2, PieceType.LIGHTNING);
lLevel2.star = Integer.parseInt(value.trim());
this.kab.llevels.add(lLevel2);
}
if (name.trim().equals("LLEVEL3_STARS")){
Level lLevel3 = new Level(3, PieceType.LIGHTNING);
lLevel3.star = Integer.parseInt(value.trim());
this.kab.llevels.add(lLevel3);
}
if (name.trim().equals("PLEVEL1_STARS")){
Level pLevel1 = new Level(1, PieceType.PUZZLE);
pLevel1.star = Integer.parseInt(value.trim());
this.kab.plevels.add(pLevel1);
}
if (name.trim().equals("PLEVEL2_STARS")){
Level pLevel2 = new Level(2, PieceType.PUZZLE);
pLevel2.star = Integer.parseInt(value.trim());
this.kab.plevels.add(pLevel2);
}
if (name.trim().equals("RLEVEL1_STARS")){
Level rLevel1 = new Level(1, PieceType.RELEASE);
rLevel1.star = Integer.parseInt(value.trim());
this.kab.rlevels.add(rLevel1);
}
if (name.trim().equals("LLEVEL1_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.llevels.get(0).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.llevels.get(0).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
if (name.trim().equals("LLEVEL2_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.llevels.get(1).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.llevels.get(1).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
if (name.trim().equals("LLEVEL3_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.llevels.get(2).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.llevels.get(2).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
if (name.trim().equals("PLEVEL1_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.plevels.get(0).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.plevels.get(0).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
if (name.trim().equals("PLEVEL2_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.plevels.get(1).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.plevels.get(1).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}
if (name.trim().equals("RLEVEL1_PIECES")){
String[] ar=value.trim().split(",");
Bullpen bpen = new Bullpen();
this.kab.rlevels.get(0).bullpen = bpen;
for (int i = 0; i < ar.length; i++) {
Integer x = Integer.parseInt(ar[i]);
Piece piece = pFactory.makePiece(x);
this.kab.rlevels.get(0).bullpen.boxes.add(new Box(piece));//setPiece will depend on the factory pieces
}
}

checkBadge (1,"BADGEONE", name, value);
checkBadge (2,"BADGETWO", name, value);
checkBadge (3,"BADGETHREE", name, value);
checkBadge (4,"BADGEFOUR", name, value);
checkBadge (5,"BADGEFIVE", name, value);
checkBadge (6,"BADGESIX", name, value);
checkBadge (7,"BADGESEVEN", name, value);
checkBadge (8,"BADGEEIGHT", name, value);
checkBadge (9,"BADGENINE", name, value);
checkBadge (10,"BADGETEN", name, value);
checkLightningLevels (1,"LLEVEL1", name, value);
checkLightningLevels (2,"LLEVEL2", name, value);
checkLightningLevels (3,"LLEVEL3", name, value);
checkLightningLevels (4,"LLEVEL4", name, value);
checkLightningLevels (5,"LLEVEL5", name, value);
checkPuzzleLevels (1,"PLEVEL1", name, value);
checkPuzzleLevels (2,"PLEVEL2", name, value);
checkPuzzleLevels (3,"PLEVEL3", name, value);
checkPuzzleLevels (4,"PLEVEL4", name, value);
checkPuzzleLevels (5,"PLEVEL5", name, value);
checkReleaseLevels (1,"RLEVEL1", name, value);
checkReleaseLevels (2,"RLEVEL2", name, value);
checkReleaseLevels (3,"RLEVEL3", name, value);
checkReleaseLevels (4,"RLEVEL4", name, value);
checkReleaseLevels (5,"RLEVEL5", name, value);
checkLightningPieces (1, "LLEVEL1_PIECES",pFactory, name, value);
checkLightningPieces (2, "LLEVEL2_PIECES",pFactory, name, value);
checkLightningPieces (3, "LLEVEL3_PIECES",pFactory, name, value);
checkLightningPieces (4, "LLEVEL4_PIECES",pFactory, name, value);
checkLightningPieces (5, "LLEVEL5_PIECES",pFactory, name, value);
checkPuzzlePieces (1, "PLEVEL1_PIECES",pFactory, name, value);
checkPuzzlePieces (2, "PLEVEL2_PIECES",pFactory, name, value);
checkPuzzlePieces (3, "PLEVEL3_PIECES",pFactory, name, value);
checkPuzzlePieces (4, "PLEVEL4_PIECES",pFactory, name, value);
checkPuzzlePieces (5, "PLEVEL5_PIECES",pFactory, name, value);
checkReleasePieces (1, "RLEVEL1_PIECES",pFactory, name, value);
checkReleasePieces (2, "RLEVEL2_PIECES",pFactory, name, value);
checkReleasePieces (3, "RLEVEL3_PIECES",pFactory, name, value);
checkReleasePieces (4, "RLEVEL4_PIECES",pFactory, name, value);
checkReleasePieces (5, "RLEVEL5_PIECES",pFactory, name, value);

log("Name is : " + quote(name.trim()) + ", and Value is : " + quote(value.trim()));
}
}