Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import apulaiset.*;
- import java.io.*;
- public class Oope2015HT{
- public static void main(String[] args){
- boolean kaynnissa = true;
- char edellinenSyote = '';
- Object x = lataa();
- tervehdi();
- listaa(x);
- /* String syote = In.readString;
- for(int t = 0; t <= syote.length(); t++){
- if((edellinenSyote == ' ') && (syote.charAt(t) == ' ')){
- System.out.println("VIRHE!");
- t = syote.length() + 1;
- }else{
- edellinenSyote = syote.charAt(t);
- }
- }
- syote = syote.replaceAll("\\s", "|");
- String[] lohkot = syote.split("\\|");
- if(lohkot[0].equals("lataa")){
- x = lataa();
- }
- if(lohkot[0])
- */
- while(kaynnissa){
- kaynnissa = false;
- }
- }
- public void tallenna(){
- }
- public void luo(){
- }
- public void liiku(){
- }
- public static void listaa(Object x){
- OmaLista lista = (OmaLista)x;
- char valimerkki = '|';
- for(int i = 0; i < lista.koko(); i++){
- Object listattuLotko = lista.alkio(i);
- Class lotkoLuokka = listattuLotko.getClass();
- String lotkoTyyppi = lotkoLuokka.getName();
- String tulostettava = teeTulostettava(listattuLotko, lotkoTyyppi);
- System.out.println(tulostettava);
- }
- }
- //System.out.println(lista);
- public static Object lataa(){
- int kohta = 1;
- int xmax = 0;
- int ymax = 0;
- try{
- //Luodaan FileInputStream ja bufferoitu lukija tiedoston lukua varten
- FileInputStream limavirta = new FileInputStream("lotkot.txt");
- InputStreamReader lukija = new InputStreamReader(limavirta);
- BufferedReader limanTarkkailija = new BufferedReader(lukija);
- OmaLista lista = new OmaLista();
- //Luetaan tiedostoa kunnes rivit loppuvat
- while(limanTarkkailija.ready()){
- //Luetaan rivi
- String rivi = limanTarkkailija.readLine();
- //Poistetaan välilyönnit
- rivi = rivi.replaceAll("\\s", "");
- //splitataan välimerkkien kohdista
- String[] lohkot = rivi.split("\\|");
- System.out.println(lista);
- //ensimmäisen kerran alustukset, tässä vaiheessa myös muistiin juuri riviltä luetut max arvot
- if(kohta == 1){
- Automaatti.alusta(Integer.parseInt(lohkot[0]));
- xmax = Integer.parseInt(lohkot[1]);
- ymax = Integer.parseInt(lohkot[2]);
- kohta++;
- //Muuten luodaan oliot sen mukaan onko klimppi vai pläntti
- }else{
- int koko = Integer.parseInt(lohkot[1]);
- int[] paikka = Automaatti.annaPaikka(xmax, ymax);
- /*System.out.println(lohkot[0]);
- *System.out.println(rivi);
- */
- if(lohkot[0].equals("Klimppi")){
- char vari = lohkot[3].charAt(0);
- Klimppi jokeriKlimppi = new Klimppi(koko, vari, lohkot[2], paikka);
- //Lisätään listan loppuun koska järjestys sama kuin alkup. tiedostossa
- lista.lisaaLoppuun(jokeriKlimppi);
- }else{
- boolean soikio = (lohkot[3] == "true");
- Plantti jokeriPlantti = new Plantti(koko, soikio, lohkot[2], paikka);
- lista.lisaaLoppuun(jokeriPlantti);
- }
- }
- }
- limanTarkkailija.close();
- return (Object)lista;
- }catch(FileNotFoundException e){
- System.out.println("ERROR");
- return null;
- }
- catch(IOException e){
- System.out.println("ERROR2");
- return null;
- }
- }
- public static void tervehdi(){
- System.out.println("************");
- System.out.println("* ALKULIMA *");
- System.out.println("************");
- }
- public static String teeTulostettava(Object listattuLotko, String lotkoTyyppi){
- char valimerkki = '|';
- String yksiloLuku = "";
- int[] paikka = {0,0};
- String koko = "";
- String vari = "";
- vari = vari + " ";
- String perima = "";
- String soikio = "";
- if(lotkoTyyppi.equals("Klimppi")){
- Klimppi klimpen = (Klimppi)listattuLotko;
- yksiloLuku = "" + klimpen.getYksiloluku();
- paikka = klimpen.getPaikka();
- koko = "" + klimpen.getKoko();
- vari = "" + klimpen.getVari();
- vari = vari + " ";
- perima = klimpen.getPerima();
- }else if(lotkoTyyppi.equals("Plantti")){
- Plantti planten = (Plantti)listattuLotko;
- yksiloLuku = "" + planten.getYksiloluku();
- paikka = planten.getPaikka();
- koko = "" + planten.getKoko();
- soikio = "" + planten.getMuoto();
- soikio = soikio + " ";
- perima = planten.getPerima();
- }
- String paikka1 = "" + paikka[0];
- String paikka2 = "" + paikka[1];
- lotkoTyyppi = lotkoTyyppi + " ";
- for(int g = 0; g < 8; g++){
- if(yksiloLuku.length() < 3){
- yksiloLuku = yksiloLuku + " ";
- }
- if(paikka1.length() < 3){
- paikka1 = paikka1 + " ";
- }
- if(paikka2.length() < 3){
- paikka2 = paikka2 + " ";
- }
- if(koko.length() < 7){
- koko = koko + " ";
- }
- }
- String tulostusRivi = yksiloLuku + valimerkki + paikka1 + valimerkki + paikka2 +
- lotkoTyyppi + valimerkki + perima + valimerkki;
- if(lotkoTyyppi.equals("Klimppi ")){
- tulostusRivi = tulostusRivi + vari;
- }else{
- tulostusRivi = tulostusRivi + soikio;
- }
- tulostusRivi = tulostusRivi + valimerkki;
- return tulostusRivi;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement