This site requires JavaScript, please enable it in your browser!
Greenfoot back

scarereeper's Comments

Back to scarereeper's profile

i made the crab and crabworld myself
thats it
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class CrabWorld here. * * @author (your name) * @version (a version number or a date) */ public class CrabWorld extends World { /** * Constructor for objects of class CrabWorld. * */ public CrabWorld() { super(560, 560, 1); prepare(); } /** * Prepare the world for the start of the program. That is: create the initial * objects and add them to the world. */ private void prepare() { Counter counter = new Counter(); addObject(counter, 84, 44); worm worm = new worm(); addObject(worm, 166, 62); worm worm2 = new worm(); addObject(worm2, 363, 174); worm worm3 = new worm(); addObject(worm3, 409, 287); worm worm4 = new worm(); addObject(worm4, 131, 57); worm worm5 = new worm(); addObject(worm5, 104, 42); worm worm6 = new worm(); addObject(worm6, 81, 39); worm worm7 = new worm(); addObject(worm7, 59, 50); worm worm8 = new worm(); addObject(worm8, 26, 37); worm worm9 = new worm(); addObject(worm9, 421, 324); worm.setLocation(278, 397); worm4.setLocation(109, 432); worm5.setLocation(504, 80); worm7.setLocation(20, 238); worm8.setLocation(208, 264); worm6.setLocation(231, 64); worm9.setLocation(473, 453); lobster lobster = new lobster(); addObject(lobster, 433, 97); lobster.setLocation(81, 302); Crab crab = new Crab(counter); addObject(crab, 102, 310); crab.setLocation(515, 153); crab.setLocation(493, 305); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(84, 44); counter.setLocation(37, 7); counter.setLocation(42, 14); worm worm10 = new worm(); addObject(worm10, 70, 143); } public void scoreboard(int SCORE) { addObject(new ScoreBoard(600, 600), getWidth() / 2, getHeight() / 2); if (UserInfo.isStorageAvailable()) {//test to see if your data is avalable(logged in) UserInfo myInfo = UserInfo.getMyInfo();// set myInfo to UserInfo if (SCORE> myInfo.getScore()) //test to see if your score is better than your last { myInfo.setScore(SCORE);//set the score to your info myInfo.store();// store the info } } Score=SCORE; } } the crabworld
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class Crab extends Actor { private int points= 0; private Counter counter; public Crab(Counter pointCounter) { counter = pointCounter; //Saves the reference to Counter.class in the variable counter } /** * Act - do whatever the Crab wants to do. This method is called whenever * the 'Act' or 'Run' button gets pressed in the environment. */ public void act() { move(4); if (Greenfoot.isKeyDown("left")) { turn (-3); } if (Greenfoot.isKeyDown("right")) { turn(3); } {Actor worm; worm = getOneObjectAtOffset(0 ,0, worm.class); if (worm != null) { World world; world = getWorld(); world.removeObject(worm); if (getWorld().getObjects(worm.class).isEmpty()) { //levelup(); } counter.add(5); } } } public void gameOver() { CrabWorld crabworld = (CrabWorld) getWorld(); getWorld().addObject(new GameOver(points),450, 375); } } the crab
import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) import java.awt.Color; import java.awt.Font; import java.util.Calendar; /** * The ScoreBoard is used to display results on the screen. It can display some * text and several numbers. * * @author M Kolling * @version 1.0 */ public class GameOver extends Actor { public static final float FONT_SIZE = 48.0f; public static final int WIDTH = 400; public static final int HEIGHT = 300; int SCORE=0; /** * Create a score board with dummy result for testing. */ public GameOver() { this(100); } /** * Create a score board for the final result. */ public GameOver(int score) { makeImage("Game Over", "Score: ", "Press enter", score); SCORE=score; } /** * Make the score board image. */ private void makeImage(String title, String prefix, String prefix2, int score) { GreenfootImage image = new GreenfootImage(WIDTH, HEIGHT); image.setColor(new Color(255,255,255, 128)); image.fillRect(0, 0, WIDTH, HEIGHT); image.setColor(new Color(0, 0, 0, 128)); image.fillRect(5, 5, WIDTH-10, HEIGHT-10); Font font = image.getFont(); font = font.deriveFont(FONT_SIZE); image.setFont(font); image.setColor(Color.WHITE); image.drawString(title, 60, 100); image.drawString(prefix + score, 60, 200); image.drawString(prefix2, 60, 250); setImage(image); } public void act() { if(Greenfoot.isKeyDown("enter")){ Worldy worldy = (Worldy) getWorld(); worldy.scoreboard(SCORE); getWorld().removeObject(this); } if(Greenfoot.isKeyDown("e")){ Worldy worldy = (Worldy) getWorld(); worldy.scoreboard(SCORE); getWorld().removeObject(this); } } } the game over
import greenfoot.*; // (CrabWorld, ScoreBoard) import java.awt.Color; import java.util.List; /** * An actor class that can display a scoreboard, using Greenfoot's * UserInfo class. * * You typically use this by including some code into the world for when your game ends: * * <pre> * addObject(new ScoreBoard(800, 600), getWidth() / 2, getHeight() / 2); * </pre> * * Where 800 by 600 should be replaced by the desired size of the score board. * * @author Neil Brown * @version 1.0 */ public class ScoreBoard extends Actor { // The vertical gap between user images in the scoreboard: private static final int GAP = 10; // The height of the "All Players"/"Near Me" text at the top: private static final int HEADER_TEXT_HEIGHT = 25; // The main text color: private static final Color MAIN_COLOR = new Color(0x60, 0x60, 0x60); // dark grey // The score color: private static final Color SCORE_COLOR = new Color(0xB0, 0x40, 0x40); // orange-y // The background colors: private static final Color BACKGROUND_COLOR = new Color(0xFF, 0xFF, 0xFF, 0xB0); private static final Color BACKGROUND_HIGHLIGHT_COLOR = new Color(180, 230, 255, 0xB0); /** * Constructor for objects of class ScoreBoard. * <p> * You can specify the width and height that the score board should be, but * a minimum width of 600 will be enforced. */ public ScoreBoard(int width, int height) { setImage(new GreenfootImage(Math.max(600, width), height)); drawScores(); } private void drawString(String text, int x, int y, Color color, int height) { getImage().drawImage(new GreenfootImage(text, height, color, new Color (0, true)), x, y); } private void drawScores() { // 50 pixels is the max height of the user image final int pixelsPerUser = 50 + 2*GAP; // Calculate how many users we have room for: final int numUsers = ((getImage().getHeight() - (HEADER_TEXT_HEIGHT + 10)) / pixelsPerUser); final int topSpace = getImage().getHeight() - (numUsers * pixelsPerUser) - GAP; getImage().setColor(BACKGROUND_COLOR); getImage().fill(); drawString("All Players", 100, topSpace - HEADER_TEXT_HEIGHT - 5, MAIN_COLOR, HEADER_TEXT_HEIGHT); drawString("Near You", 100 + getImage().getWidth() / 2, topSpace - HEADER_TEXT_HEIGHT - 5, MAIN_COLOR, HEADER_TEXT_HEIGHT); drawUserPanel(GAP, topSpace, (getImage().getWidth() / 2) - GAP, topSpace + numUsers * pixelsPerUser, UserInfo.getTop(numUsers)); drawUserPanel(GAP + getImage().getWidth() / 2, topSpace, getImage().getWidth() - GAP, topSpace + numUsers * pixelsPerUser, UserInfo.getNearby(numUsers)); } private void drawUserPanel(int left, int top, int right, int bottom, List users) { getImage().setColor(MAIN_COLOR); getImage().drawRect(left, top, right - left, bottom - top); if (users == null) return; UserInfo me = UserInfo.getMyInfo(); int y = top + GAP; for (Object obj : users) { UserInfo playerData = (UserInfo)obj; Color c; if (me != null && playerData.getUserName().equals(me.getUserName())) { // Highlight our row in a sky blue colour: c = BACKGROUND_HIGHLIGHT_COLOR; } else { c = BACKGROUND_COLOR; } getImage().setColor(c); getImage().fillRect(left + 5, y - GAP + 1, right - left - 10, 50 + 2*GAP - 1); int x = left + 10; drawString("#" + Integer.toString(playerData.getRank()), x, y+18, MAIN_COLOR, 14); x += 50; drawString(Integer.toString(playerData.getScore()), x, y+18, SCORE_COLOR, 14); x += 80; getImage().drawImage(playerData.getUserImage(), x, y); x += 55; drawString(playerData.getUserName(), x, y + 18, MAIN_COLOR, 14); y += 50 + 2*GAP; } } } heres my whole scoreboard
what do you mean in wich section
i have a question about the Score=SCORE; variable. it says i doont have that variable (Score) help
ok thanks