Computer Science 252
 Problem Solving with Java
Fall 2015, The College of Saint Rose
StayPuft Demo
A working demo of StayPuft will appear below. Click inside the applet to interact with it.
StayPuft BlueJ Project
Click here to download a BlueJ project for StayPuft.
StayPuft Source Code
The Java source code for StayPuft is below. Click on a file name to download it.
import objectdraw.*;
import java.awt.*;
/*
 * Example StayPuft: a Marshmallow Man!  Draggable!
 *
 * Jim Teresco, The College of Saint Rose, CSC 252, Spring 2014
 *
 * $Id: StayPuft.java 2328 2014-02-25 14:15:29Z terescoj $
 */
public class StayPuft extends WindowController {
    
    // an objectdraw object that can store a picture
    private VisibleImage marshmallowMan;
    // for dragging
    private Location lastPoint;
    public void begin() {
        // load our image
        Image mManPic = getImage("mm.jpg");
        // create an objectdraw object using that image
        marshmallowMan = new VisibleImage(mManPic, 10, 10, canvas);
        marshmallowMan.setWidth(166);
        marshmallowMan.setHeight(255);
    }
    public void onMousePress(Location point) {
        lastPoint = point;
    }
    public void onMouseDrag(Location point) {
        
        if (marshmallowMan.contains(lastPoint)) {
            marshmallowMan.move(point.getX()-lastPoint.getX(),
                point.getY()-lastPoint.getY());
            lastPoint = point;
        }
    }
}