public void loadGame() {
        File file = new File("Data/SaveFile.sav");
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        DataInputStream dis = null;
        try {
            fis = new FileInputStream(file);
            bis = new BufferedInputStream(fis);
            dis = new DataInputStream(bis);

            //player data

            storyline = Integer.parseInt(dis.readLine());
            alec.setName(dis.readLine());
            alec.setID(Integer.parseInt(dis.readLine()));
            currentX_loc = (short) (Short.parseShort(dis.readLine()) - 7);
            currentY_loc = (short) (Short.parseShort(dis.readLine()) - 4);
            posX_tile = (short) (currentX_loc + 7);
            posY_tile = (short) (currentY_loc + 4);
            money = Integer.parseInt(dis.readLine());
            Badge1 = Boolean.parseBoolean(dis.readLine());
            Badge2 = Boolean.parseBoolean(dis.readLine());
            Badge3 = Boolean.parseBoolean(dis.readLine());
            Badge4 = Boolean.parseBoolean(dis.readLine());
            Badge5 = Boolean.parseBoolean(dis.readLine());
            Badge6 = Boolean.parseBoolean(dis.readLine());
            Badge7 = Boolean.parseBoolean(dis.readLine());
            Badge8 = Boolean.parseBoolean(dis.readLine());

            //items

            for (int i = 0; i < 25;) {
                Potions[i].create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
                i++;
            }
            for (int i = 0; i < 15;) {
                Holdables[i].create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
                i++;
            }
            for (int i = 0; i < 5;) {
                Balls[i].create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
                i++;
            }
            for (int i = 0; i < 10;) {
                Tools[i].create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
                i++;
            }
            potion = Byte.parseByte(dis.readLine());
            hold = Byte.parseByte(dis.readLine());
            ball = Byte.parseByte(dis.readLine());
            tool = Byte.parseByte(dis.readLine());
            pickaxe = Boolean.parseBoolean(dis.readLine());
            swim = Boolean.parseBoolean(dis.readLine());
            machete = Boolean.parseBoolean(dis.readLine());

            //pokemon

            first.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            second.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            third.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            fourth.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            fifth.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            sixth.create(Integer.parseInt(dis.readLine()), Integer.parseInt(dis.readLine()));
            pokemonparty[0] = first;
            pokemonparty[1] = second;
            pokemonparty[2] = third;
            pokemonparty[3] = fourth;
            pokemonparty[4] = fifth;
            pokemonparty[5] = sixth;
            fis.close();
            bis.close();
            dis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }