Skip to content

Instantly share code, notes, and snippets.

@SimonHaasnoot
Created August 29, 2016 10:59
Show Gist options
  • Save SimonHaasnoot/02419405656b3ded67950e953b45d436 to your computer and use it in GitHub Desktop.
Save SimonHaasnoot/02419405656b3ded67950e953b45d436 to your computer and use it in GitHub Desktop.
package io.gameoftrades.studentNN;
import io.gameoftrades.model.Wereld;
import io.gameoftrades.model.kaart.*;
import io.gameoftrades.model.lader.WereldLader;
import io.gameoftrades.model.markt.Handel;
import io.gameoftrades.model.markt.HandelType;
import io.gameoftrades.model.markt.Handelswaar;
import io.gameoftrades.model.markt.Markt;
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
public class WereldLaderImpl implements WereldLader {
private int kaartBreedte;
private int kaartHoogte;
private ArrayList <Stad> steden;
private ArrayList <Handel> handels;
private int stadNummer;
private Kaart kaart;
@Override
public Wereld laad(String resource) {
try {
BufferedReader reader = new BufferedReader(new FileReader(resource));
String [] grootte = reader.readLine().split(",");
kaartBreedte = Integer.parseInt(grootte[0]);
kaartHoogte = Integer.parseInt(grootte[1]);
kaart = new Kaart(kaartBreedte, kaartHoogte);
for (int i = 0; i < kaartHoogte; i++) {
String line = reader.readLine();
String [] numbers = line.split("");
System.out.println("lijntje: " + i);
for (int j = 0; j < kaartBreedte; j++) {
String s = numbers[j];
switch(s){
case "Z":
new Terrein(kaart, Coordinaat.op(j, i), TerreinType.ZEE);
break;
case "G":
new Terrein(kaart, Coordinaat.op(j, i), TerreinType.GRASLAND);
break;
case "S":
new Terrein(kaart, Coordinaat.op(j, i), TerreinType.STAD);
break;
case "B":
new Terrein(kaart, Coordinaat.op(j, i), TerreinType.BOS);
break;
case "R":
new Terrein(kaart, Coordinaat.op(j, i), TerreinType.BERG);
break;
}
}
}
int aantalSteden = Integer.parseInt(reader.readLine());
steden = new ArrayList<>();
for (int i = 0; i < aantalSteden; i++) {
String line = reader.readLine();
String [] array = line.split(",");
Stad stad = new Stad(Coordinaat.op(Integer.parseInt(array[0]),Integer.parseInt(array[1])), array[2]);
steden.add(stad);
}
int aantalHandel = Integer.parseInt(reader.readLine());
handels = new ArrayList<>();
for (int i = 0; i < aantalHandel; i++) {
String line = reader.readLine();
String [] array = line.split(",");
for (int j = 0; j < steden.size(); j++) {
if(steden.get(j).getNaam().equals(array[0]));{
stadNummer = j;
}
}
if(array[1].equals("BIEDT")) {
Handel handel = new Handel(steden.get(stadNummer), HandelType.BIEDT, new Handelswaar(array[2]), Integer.parseInt(array[3]));
handels.add(handel);
} else{
Handel handel = new Handel(steden.get(stadNummer), HandelType.VRAAGT, new Handelswaar(array[2]), Integer.parseInt(array[3]));
handels.add(handel);
}
}
} catch (Exception e) {
e.printStackTrace();
}
Markt markt = new Markt(handels);
Wereld wereld = new Wereld(kaart, steden, markt);
kaart.getTerreinOp(Coordinaat.op(5, 5));
return wereld;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment