diff --git a/src/main/java/entities/modelExtentions/Flags.java b/src/main/java/entities/modelExtentions/Flags.java deleted file mode 100644 index 95f5d80..0000000 --- a/src/main/java/entities/modelExtentions/Flags.java +++ /dev/null @@ -1,77 +0,0 @@ -package entities.modelExtentions; - -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; - -public class Flags { - - private ArrayList values = new ArrayList<>(); - private int count = 0; - - //--------------------------------------------------------------- - //--------------------------------------------------------------- - public Flags() { - Path file = Paths.get("resources/stage.txt"); - String[] data = new String[1]; - - try { - List lines = Files.readAllLines(file, Charset.forName("Shift-JIS")); - - for (int i = 0; i < lines.size(); i++) data = lines.get(i).split(","); - for (int i = 0; i < data.length; i++) values.add(Integer.parseInt(data[i])); - for (int v : values) System.out.println(v); - - } catch (IOException e) { - System.out.println("Failed to load stage.txt"); - } - } - - //--------------------------------------------------------------- - //--------------------------------------------------------------- - // getter - public ArrayList getValues() { - return values; - } - - //--------------------------------------------------------------- - //--------------------------------------------------------------- - // フラグのタイミングと一致しているかをチェック - public boolean isFlag(int timing) { - for (int flag : values) - if (timing == flag) return true; - return false; - } - - //--------------------------------------------------------------- - // 奇数番目のフラグで穴を開けるフラグを提示する - public boolean isOpenFlag(double x) { - - if (count % 2 != 0) return false; - - double cx = (double) values.get(count) - 0.5; - if (cx <= x) { - if (count < values.size() - 1) count++; - return true; - } - return false; - } - - //--------------------------------------------------------------- - // 偶数番目のフラグで穴を閉じるフラグを提示する - public boolean isCloseFlag(double x) { - if (count % 2 == 0) return false; - - double cx = (double) values.get(count) - 0.5; - if (cx <= x + 0.25) { - if (count < values.size() - 1) count++; - return true; - } - return false; - } - -} diff --git a/src/main/java/entities/modelExtentions/Stage.java b/src/main/java/entities/modelExtentions/Stage.java new file mode 100644 index 0000000..1146f2e --- /dev/null +++ b/src/main/java/entities/modelExtentions/Stage.java @@ -0,0 +1,77 @@ +package entities.modelExtentions; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; + +public class Stage { + + private ArrayList values = new ArrayList<>(); + private int count = 0; + + //--------------------------------------------------------------- + //--------------------------------------------------------------- + public Stage() { + Path file = Paths.get("resources/stage.txt"); + String[] data = new String[1]; + + try { + List lines = Files.readAllLines(file, Charset.forName("Shift-JIS")); + + for (int i = 0; i < lines.size(); i++) data = lines.get(i).split(","); + for (int i = 0; i < data.length; i++) values.add(Integer.parseInt(data[i])); + for (int v : values) System.out.println(v); + + } catch (IOException e) { + System.out.println("Failed to load stage.txt"); + } + } + + //--------------------------------------------------------------- + //--------------------------------------------------------------- + // getter + public ArrayList getValues() { + return values; + } + + //--------------------------------------------------------------- + //--------------------------------------------------------------- + // フラグのタイミングと一致しているかをチェック + public boolean isFlag(int timing) { + for (int flag : values) + if (timing == flag) return true; + return false; + } + + //--------------------------------------------------------------- + // 奇数番目のフラグで穴を開けるフラグを提示する + public boolean isOpenFlag(double x) { + + if (count % 2 != 0) return false; + + double cx = (double) values.get(count) - 0.5; + if (cx <= x) { + if (count < values.size() - 1) count++; + return true; + } + return false; + } + + //--------------------------------------------------------------- + // 偶数番目のフラグで穴を閉じるフラグを提示する + public boolean isCloseFlag(double x) { + if (count % 2 == 0) return false; + + double cx = (double) values.get(count) - 0.5; + if (cx <= x + 0.25) { + if (count < values.size() - 1) count++; + return true; + } + return false; + } + +} diff --git a/src/main/java/models/JumpGameModel.java b/src/main/java/models/JumpGameModel.java index 41b04fd..9e6d387 100644 --- a/src/main/java/models/JumpGameModel.java +++ b/src/main/java/models/JumpGameModel.java @@ -1,16 +1,7 @@ package models; import entities.*; -import entities.modelExtentions.Flags; - -import javax.swing.plaf.synth.SynthTextAreaUI; -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.List; +import entities.modelExtentions.Stage; //--------------------------------------------------------------- // @@ -36,7 +27,7 @@ private double jumpPower = 256; //--------------------------------------------------------------- - private Flags flags; + private Stage stage; //--------------------------------------------------------------- //--------------------------------------------------------------- @@ -53,14 +44,14 @@ time = new Time(); gameover = new Gameover(position); clear = new Clear(position); - flags = new Flags(); + stage = new Stage(); } //--------------------------------------------------------------- //--------------------------------------------------------------- // getter - public Flags getFlags() { - return flags; + public Stage getStage() { + return stage; } public Pair getPosition() { @@ -139,8 +130,8 @@ public void updateGroundFlag() { double x = position.getValue().getFirst(); - if (flags.isOpenFlag(x)) ground.openHole(); - if (flags.isCloseFlag(x)) ground.closeHole(); + if (stage.isOpenFlag(x)) ground.openHole(); + if (stage.isCloseFlag(x)) ground.closeHole(); System.out.print("x: " + x + "/"); System.out.println("Ground: " + ground.getValue() + "/"); diff --git a/src/main/java/views/TileMapRenderer.java b/src/main/java/views/TileMapRenderer.java index cff741f..b7d4c64 100644 --- a/src/main/java/views/TileMapRenderer.java +++ b/src/main/java/views/TileMapRenderer.java @@ -1,7 +1,7 @@ package views; import entities.Pair; -import entities.modelExtentions.Flags; +import entities.modelExtentions.Stage; import models.IModel; import models.JumpGameModel; @@ -19,7 +19,7 @@ //--------------------------------------------------------------- public TileMapRenderer(IModel model) { JumpGameModel jumpGameModel = (JumpGameModel) model; - initTiles(jumpGameModel.getFlags()); + initTiles(jumpGameModel.getStage()); } //--------------------------------------------------------------- @@ -48,7 +48,7 @@ //-------------------------------------------------------------- //--------------------------------------------------------------- // 初期タイル作成 - private void initTiles(Flags flags) { + private void initTiles(Stage stage) { boolean isOpen = false; int space = 10; @@ -63,7 +63,7 @@ double x = 32 * newTile.getScaleValue() * (i + space); // フラグのチェック - if (flags.isFlag(i)) isOpen = !isOpen; + if (stage.isFlag(i)) isOpen = !isOpen; // タイルの切り替え if (isOpen) addNewTile(x, TileType.OPEN);