Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.05 KB | None | 0 0
  1. import apulaiset.*;
  2. import java.io.*;
  3.  
  4. public class Oope2015HT{
  5.  
  6.  
  7.     public static void main(String[] args){
  8.         boolean kaynnissa = true;
  9.         char edellinenSyote = '';
  10.         Object x = lataa();
  11.         tervehdi();
  12.         listaa(x);
  13.        
  14.     /*  String syote = In.readString;
  15.         for(int t = 0; t <= syote.length(); t++){
  16.            
  17.             if((edellinenSyote == ' ') && (syote.charAt(t) == ' ')){
  18.                 System.out.println("VIRHE!");
  19.                 t = syote.length() + 1;
  20.             }else{
  21.                 edellinenSyote = syote.charAt(t);
  22.             }
  23.         }
  24.  
  25.         syote = syote.replaceAll("\\s", "|");
  26.         String[] lohkot = syote.split("\\|");
  27.  
  28.  
  29.         if(lohkot[0].equals("lataa")){
  30.             x = lataa();
  31.         }
  32.         if(lohkot[0])
  33.     */
  34.        
  35.        
  36.  
  37.         while(kaynnissa){
  38.             kaynnissa = false;
  39.            
  40.         }
  41.  
  42.     }
  43.  
  44.     public void tallenna(){
  45.  
  46.     }
  47.  
  48.     public void luo(){
  49.  
  50.     }
  51.  
  52.     public void liiku(){
  53.  
  54.     }
  55.  
  56.     public static void listaa(Object x){
  57.         OmaLista lista = (OmaLista)x;
  58.         char valimerkki = '|';
  59.         for(int i = 0; i < lista.koko(); i++){
  60.             Object listattuLotko = lista.alkio(i);
  61.             Class lotkoLuokka = listattuLotko.getClass();
  62.             String lotkoTyyppi = lotkoLuokka.getName();
  63.  
  64.  
  65.             String tulostettava = teeTulostettava(listattuLotko, lotkoTyyppi);
  66.             System.out.println(tulostettava);
  67.  
  68.  
  69.             }
  70.  
  71.         }
  72.  
  73.         //System.out.println(lista);
  74.  
  75.        
  76.  
  77.    
  78.  
  79.     public static Object lataa(){
  80.         int kohta = 1;
  81.         int xmax = 0;
  82.         int ymax = 0;
  83.         try{
  84.         //Luodaan FileInputStream ja bufferoitu lukija tiedoston lukua varten
  85.         FileInputStream limavirta = new FileInputStream("lotkot.txt");
  86.         InputStreamReader lukija = new InputStreamReader(limavirta);
  87.         BufferedReader limanTarkkailija = new BufferedReader(lukija);
  88.         OmaLista lista = new OmaLista();
  89.        
  90.  
  91.         //Luetaan tiedostoa kunnes rivit loppuvat
  92.         while(limanTarkkailija.ready()){
  93.  
  94.             //Luetaan rivi
  95.             String rivi = limanTarkkailija.readLine();
  96.             //Poistetaan välilyönnit
  97.             rivi = rivi.replaceAll("\\s", "");
  98.            
  99.  
  100.            
  101.             //splitataan  välimerkkien kohdista
  102.             String[] lohkot = rivi.split("\\|");
  103.        
  104.            
  105.             System.out.println(lista);
  106.  
  107.             //ensimmäisen kerran alustukset, tässä vaiheessa myös muistiin juuri riviltä luetut max arvot
  108.             if(kohta == 1){
  109.                 Automaatti.alusta(Integer.parseInt(lohkot[0]));
  110.                 xmax = Integer.parseInt(lohkot[1]);
  111.                 ymax = Integer.parseInt(lohkot[2]);
  112.                 kohta++;
  113.  
  114.             //Muuten luodaan oliot sen mukaan onko klimppi vai pläntti
  115.             }else{
  116.                 int koko = Integer.parseInt(lohkot[1]);
  117.                 int[] paikka = Automaatti.annaPaikka(xmax, ymax);
  118.                 /*System.out.println(lohkot[0]);
  119.                  *System.out.println(rivi);
  120.                  */
  121.  
  122.                 if(lohkot[0].equals("Klimppi")){
  123.                     char vari = lohkot[3].charAt(0);
  124.                     Klimppi jokeriKlimppi = new Klimppi(koko, vari, lohkot[2], paikka);
  125.                     //Lisätään listan loppuun koska järjestys sama kuin alkup. tiedostossa
  126.                     lista.lisaaLoppuun(jokeriKlimppi);
  127.  
  128.                 }else{
  129.                     boolean soikio = (lohkot[3] == "true");
  130.                     Plantti jokeriPlantti = new Plantti(koko, soikio, lohkot[2], paikka);
  131.                     lista.lisaaLoppuun(jokeriPlantti);
  132.                    
  133.  
  134.                 }
  135.  
  136.             }  
  137.  
  138.        
  139.         }
  140.         limanTarkkailija.close();
  141.         return (Object)lista;
  142.            
  143.         }catch(FileNotFoundException e){
  144.             System.out.println("ERROR");
  145.             return null;
  146.         }
  147.         catch(IOException e){
  148.             System.out.println("ERROR2");
  149.             return null;
  150.         }
  151.        
  152.        
  153.  
  154.     }
  155.  
  156.  
  157.  
  158.     public static void tervehdi(){
  159.         System.out.println("************");
  160.         System.out.println("* ALKULIMA *");
  161.         System.out.println("************");
  162.     }
  163.  
  164.     public static String teeTulostettava(Object listattuLotko, String lotkoTyyppi){
  165.         char valimerkki = '|';
  166.             String yksiloLuku = "";
  167.             int[] paikka = {0,0};
  168.             String koko = "";
  169.             String vari =  "";
  170.             vari = vari + "     ";
  171.             String perima = "";
  172.             String soikio = "";
  173.  
  174.  
  175.         if(lotkoTyyppi.equals("Klimppi")){
  176.            
  177.            
  178.             Klimppi klimpen = (Klimppi)listattuLotko;
  179.             yksiloLuku = "" + klimpen.getYksiloluku();
  180.             paikka = klimpen.getPaikka();
  181.             koko = "" + klimpen.getKoko();
  182.             vari =  "" + klimpen.getVari();
  183.             vari = vari + "     ";
  184.             perima = klimpen.getPerima();
  185.         }else if(lotkoTyyppi.equals("Plantti")){
  186.             Plantti planten = (Plantti)listattuLotko;
  187.             yksiloLuku = "" + planten.getYksiloluku();
  188.             paikka = planten.getPaikka();
  189.             koko = "" + planten.getKoko();
  190.             soikio = "" + planten.getMuoto();
  191.             soikio = soikio + " ";
  192.             perima = planten.getPerima();
  193.         }
  194.  
  195.  
  196.         String paikka1 = "" + paikka[0];
  197.         String paikka2 = "" + paikka[1];
  198.         lotkoTyyppi = lotkoTyyppi + " ";
  199.         for(int g = 0; g < 8; g++){
  200.            
  201.                 if(yksiloLuku.length() < 3){
  202.                     yksiloLuku = yksiloLuku +  " ";
  203.                 }
  204.                 if(paikka1.length() < 3){
  205.                     paikka1 = paikka1 + " ";
  206.                 }
  207.                 if(paikka2.length() < 3){
  208.                     paikka2 = paikka2 + " ";
  209.                 }
  210.                 if(koko.length() < 7){
  211.                     koko = koko + " ";
  212.                 }
  213.        
  214.  
  215.         }
  216.         String tulostusRivi = yksiloLuku + valimerkki + paikka1 + valimerkki + paikka2 +
  217.             lotkoTyyppi + valimerkki + perima + valimerkki;
  218.             if(lotkoTyyppi.equals("Klimppi ")){
  219.                 tulostusRivi = tulostusRivi + vari;
  220.             }else{
  221.                 tulostusRivi = tulostusRivi + soikio;
  222.             }
  223.             tulostusRivi = tulostusRivi + valimerkki;
  224.             return tulostusRivi;
  225.  
  226.     }
  227. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement