Mr Potato Head
<< Burgers | OtherProjectsTrailIndex | Morse Code Tone >>


PotatoApplet.java
import java.awt.*;
import java.applet.*;
public class PotatoApplet extends Applet
{
public void paint(Graphics g)
{
Potato p = new MrPotatoHead(g);
drawGrid(g);
}
public void drawGrid(Graphics g)
{
g.setColor(Color.BLACK);
for(int i=0; i<getWidth(); i+=50)
for(int j=0; j<getHeight(); j+=50)
g.drawOval(i,j,2,2);
}
}
Potato.java
import java.awt.*;
class Potato
{
Color brown=new Color(100,50,50);
public Potato(Graphics g)
{
g.setColor(brown);
g.fillOval(100,100,450,600);
}
}
MrsPotatoHead.java
import java.awt.*;
class MrsPotatoHead extends Potato
{
private Eyes myEyes;
private Nose myNose;
private Lips myLips;
public MrsPotatoHead(Graphics g)
{
super(g);
myEyes = new Eyes(g,Color.BLUE, 220,200);
myLips = new Lips(g, 320, 500);
myNose = new Nose(g, 245,310);
}
}
MrPotatoHead.java
import java.awt.*;
class MrPotatoHead extends MrsPotatoHead
{
private Teeth myTeeth;
private Moustache myMoustache;
public MrPotatoHead(Graphics g)
{
super(g);
myMoustache = new Moustache(g, 320,425);
myTeeth = new Teeth(g, 320, 500);
}
}
Eyes.java
import java.awt.*;
public class Eyes
{
private int x,y;
private Color c;
/**
* Constructor for objects of class Eyes
*/
public Eyes(Graphics g,Color c, int x, int y)
{
this.x = x;
this.y = y;
this.c = c;
draw(g);
}
public void draw(Graphics g)
{
g.setColor(Color.black);
g.fillOval(x-3,y-3,106,96);
g.fillOval(x+80-3,y-3,106,96);
g.setColor(Color.white);
g.fillOval(x,y,100,90);
g.fillOval(x+80,y,100,90);
g.setColor(c);
g.fillOval(x+50,y+40,40,40);
g.fillOval(x+110,y+40,40,40);
g.setColor(Color.white);
g.fillOval(x+55,y+40,10,10);
g.fillOval(x+115,y+40,10,10);
}
}
Nose.java
import java.awt.*;
public class Nose
{
private int x,y;
private Color c;
/**
* Constructor for objects of class Eyes
*/
public Nose(Graphics g,Color c, int x, int y)
{
this.x = x;
this.y = y;
this.c = c;
draw(g);
}
public Nose(Graphics g, int x, int y)
{
this(g, new Color(255,190,190), x,y);
}
public void draw(Graphics g)
{
g.setColor(Color.black);
g.fillOval(x-3,y-3,96,96);
g.fillOval(x+50-3,y-3,96,96);
g.setColor(c);
g.fillOval(x,y,90,90);
g.fillOval(x+50,y,90,90);
g.fillOval(x+20,y-40,100,150);
g.setColor(Color.black);
g.drawArc(x+20,y-40,100,150, -10, -325);
}
}
Lips.java
import java.awt.*;
public class Lips
{
private int x,y;
private Color c;
Color pink= new Color(255,190,190);
/**
* Constructor for objects of class Eyes
*/
public Lips(Graphics g,Color c, int x, int y)
{
this.x = x;
this.y = y;
this.c = c;
draw(g);
}
public Lips(Graphics g, int x, int y)
{
this.x = x;
this.y = y;
this.c = Color.RED;
draw(g);
}
public void draw(Graphics g)
{
g.setColor(c);
g.fillArc(x-40,y-20,80,60,0,-180);
Polygon upperLip = new Polygon();
upperLip.addPoint(x,y);
upperLip.addPoint(x-20,y-20);
upperLip.addPoint(x-60,y+10);
upperLip.addPoint(x,y+10);
upperLip.addPoint(x+60,y+10);
upperLip.addPoint(x+20,y-20);
g.fillPolygon(upperLip);
g.setColor(Color.black);
g.drawPolygon(upperLip);
}
}
Teeth.java
import java.awt.*;
public class Teeth
{
private int x,y;
private Color c;
Color pink= new Color(255,190,190);
/**
* Constructor for objects of class Eyes
*/
public Teeth(Graphics g,Color c, int x, int y)
{
this.x = x;
this.y = y;
this.c = c;
draw(g);
}
public Teeth(Graphics g, int x, int y)
{
this.x = x;
this.y = y;
this.c = Color.WHITE;
draw(g);
}
public void draw(Graphics g)
{
g.setColor(c);
g.fillArc(x-20,y-10,20,40,0,-180);
g.fillArc(x,y-10,20,40,0,-180);
g.setColor(Color.black);
g.drawArc(x-20,y-10,20,40,0,-180);
g.drawArc(x,y-10,20,40,0,-180);
}
}
Moustache.java
import java.awt.*;
public class Moustache
{
private int x,y;
private Color c;
Color pink= new Color(255,190,190);
/**
* Constructor for objects of class Eyes
*/
public Moustache(Graphics g,Color c, int x, int y)
{
this.x = x;
this.y = y;
this.c = c;
draw(g);
}
public Moustache(Graphics g, int x, int y)
{
this.x = x;
this.y = y;
this.c = Color.BLACK;
draw(g);
}
public void draw(Graphics g)
{
Polygon moustache = new Polygon();
moustache.addPoint(x,y);
moustache.addPoint(x+150,y+50);
moustache.addPoint(x+150,y+80);
moustache.addPoint(x,y+60);
moustache.addPoint(x-150,y+80);
moustache.addPoint(x-150,y+50);
g.setColor(c);
g.fillPolygon(moustache);
}
}
