// experimental // ==================================================================== // ==================================================================== // ==================================================================== private void readAndDrawBIGGraph(String file) { // behövs inte än // @TODO // hur rita flera linjer mellan 2 noder? (för flera linjer) // reading of the graph should be done in the graph itself // it should be possible to get an iterator over nodes and one over edges // read in all the stops and lines and draw the lmap Scanner indata = null; // insert into p-queue to get them sorted names = new PriorityQueue<String>(); try { // Read stops and put them in the node-table // in order to give the user a list of possible stops // assume input file is correct indata = new Scanner(new File(file + "-stops.txt"), "ISO-8859"); // while (indata.hasNext()) { String hpl = indata.next().trim(); int xco = indata.nextInt(); int yco = indata.nextInt(); noderna.add(new BusStop(hpl, xco, yco)); names.add(hpl); // Draw // this is a fix: fixa att Kålltorp och Torp är samma hållplats if (hpl.equals("Torp")) { xco += 11; hpl = " / Torp"; } karta.drawString(hpl, xco, yco, DrawGraph.Layer.BASE); } indata.close(); // Read in the lines and add to the graph indata = new Scanner(new File(file + "-lines.txt"), "ISO-8859"); grafen = new DirectedGraph<BusEdge>(noderna.noOfNodes()); Color color = new Color((float) Math.random(), (float) Math.random(), (float) Math.random()); // String lineNo = "1"; // while (indata.hasNext()) { // assume lines are correct int from = noderna.find(indata.next()).getNodeNo(); int to = noderna.find(indata.next()).getNodeNo(); grafen.addEdge(new BusEdge(from, to, indata.nextInt(), lineNo)); indata.nextLine(); // skip rest of line // Draw BusStop busFrom = noderna.find(from); BusStop busTo = noderna.find(to); karta.drawLine( busFrom.xpos, busFrom.ypos, busTo.xpos, busTo.ypos, color, 2.0f, DrawGraph.Layer.BASE); } indata.close(); } catch (FileNotFoundException fnfe) { throw new RuntimeException(" Indata till busshållplatserna saknas"); } karta.repaint(); } // end readAndDrawBIGGraph
public Map loadMap(File input) throws FileNotFoundException { Scanner s = new Scanner(input); tileDir = s.nextLine(); int width = s.nextInt(); int height = s.nextInt(); Map toReturn = new Map(width, height, tileDir); s.nextLine(); // eat up rest of line. for (int y = 0; y < height; y++) { String line = s.nextLine(); Scanner lineReader = new Scanner(line); List<Tile> tList = new ArrayList<Tile>(); for (int x = 0; x < width; x++) { String[] values = lineReader.next().split("/"); String name = values[0]; int[] picLocation = new int[2]; for (int i = 0; i < picLocation.length; i++) { picLocation[i] = Integer.parseInt(values[1].split("_")[i]); } ImageIcon img = null; try { img = new ImageIcon(getTile(tileDir, picLocation[0], picLocation[1], DISPLAY_SCALE)); } catch (IOException e) { System.out.println("Could not find image."); img = new ImageIcon( new BufferedImage( TILE_SIZE * DISPLAY_SCALE, TILE_SIZE * DISPLAY_SCALE, BufferedImage.TYPE_INT_RGB)); } int avoid = Integer.parseInt(values[2]); int def = Integer.parseInt(values[3]); String[] movString = values[4].split(","); int[] moveCost = new int[movString.length]; for (int i = 0; i < moveCost.length; i++) { moveCost[i] = Integer.parseInt(movString[i]); } String special = values[5]; Tile t = new Tile( img, name, avoid, def, moveCost, special, true, "" + picLocation[0] + "_" + picLocation[1]); tList.add(t); t.setMaximumSize(new Dimension(TILE_SIZE * DISPLAY_SCALE, TILE_SIZE * DISPLAY_SCALE)); t.setPreferredSize(new Dimension(TILE_SIZE * DISPLAY_SCALE, TILE_SIZE * DISPLAY_SCALE)); t.addMouseListener(new MapButtonListener()); } toReturn.addRow(tList); } return toReturn; }
// Loads a Player class public void loadPlayer(String file) { try { Scanner data = new Scanner(new BufferedReader(new FileReader(file + ".txt"))); level = Integer.parseInt(data.next()); String charinf = data.next(); ArrayList<Item> previtems = new ArrayList<Item>(); while (data.hasNext()) { previtems.add(new Item(data.next())); } player = new Creature( min(40 + level * 3 / 5, 100) / 2, min(40 + level * 3 / 5, 100) / 2, charinf, previtems); } catch (Exception ex) { System.out.println(ex); } }
public void loadData(String file) { try { Scanner txt = new Scanner(new File(file)); mp3File = txt.nextLine(); artist = txt.nextLine(); album = txt.nextLine(); while (txt.hasNext()) { long noteTime = txt.nextLong(); int lengthThrowaway = txt.nextInt(); String states = txt.next().trim(); lines.add(new Line(noteTime, states)); } song = new Music(mp3File); song.load(); } catch (Exception e) { System.out.println(e); } } // end loadData
public void readFile() throws IOException, FileNotFoundException { Scanner inp = new Scanner(System.in); System.out.print("Enter the name of the file to process: "); String file; file = inp.nextLine(); System.out.println(file); Scanner fileScan = new Scanner(new FileReader(file)); fileScan.useDelimiter(","); numBars = fileScan.nextInt(); values = new int[numBars]; labels = new String[numBars]; for (int i = 0; i < numBars - 1; i++) { values[i] = fileScan.nextInt(); labels[i] = fileScan.next(); System.out.println(values[i] + " " + labels[i]); } inp.close(); fileScan.close(); }
// ==================================================================== // ==================================================================== private void readAndDrawGraph() { // @TODO // hur rita flera linjer mellan 2 noder? (för flera linjer) // reading of the graph should be done in the graph itself // it should be possible to get an iterator over nodes and one over edges // read in all the stops and lines and draw the lmap Scanner indata = null; // insert into p-queue to get them sorted names = new PriorityQueue<String>(); try { // Read stops and put them in the node-table // in order to give the user a list of possible stops // assume input file is correct indata = new Scanner(new File("stops.noBOM.txt"), "UTF-8"); while (indata.hasNext()) { String hpl = indata.next().trim(); int xco = indata.nextInt(); int yco = indata.nextInt(); noderna.add(new BusStop(hpl, xco, yco)); names.add(hpl); // Draw /* // Denna fix som slår ihop Kålltorp och Torp är förvirrande eftersom de är olika noder i grafen. // Tror man att det är samma nod blir resultatet förrvirrande. // Till nästa gång: Gör till samma nod med namnet Virginsgatan. Så är det i verkligheten nu. // this is a fix: fixa att Kålltorp och Torp är samma hållplats if ( hpl.equals("Torp") ) { xco += 11; hpl = " / Torp"; } */ karta.drawString(hpl, xco, yco, DrawGraph.Layer.BASE); } indata.close(); // Read in the lines and add to the graph indata = new Scanner(new File("lines.noBOM.txt"), "UTF-8"); grafen = new DirectedGraph<BusEdge>(noderna.noOfNodes()); while (indata.hasNext()) { String lineNo = indata.next(); int antal = indata.nextInt() - 1; int from = noderna.find(indata.next()).getNodeNo(); // hur rita flera linjer mellan 2 noder? // enkel inc fungerar inte // färgen kunde vara "äkta" dvs linjefärg Color color = new Color((float) Math.random(), (float) Math.random(), (float) Math.random()); for (int i = 0; i < antal; i++) { int to = noderna.find(indata.next()).getNodeNo(); grafen.addEdge(new BusEdge(from, to, indata.nextInt(), lineNo)); // Draw BusStop busFrom = noderna.find(from); BusStop busTo = noderna.find(to); karta.drawLine( busFrom.xpos, busFrom.ypos, busTo.xpos, busTo.ypos, color, 2.0f, DrawGraph.Layer.BASE); from = to; } } indata.close(); } catch (FileNotFoundException fnfe) { throw new RuntimeException(" Indata till busshållplatserna saknas"); } karta.repaint(); } // end readAndDrawGraph