Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.02 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.     public static void listaa(Object x, int indeksi){
  73.         OmaLista lista = (OmaLista)x;
  74.         char valimerkki = '|';
  75.  
  76.         Object verrattavaLotko = lista.alkio(indeksi);
  77.  
  78.         Class verrattavaLotkoLuokka = verrattavaLotko.getClass();
  79.         String verrattavaLotkoTyyppi = verrattavaLotkoLuokka.getName();
  80.  
  81.  
  82.         if(verrattavaLotkoTyyppi.equals("Klimppi")){
  83.             Klimppi f = (Klimppi)verrattavaLotko;
  84.  
  85.         }else{
  86.             Plantti f = (Plantti)verrattavaLotko;
  87.  
  88.  
  89.         }
  90.         for(int i = 0; i < lista.koko(); i++){
  91.             Object listattuLotko = lista.alkio(i);
  92.             Class lotkoLuokka = listattuLotko.getClass();
  93.             String lotkoTyyppi = lotkoLuokka.getName();
  94.             if(lotkoTyyppi.equals "Klimppi"){
  95.                 Klimppi g = (Klimppi)listattuLotko;
  96.             }else{
  97.                 Plantti g = (Plantti)listattuLotko;
  98.             }
  99.             if(f.equals(g)){
  100.                 String tulostettava = teeTulostettava(listattuLotko, lotkoTyyppi);
  101.                 System.out.println(tulostettava);
  102.             }
  103.            
  104.         }
  105.  
  106.     }
  107.     public static void listaa(Object x, int paikka1, int paikka2){
  108.  
  109.  
  110.     }
  111.  
  112.         //System.out.println(lista);
  113.  
  114.        
  115.  
  116.    
  117.  
  118.     public static Object lataa(){
  119.         int kohta = 1;
  120.         int xmax = 0;
  121.         int ymax = 0;
  122.         try{
  123.         //Luodaan FileInputStream ja bufferoitu lukija tiedoston lukua varten
  124.         FileInputStream limavirta = new FileInputStream("lotkot.txt");
  125.         InputStreamReader lukija = new InputStreamReader(limavirta);
  126.         BufferedReader limanTarkkailija = new BufferedReader(lukija);
  127.         OmaLista lista = new OmaLista();
  128.        
  129.  
  130.         //Luetaan tiedostoa kunnes rivit loppuvat
  131.         while(limanTarkkailija.ready()){
  132.  
  133.             //Luetaan rivi
  134.             String rivi = limanTarkkailija.readLine();
  135.             //Poistetaan välilyönnit
  136.             rivi = rivi.replaceAll("\\s", "");
  137.            
  138.  
  139.            
  140.             //splitataan  välimerkkien kohdista
  141.             String[] lohkot = rivi.split("\\|");
  142.        
  143.            
  144.             System.out.println(lista);
  145.  
  146.             //ensimmäisen kerran alustukset, tässä vaiheessa myös muistiin juuri riviltä luetut max arvot
  147.             if(kohta == 1){
  148.                 Automaatti.alusta(Integer.parseInt(lohkot[0]));
  149.                 xmax = Integer.parseInt(lohkot[1]);
  150.                 ymax = Integer.parseInt(lohkot[2]);
  151.                 kohta++;
  152.  
  153.             //Muuten luodaan oliot sen mukaan onko klimppi vai pläntti
  154.             }else{
  155.                 int koko = Integer.parseInt(lohkot[1]);
  156.                 int[] paikka = Automaatti.annaPaikka(xmax, ymax);
  157.                 /*System.out.println(lohkot[0]);
  158.                  *System.out.println(rivi);
  159.                  */
  160.  
  161.                 if(lohkot[0].equals("Klimppi")){
  162.                     char vari = lohkot[3].charAt(0);
  163.                     Klimppi jokeriKlimppi = new Klimppi(koko, vari, lohkot[2], paikka);
  164.                     //Lisätään listan loppuun koska järjestys sama kuin alkup. tiedostossa
  165.                     lista.lisaaLoppuun(jokeriKlimppi);
  166.  
  167.                 }else{
  168.                     boolean soikio = (lohkot[3] == "true");
  169.                     Plantti jokeriPlantti = new Plantti(koko, soikio, lohkot[2], paikka);
  170.                     lista.lisaaLoppuun(jokeriPlantti);
  171.                    
  172.  
  173.                 }
  174.  
  175.             }  
  176.  
  177.        
  178.         }
  179.         limanTarkkailija.close();
  180.         return (Object)lista;
  181.            
  182.         }catch(FileNotFoundException e){
  183.             System.out.println("ERROR");
  184.             return null;
  185.         }
  186.         catch(IOException e){
  187.             System.out.println("ERROR2");
  188.             return null;
  189.         }
  190.        
  191.        
  192.  
  193.     }
  194.  
  195.  
  196.  
  197.     public static void tervehdi(){
  198.         System.out.println("************");
  199.         System.out.println("* ALKULIMA *");
  200.         System.out.println("************");
  201.     }
  202.  
  203.     public static String teeTulostettava(Object listattuLotko, String lotkoTyyppi){
  204.         char valimerkki = '|';
  205.             String yksiloLuku = "";
  206.             int[] paikka = {0,0};
  207.             String koko = "";
  208.             String vari =  "";
  209.                 vari = vari + "     ";
  210.             String perima = "";
  211.             String soikio = "";
  212.  
  213.  
  214.         if(lotkoTyyppi.equals("Klimppi")){
  215.            
  216.            
  217.             Klimppi klimpen = (Klimppi)listattuLotko;
  218.             yksiloLuku = "" + klimpen.getYksiloluku();
  219.             paikka = klimpen.getPaikka();
  220.             koko = "" + klimpen.getKoko();
  221.             vari =  "" + klimpen.getVari();
  222.                 vari = vari + "     ";
  223.             perima = klimpen.getPerima();
  224.         }else if(lotkoTyyppi.equals("Plantti")){
  225.             Plantti planten = (Plantti)listattuLotko;
  226.             yksiloLuku = "" + planten.getYksiloluku();
  227.             paikka = planten.getPaikka();
  228.             koko = "" + planten.getKoko();
  229.             soikio = "" + planten.getMuoto();
  230.             soikio = soikio + " ";
  231.             perima = planten.getPerima();
  232.         }
  233.  
  234.  
  235.         String paikka1 = "" + paikka[0];
  236.         String paikka2 = "" + paikka[1];
  237.         lotkoTyyppi = lotkoTyyppi + " ";
  238.         for(int g = 0; g < 8; g++){
  239.            
  240.                 if(yksiloLuku.length() < 3){
  241.                     yksiloLuku = yksiloLuku +  " ";
  242.                 }
  243.                 if(paikka1.length() < 3){
  244.                     paikka1 = paikka1 + " ";
  245.                 }
  246.                 if(paikka2.length() < 3){
  247.                     paikka2 = paikka2 + " ";
  248.                 }
  249.                 if(koko.length() < 7){
  250.                     koko = koko + " ";
  251.                 }
  252.        
  253.  
  254.         }
  255.         String tulostusRivi = yksiloLuku + valimerkki + paikka1 + valimerkki + paikka2 +
  256.             lotkoTyyppi + valimerkki + perima + valimerkki;
  257.             if(lotkoTyyppi.equals("Klimppi ")){
  258.                 tulostusRivi = tulostusRivi + vari;
  259.             }else{
  260.                 tulostusRivi = tulostusRivi + soikio;
  261.             }
  262.             tulostusRivi = tulostusRivi + valimerkki;
  263.             return tulostusRivi;
  264.  
  265.     }
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement