diff --git a/Meteo_Engine.jar b/Meteo_Engine.jar index 61b8f1b..6912362 100644 Binary files a/Meteo_Engine.jar and b/Meteo_Engine.jar differ diff --git a/src/sig/BlockClump.java b/src/sig/BlockClump.java index 1a9561c..84a812f 100644 --- a/src/sig/BlockClump.java +++ b/src/sig/BlockClump.java @@ -19,7 +19,7 @@ public class BlockClump { } public void drawBlocks(Graphics g, int originX, int originY, int block_width, int block_height) { for (Block b : blocks) { - b.draw(g,originX+x*block_width,originY-y*block_height,block_width,block_height); + b.draw(g,originX+x*block_width,originY-y,block_width,block_height); } } } diff --git a/src/sig/Board.java b/src/sig/Board.java index b39ebad..d11c600 100644 --- a/src/sig/Board.java +++ b/src/sig/Board.java @@ -16,6 +16,7 @@ public class Board { double[] combo_power_bonus; int x,y; int block_width,block_height; + double vspeed; public Board(int centerX,int centerY,int block_width,int block_height,int boardWidth, int boardHeight, double gravity, double launch_power, double max_rise_spd, double max_fall_spd, double[] combo_power_bonus) { this.x=centerX; @@ -38,10 +39,22 @@ public class Board { } } - BlockClump defaultClump = new BlockClump(initialBlocks,0,0,0); + BlockClump defaultClump = new BlockClump(initialBlocks,0,260,0); blockData.add(defaultClump); } + public void run() { + for (BlockClump blocks : blockData) { + if (blocks.y+blocks.yspd+gravity>0) { + blocks.yspd=Math.max(blocks.yspd+gravity,max_fall_spd); + blocks.y+=blocks.yspd; + } else { + //We have hit the bottom. + blocks.yspd=0; + blocks.y=0; + } + } + } public void drawBoard(Graphics g) { final int DRAW_STARTX = (int)(x - block_width*((double)width/2)); final int DRAW_STARTY = (int)(y + block_height*((double)height/2)); diff --git a/src/sig/Meteo.java b/src/sig/Meteo.java index 567c4a0..749a55d 100644 --- a/src/sig/Meteo.java +++ b/src/sig/Meteo.java @@ -15,11 +15,12 @@ public class Meteo { public static void runGameLoop() { FRAMECOUNT++; + b.run(); } public static void main(String[] args) { double[] val = {0,0,}; - b = new Board(SCREEN_WIDTH/2,SCREEN_HEIGHT/2,16,16,8,14,0.05,1,4,1,val); + b = new Board(SCREEN_WIDTH/2,SCREEN_HEIGHT/2,16,16,8,14,-0.065,1,4,-2,val); JFrame f = new JFrame("Meteo Engine"); Panel p = new Panel();