Skip to content

Instantly share code, notes, and snippets.

@Hyperparticle
Last active August 29, 2015 14:12
Show Gist options
  • Save Hyperparticle/cda4fba9a2e34657552d to your computer and use it in GitHub Desktop.
Save Hyperparticle/cda4fba9a2e34657552d to your computer and use it in GitHub Desktop.
Bad use of arrays for the first project in my first intro to Java class. I used arrays even though we didn't cover them in class because I thought I was being smart.
/*
* TrafficAnimation.java
* COMPSCI 121 Project 1: Traffic Animation
*/
/**
* Animates two cars traveling at different speeds which wrap
* back around to their starting position.
*
* @author Me
*/
public class TrafficAnimation extends JPanel
{
private int x = 0, x2 = 0; //anchor coordinates
private int y = 0, y2 = 0;
private final int R = 18; //Amount of rectangles
private final int T = 12; //Amount of triangles
private final int C = 9; //Amount of circles
private final int L = 32; //Amount of lines
private int t = 0, t2 = 0;
Random random = new Random();
int a = random.nextInt(50)-50;
int b = random.nextInt(3);
public void paintComponent(Graphics canvas)
{
//clears the previous image
//super.paintComponent(canvas);
//account for changes to window size
int width = getWidth(); // panel width
int height = getHeight(); // panel height
//Sets the "resolution" of the coordinate grid
int resW = width/20;
int resH = height/10;
int speed = width/120; //Vehicle speed
int speed2 = width/200;
double angSpeed = speed/(2*Math.PI*3*resW/4); //Speed of wheel rotation
double angSpeed2 = speed2/(2*Math.PI*3*resW/4); //Speed of wheel rotation
//Fill the canvas with the background color
canvas.setColor(getBackground());
canvas.fillRect(0, 0, width, height);
int vehicleWidth = 9*resW;
int vehicleHeight = 4*resH;
//Calculate the new position
x = x + speed;
y = height/2 - vehicleHeight/2; //Sets the vehicle to the middle of the screen
x2 = x2 + speed2;
y2 = y - 11*resH/4;
if (x > width)
{
x = -vehicleWidth - 3*resW;
}
if (x2 > width)
{
x2 = -vehicleWidth - 3*resW;
}
//Array of R rectangles
int[] rectangleX = new int[R];
int[] rectangleY = new int[R];
int[] rectangleW = new int[R];
int[] rectangleH = new int[R];
//Array of T triangles
int[][] triangleX = new int[T][3];
int[][] triangleY = new int[T][3];
//Array of C circles
int[] circleX = new int[C];
int[] circleY = new int[C];
int[] circleW = new int[C];
int[] circleH = new int[C];
//Array of R rectangles
int[] lineX1 = new int[L];
int[] lineY1 = new int[L];
int[] lineX2 = new int[L];
int[] lineY2 = new int[L];
//Rectangles
rectangleX[0] = x;
rectangleY[0] = y + 1*resH;
rectangleW[0] = 8*resW;
rectangleH[0] = 2*resH;
rectangleX[1] = x + 3*resW;
rectangleY[1] = y;
rectangleW[1] = 3*resW;
rectangleH[1] = 1*resH;
rectangleX[2] = x + 8*resW;
rectangleY[2] = y + 2*resH;
rectangleW[2] = 1*resW;
rectangleH[2] = 1*resH;
rectangleX[3] = x + 3*resW + resW/4;
rectangleY[3] = y + resH/4;
rectangleW[3] = 1*resW;
rectangleH[3] = 1*resH - resH/4;
rectangleX[4] = x + 5*resW - resW/4;
rectangleY[4] = y + resH/4;
rectangleW[4] = 1*resW;
rectangleH[4] = 1*resH - resH/4;
rectangleX[5] = x;
rectangleY[5] = y + 1*resH + resH/4;
rectangleW[5] = resW/2;
rectangleH[5] = resH/2;
rectangleX[6] = x;
rectangleY[6] = y + 2*resH - resH/8;
rectangleW[6] = resW/2;
rectangleH[6] = resH/4;
rectangleX[7] = 0;
rectangleY[7] = 5*resH/2;
rectangleW[7] = width;
rectangleH[7] = 10*resH/2;
rectangleX[8] = resW;
rectangleY[8] = 9*resH/2;
rectangleW[8] = 2*resW;
rectangleH[8] = resH/2;
rectangleX[16] = 3*resW;
rectangleY[16] = 0;
rectangleW[16] = resW;
rectangleH[16] = 2*resH;
//Triangles
triangleX[0][0] = x + 3*resW;
triangleY[0][0] = y;
triangleX[0][1] = x + 3*resW;
triangleY[0][1] = y + 1*resH;
triangleX[0][2] = x + 2*resW;
triangleY[0][2] = y + 1*resH;
triangleX[1][0] = x + 6*resW;
triangleY[1][0] = y;
triangleX[1][1] = x + 6*resW;
triangleY[1][1] = y + 1*resH;
triangleX[1][2] = x + 7*resW;
triangleY[1][2] = y + 1*resH;
triangleX[2][0] = x + 8*resW;
triangleY[2][0] = y + 1*resH;
triangleX[2][1] = x + 8*resW;
triangleY[2][1] = y + 2*resH;
triangleX[2][2] = x + 9*resW;
triangleY[2][2] = y + 2*resH;
triangleX[3][0] = x + 3*resW + resW/4;
triangleY[3][0] = y + resH/4;
triangleX[3][1] = x + 3*resW + resW/4;
triangleY[3][1] = y + 1*resH;
triangleX[3][2] = x + 2*resW + resW/2;
triangleY[3][2] = y + 1*resH;
triangleX[4][0] = x + 6*resW - resW/4;
triangleY[4][0] = y + resH/4;
triangleX[4][1] = x + 6*resW - resW/4;
triangleY[4][1] = y + 1*resH;
triangleX[4][2] = x + 7*resW - resW/2;
triangleY[4][2] = y + 1*resH;
triangleX[5][0] = x + 8*resW + resW/4;
triangleY[5][0] = y + 1*resH + resH/4;
triangleX[5][1] = x + 8*resW + resW/4;
triangleY[5][1] = y + 2*resH - resH/4;
triangleX[5][2] = x + 9*resW - resW/4;
triangleY[5][2] = y + 2*resH - resH/4;
//Circles
circleX[0] = x + 1*resW;
circleY[0] = y + 2*resH;
circleW[0] = 2*resW;
circleH[0] = 2*resH;
circleX[1] = x + 6*resW;
circleY[1] = y + 2*resH;
circleW[1] = 2*resW;
circleH[1] = 2*resH;
circleX[2] = circleX[0] + resW/4;
circleY[2] = circleY[0] + resH/4;
circleW[2] = circleW[0] - resW/2;
circleH[2] = circleH[0] - resH/2;
circleX[3] = circleX[1] + resW/4;
circleY[3] = circleY[1] + resH/4;
circleW[3] = circleW[1] - resW/2;
circleH[3] = circleH[1] - resH/2;
circleX[4] = 11*resW;
circleY[4] = 7*resH;
circleW[4] = 1*resW;
circleH[4] = 1*resH;
//Lines
lineX1[0] = x + 2*resW;
lineY1[0] = y + 3*resH;
lineX2[0] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed)*3*resW/4);
lineY2[0] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed)*3*resH/4);
lineX1[1] = x + 2*resW;
lineY1[1] = y + 3*resH;
lineX2[1] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI/2)*3*resW/4);
lineY2[1] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI/2)*3*resH/4);
lineX1[2] = x + 2*resW;
lineY1[2] = y + 3*resH;
lineX2[2] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI)*3*resW/4);
lineY2[2] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI)*3*resH/4);
lineX1[3] = x + 2*resW;
lineY1[3] = y + 3*resH;
lineX2[3] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + 3*Math.PI/2)*3*resW/4);
lineY2[3] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + 3*Math.PI/2)*3*resH/4);
lineX1[4] = x + 2*resW;
lineY1[4] = y + 3*resH;
lineX2[4] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI/4)*3*resW/4);
lineY2[4] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI/4)*3*resH/4);
lineX1[5] = x + 2*resW;
lineY1[5] = y + 3*resH;
lineX2[5] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + 3*Math.PI/4)*3*resW/4);
lineY2[5] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + 3*Math.PI/4)*3*resH/4);
lineX1[6] = x + 2*resW;
lineY1[6] = y + 3*resH;
lineX2[6] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + 5*Math.PI/4)*3*resW/4);
lineY2[6] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + 5*Math.PI/4)*3*resH/4);
lineX1[7] = x + 2*resW;
lineY1[7] = y + 3*resH;
lineX2[7] = lineX1[0] + (int)(Math.cos((double)t*Math.PI*angSpeed + 7*Math.PI/4)*3*resW/4);
lineY2[7] = lineY1[0] + (int)(Math.sin((double)t*Math.PI*angSpeed + 7*Math.PI/4)*3*resH/4);
lineX1[8] = x + 7*resW;
lineY1[8] = y + 3*resH;
lineX2[8] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed)*3*resW/4);
lineY2[8] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed)*3*resH/4);
lineX1[9] = x + 7*resW;
lineY1[9] = y + 3*resH;
lineX2[9] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI/2)*3*resW/4);
lineY2[9] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI/2)*3*resH/4);
lineX1[10] = x + 7*resW;
lineY1[10] = y + 3*resH;
lineX2[10] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI)*3*resW/4);
lineY2[10] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI)*3*resH/4);
lineX1[11] = x + 7*resW;
lineY1[11] = y + 3*resH;
lineX2[11] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + 3*Math.PI/2)*3*resW/4);
lineY2[11] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + 3*Math.PI/2)*3*resH/4);
lineX1[12] = x + 7*resW;
lineY1[12] = y + 3*resH;
lineX2[12] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + Math.PI/4)*3*resW/4);
lineY2[12] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + Math.PI/4)*3*resH/4);
lineX1[13] = x + 7*resW;
lineY1[13] = y + 3*resH;
lineX2[13] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + 3*Math.PI/4)*3*resW/4);
lineY2[13] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + 3*Math.PI/4)*3*resH/4);
lineX1[14] = x + 7*resW;
lineY1[14] = y + 3*resH;
lineX2[14] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + 5*Math.PI/4)*3*resW/4);
lineY2[14] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + 5*Math.PI/4)*3*resH/4);
lineX1[15] = x + 7*resW;
lineY1[15] = y + 3*resH;
lineX2[15] = lineX1[8] + (int)(Math.cos((double)t*Math.PI*angSpeed + 7*Math.PI/4)*3*resW/4);
lineY2[15] = lineY1[8] + (int)(Math.sin((double)t*Math.PI*angSpeed + 7*Math.PI/4)*3*resH/4);
//Vehicle 2
//Rectangles
rectangleX[9] = x2;
rectangleY[9] = y2 + 1*resH;
rectangleW[9] = 8*resW;
rectangleH[9] = 2*resH;
rectangleX[10] = x2 + 3*resW;
rectangleY[10] = y2;
rectangleW[10] = 3*resW;
rectangleH[10] = 1*resH;
rectangleX[11] = x2 + 8*resW;
rectangleY[11] = y2 + 2*resH;
rectangleW[11] = 1*resW;
rectangleH[11] = 1*resH;
rectangleX[12] = x2 + 3*resW + resW/4;
rectangleY[12] = y2 + resH/4;
rectangleW[12] = 1*resW;
rectangleH[12] = 1*resH - resH/4;
rectangleX[13] = x2 + 5*resW - resW/4;
rectangleY[13] = y2 + resH/4;
rectangleW[13] = 1*resW;
rectangleH[13] = 1*resH - resH/4;
rectangleX[14] = x2;
rectangleY[14] = y2 + 1*resH + resH/4;
rectangleW[14] = resW/2;
rectangleH[14] = resH/2;
rectangleX[15] = x2;
rectangleY[15] = y2 + 2*resH - resH/8;
rectangleW[15] = resW/2;
rectangleH[15] = resH/4;
//Triangles
triangleX[6][0] = x2 + 3*resW;
triangleY[6][0] = y2;
triangleX[6][1] = x2 + 3*resW;
triangleY[6][1] = y2 + 1*resH;
triangleX[6][2] = x2 + 2*resW;
triangleY[6][2] = y2 + 1*resH;
triangleX[7][0] = x2 + 6*resW;
triangleY[7][0] = y2;
triangleX[7][1] = x2 + 6*resW;
triangleY[7][1] = y2 + 1*resH;
triangleX[7][2] = x2 + 7*resW;
triangleY[7][2] = y2 + 1*resH;
triangleX[8][0] = x2 + 8*resW;
triangleY[8][0] = y2 + 1*resH;
triangleX[8][1] = x2 + 8*resW;
triangleY[8][1] = y2 + 2*resH;
triangleX[8][2] = x2 + 9*resW;
triangleY[8][2] = y2 + 2*resH;
triangleX[9][0] = x2 + 3*resW + resW/4;
triangleY[9][0] = y2 + resH/4;
triangleX[9][1] = x2 + 3*resW + resW/4;
triangleY[9][1] = y2 + 1*resH;
triangleX[9][2] = x2 + 2*resW + resW/2;
triangleY[9][2] = y2 + 1*resH;
triangleX[10][0] = x2 + 6*resW - resW/4;
triangleY[10][0] = y2 + resH/4;
triangleX[10][1] = x2 + 6*resW - resW/4;
triangleY[10][1] = y2 + 1*resH;
triangleX[10][2] = x2 + 7*resW - resW/2;
triangleY[10][2] = y2 + 1*resH;
triangleX[11][0] = x2 + 8*resW + resW/4;
triangleY[11][0] = y2 + 1*resH + resH/4;
triangleX[11][1] = x2 + 8*resW + resW/4;
triangleY[11][1] = y2 + 2*resH - resH/4;
triangleX[11][2] = x2 + 9*resW - resW/4;
triangleY[11][2] = y2 + 2*resH - resH/4;
//Circles
circleX[5] = x2 + 1*resW;
circleY[5] = y2 + 2*resH;
circleW[5] = 2*resW;
circleH[5] = 2*resH;
circleX[6] = x2 + 6*resW;
circleY[6] = y2 + 2*resH;
circleW[6] = 2*resW;
circleH[6] = 2*resH;
circleX[7] = circleX[5] + resW/4;
circleY[7] = circleY[5] + resH/4;
circleW[7] = circleW[5] - resW/2;
circleH[7] = circleH[5] - resH/2;
circleX[8] = circleX[6] + resW/4;
circleY[8] = circleY[6] + resH/4;
circleW[8] = circleW[6] - resW/2;
circleH[8] = circleH[6] - resH/2;
//Lines
lineX1[16] = x2 + 2*resW;
lineY1[16] = y2 + 3*resH;
lineX2[16] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2)*3*resW/4);
lineY2[16] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2)*3*resH/4);
lineX1[17] = x2 + 2*resW;
lineY1[17] = y2 + 3*resH;
lineX2[17] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI/2)*3*resW/4);
lineY2[17] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI/2)*3*resH/4);
lineX1[18] = x2 + 2*resW;
lineY1[18] = y2 + 3*resH;
lineX2[18] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI)*3*resW/4);
lineY2[18] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI)*3*resH/4);
lineX1[19] = x2 + 2*resW;
lineY1[19] = y2 + 3*resH;
lineX2[19] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 3*Math.PI/2)*3*resW/4);
lineY2[19] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 3*Math.PI/2)*3*resH/4);
lineX1[20] = x2 + 2*resW;
lineY1[20] = y2 + 3*resH;
lineX2[20] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI/4)*3*resW/4);
lineY2[20] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI/4)*3*resH/4);
lineX1[21] = x2 + 2*resW;
lineY1[21] = y2 + 3*resH;
lineX2[21] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 3*Math.PI/4)*3*resW/4);
lineY2[21] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 3*Math.PI/4)*3*resH/4);
lineX1[22] = x2 + 2*resW;
lineY1[22] = y2 + 3*resH;
lineX2[22] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 5*Math.PI/4)*3*resW/4);
lineY2[22] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 5*Math.PI/4)*3*resH/4);
lineX1[23] = x2 + 2*resW;
lineY1[23] = y2 + 3*resH;
lineX2[23] = lineX1[16] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 7*Math.PI/4)*3*resW/4);
lineY2[23] = lineY1[16] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 7*Math.PI/4)*3*resH/4);
lineX1[24] = x2 + 7*resW;
lineY1[24] = y2 + 3*resH;
lineX2[24] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2)*3*resW/4);
lineY2[24] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2)*3*resH/4);
lineX1[25] = x2 + 7*resW;
lineY1[25] = y2 + 3*resH;
lineX2[25] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI/2)*3*resW/4);
lineY2[25] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI/2)*3*resH/4);
lineX1[26] = x2 + 7*resW;
lineY1[26] = y2 + 3*resH;
lineX2[26] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI)*3*resW/4);
lineY2[26] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI)*3*resH/4);
lineX1[27] = x2 + 7*resW;
lineY1[27] = y2 + 3*resH;
lineX2[27] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 3*Math.PI/2)*3*resW/4);
lineY2[27] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 3*Math.PI/2)*3*resH/4);
lineX1[28] = x2 + 7*resW;
lineY1[28] = y2 + 3*resH;
lineX2[28] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + Math.PI/4)*3*resW/4);
lineY2[28] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + Math.PI/4)*3*resH/4);
lineX1[29] = x2 + 7*resW;
lineY1[29] = y2 + 3*resH;
lineX2[29] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 3*Math.PI/4)*3*resW/4);
lineY2[29] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 3*Math.PI/4)*3*resH/4);
lineX1[30] = x2 + 7*resW;
lineY1[30] = y2 + 3*resH;
lineX2[30] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 5*Math.PI/4)*3*resW/4);
lineY2[30] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 5*Math.PI/4)*3*resH/4);
lineX1[31] = x2 + 7*resW;
lineY1[31] = y2 + 3*resH;
lineX2[31] = lineX1[24] + (int)(Math.cos((double)t2*Math.PI*angSpeed2 + 7*Math.PI/4)*3*resW/4);
lineY2[31] = lineY1[24] + (int)(Math.sin((double)t2*Math.PI*angSpeed2 + 7*Math.PI/4)*3*resH/4);
//Shape drawing
//Background
canvas.setColor(new Color(60, 60, 60)); //Dark Gray
canvas.fillRect(rectangleX[7], rectangleY[7], rectangleW[7] , rectangleH[7]);
canvas.setColor(new Color(230, 230, 70)); //Yellow
for (int i = 0; i < 5; i++)
{ canvas.fillRect(rectangleX[8] + i*4*resW, rectangleY[8], rectangleW[8], rectangleH[8]); }
canvas.setColor(new Color(90, 60, 20)); //Brown
canvas.fillRect(rectangleX[16], rectangleY[16], rectangleW[16], rectangleH[16]);
canvas.fillRect(rectangleX[16]+12*resW, rectangleY[16], rectangleW[16], rectangleH[16]);
canvas.setColor(new Color(20, 80, 20)); //Dark Green
canvas.fillOval(circleX[4] + 3*resW, circleY[4] + resH, circleW[4], circleH[4]);
canvas.fillOval(circleX[4] + 7*resW/2, circleY[4] + resH, circleW[4]+resW/4, circleH[4]+resH/4);
canvas.fillOval(circleX[4] + 4*resW, circleY[4] + resH, circleW[4], circleH[4]);
/////////////
//VEHICLE 1//
/////////////
//Vehicle wheels
canvas.setColor(new Color(30, 30, 30)); //Black
for (int i = 5; i < 7; i++)
{ canvas.fillOval(circleX[i], circleY[i], circleW[i], circleH[i]); }
canvas.setColor(new Color(150, 150, 150)); //Gray
for (int i = 7; i < 9; i++)
{ canvas.fillOval(circleX[i], circleY[i], circleW[i], circleH[i]); }
Graphics2D g = (Graphics2D)canvas;
g.setColor(new Color(180, 180, 180)); //Light Gray
g.setStroke(new BasicStroke(5));
for (int i = 16; i < 32; i++)
{ g.drawLine(lineX1[i] , lineY1[i], lineX2[i], lineY2[i]); }
g.setColor(new Color(30, 30, 30)); //Black
g.setStroke(new BasicStroke(7));
g.drawArc(circleX[7], circleY[7], circleW[7], circleH[7], 0, 360);
g.drawArc(circleX[8], circleY[8], circleW[8], circleH[8], 0, 360);
//Vehicle body
canvas.setColor(new Color(170-a, 10-a, 20-a)); //Dark Red
for (int i = 9; i < 12; i++)
{ canvas.fillRect(rectangleX[i], rectangleY[i], rectangleW[i] , rectangleH[i]); }
for (int i = 6; i < 9; i++)
{ canvas.fillPolygon(triangleX[i], triangleY[i], 3); }
//Vehicle detail
canvas.setColor(new Color(100, 180, 230)); //Light Blue
for (int i = 9; i < 11; i++)
{ canvas.fillPolygon(triangleX[i], triangleY[i], 3); }
for (int i = 12; i < 14; i++)
{ canvas.fillRect(rectangleX[i], rectangleY[i], rectangleW[i] , rectangleH[i]); }
canvas.setColor(new Color(200, 80, 70)); //Red
canvas.fillRect(rectangleX[14], rectangleY[14], rectangleW[14] , rectangleH[14]);
canvas.setColor(new Color(230, 230, 70)); //Yellow
canvas.fillRect(rectangleX[15], rectangleY[15], rectangleW[15] , rectangleH[15]);
canvas.setColor(new Color(240, 240, 235)); //White
canvas.fillPolygon(triangleX[11], triangleY[11], 3);
//Text
canvas.setColor(Color.black);
canvas.drawString("The Most Boring Video Game Ever", width/4, height - resH);
//Avatar
canvas.setColor(new Color(240, 200, 160)); //Peach
canvas.fillOval(circleX[4], circleY[4], circleW[4], circleH[4]);
canvas.fillRect(circleX[4] - resW/2, circleY[4] + resH, resW/2, resH);
canvas.fillRect(circleX[4] + resW, circleY[4] + resH, resW/2, resH);
canvas.setColor(new Color(60, 190, 70)); //Light Green
canvas.fillRect(circleX[4], circleY[4]+resH, circleW[4], circleH[4]);
canvas.setColor(new Color(20, 50, 120)); //Navy Blue
canvas.fillRect(circleX[4]
@sbstp
Copy link

sbstp commented Dec 26, 2014

nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment