I am trying to do this and I have been struggling with programming.
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class HomeworkWorld here.
*
* @author ()
* @version (June 3, 2014)
*/
public class HomeworkWorld extends World
{
/**
* INSERT CODE BEOLW
* Add two instance variables that are of type String[]
* one will be an array of images
* one will be an array of sounds
* DO NOT INCLUDE THE FILE SUFFIX - add that through code later
*
* Note - each image is 55x55
*/
private String[] image = {"smiley1", "smiley2", "smiley3", "smiley4", "smiley5"};;
private String[] soundfile = {"hello", "happy", "crying", "ohno", "raspberry"};
/**
* Constructor for objects of class HomeworkWorld.
*
*/
public HomeworkWorld()
{
// Create a new world with 400x100 cells with a cell size of 1x1 pixels.
super(400, 100, 1);
}
/**
* INSERT CODE BELOW
* Write a "for" loop
* It should loop 5 times (you can either hard code 5 or use code)
* It should use the method addObject( Actor object, int x, int y) to add new Emoticons to your world.
* Note: concatinate the ".png" for images and ".wav" for the sounds
*
* Determine the x value using a mathematical calculation
* The y value can be either hard coded or calculated
*
*/
private void makeImages()
{
//make the Emoticon Images
for(int i = 0; i<5; i++)
{
images[i]=new String("smiley1", "smiley2", "smiley3", "smiley4", "smiley5");
sounds[i]=new String("hello","happy","crying","ohno","raspberry");
addObject(new Emoticon(images[i], sound[i]), 70*(i+1), 50);
}
}
}import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class Emoticon here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Emoticon extends Actor
{
/**
*INSERT CODE BELOW
* Create two instance varaibles of type String
* one named sound
* one named image
*/
private String sound;
private String image;
{
/**
* INSERT CODE BELOW
* Write a construtor method
* The method should have two parameters
* type: String name: newImage
* type: String name: newSound
*
* The method should
* 1. set the instance variable image to the value passed by the corresponding parameter
* 2. set the instance variable sound to the value passed by the corresponding parameter
*
* 3. Use the method setImage( java.lang.String filename ) to set the image.
*
*/
Emoticon emoticon = new Emoticon(image[i],sound[i]);
image = newImage;
sound = newSound;
setImage(image);
}
/**
* Act - do whatever the Emoticon wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
public void act()
{
// When the mouse is click on this object, play the sound.
if(Greenfoot.mouseClicked(this))
{
/**
* INSERT CODE BELOW
* Use the method Greenfoot.playSound( java.lang.String filename ) to play the sound
*
*/
Greenfoot.playSound(sound + ".wav");
}
}
}
