Awesome! won't i be needing one for right and down too?


1 2 3 4 5 6 7 8 9 | private boolean canPlace(Actor actor, int x, int y) { if (actor == null ) return false ; // other checks returning false if actor cannot be placed return true ; if (y > 1 && getObjectsAt(x, y- 2 , Actor. class ).get( 0 ).getClass() == actor.getClass() && getObjectsAt(x, y- 1 , Actor. class ).get( 0 ).getClass() == actor.getClass()) { return false ; } } |
1 2 3 4 5 6 7 8 9 | private boolean canPlace(Actor actor, int x, int y) { if (actor == null ) return false ; // other checks returning false if actor cannot be placed return true ; if (y > 1 && getObjectsAt(x, y- 2 , Actor. class ).get( 0 ).getClass() == actor.getClass() && getObjectsAt(x, y- 1 , Actor. class ).get( 0 ).getClass() == actor.getClass()) { return false ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public int state = 0 ; public void act() { if (state == 0 ) { if (Greenfoot.mousePressed( this )) { state = 1 ; } } else if (state == 1 ) { movement(); } } public void movement() { if (Greenfoot.isKeyDown( "w" ) && Greenfoot.isKeyDown( "a" ) && Greenfoot.isKeyDown( "s" ) && Greenfoot.isKeyDown( "d" )) { setLocation(getX(), getY() - 1 ); state = 0 ; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import javax.swing.*; /** * */ public class Bejeweled_World extends World { public Bejeweled_World() { super ( 20 , 10 , 2 ); GreenfootImage bg = new GreenfootImage( "Bejeweled_bg.jpg" ); bg.scale(getCellSize(), getCellSize()); setBackground(bg); prepare(); } private boolean canPlace(Actor actor, int x, int y) { if (actor == null ) return false ; if (y > 1 ) // zero and one are the first two rows if (getObjectsAt(x, y- 2 , Actor. class ).get( 0 ).getClass() == actor.getClass()) { return false ; } if (getObjectsAt(x, y- 1 , Actor. class ).get( 0 ).getClass() == actor.getClass()) { return false ; } // other checks returning false if actor cannot be placed return true ; } public void prepare() { for ( int row= 0 ; row<getHeight(); row++) for ( int col= 0 ; col<getWidth(); col++) { Actor actor = null ; while (!canPlace(actor, col, row)) { int which = Greenfoot.getRandomNumber( 3 ); if (which == 0 ) actor = new Sword(); if (which == 1 ) actor = new Coin(); if (which == 2 ) actor = new Torch(); } addObject(actor, col, row); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.awt.Color; /** * This class makes up the background of the game and generates the other PIP 'worlds' in the game * such as the Bejeweled part and the adventure part while creating the menu at the left. * * @author Simon Nanoq Callisen * @version 28-04-2014 */ public class Main_Control extends World { PIP pip; PIP pip2; boolean wDown; boolean sDown; Actor mouseActor; int mouseOffX, mouseOffY; public Main_Control() { super ( 1675 , 910 , 1 ); //paint the background blue GreenfootImage background = getBackground(); background.setColor(Color.blue); background.fill(); //spawn the Bejeweled/puzzle world World minor = new Bejeweled_World(); Class[] order = { Sword. class }; Class[] order2 = { Torch. class }; Class[] order3 = { Coin. class }; pip = new PIP(minor, order); addObject(pip, 1070 , 605 ); } } |