Hey, I was wondering if anybody could tell me how to keep from repeating:
CODE
for(int x = 0; x<line1.length();x++)
{
if( line1c[x] == 'r') g.setColor(Color.red);
else if(line1c[x] == 'b') g.setColor(Color.blue);
else if(line1c[x] == 'g') g.setColor(Color.green);
else if(line1c[x] == 'o') g.setColor(Color.orange);
else if(line1c[x] == 'p') g.setColor(Color.pink);
else if(line1c[x] == 'm') g.setColor(Color.magenta);
else if(line1c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 0, 20, 20, true);
}
For each "line" of the "map"
CODE
import java.awt.*;
import java.applet.*;
public class ColorCoded extends Applet
{
String line1;
String line2;
String line3;
String line4;
String line5;
public void init()
{
line1 = "brpom";
line2 = "ywrgb";
line3 = "gobwt";
line4 = "romwg";
line5 = "byomp";
}
public void paint(Graphics g)
{
char[] line1c = line1.toCharArray();
char[] line2c = line2.toCharArray();
char[] line3c = line3.toCharArray();
char[] line4c = line4.toCharArray();
char[] line5c = line5.toCharArray();
for(int x = 0; x<line1.length();x++)
{
if( line1c[x] == 'r') g.setColor(Color.red);
else if(line1c[x] == 'b') g.setColor(Color.blue);
else if(line1c[x] == 'g') g.setColor(Color.green);
else if(line1c[x] == 'o') g.setColor(Color.orange);
else if(line1c[x] == 'p') g.setColor(Color.pink);
else if(line1c[x] == 'm') g.setColor(Color.magenta);
else if(line1c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 0, 20, 20, true);
}
for(int x = 0; x<line2.length();x++)
{
if( line2c[x] == 'r') g.setColor(Color.red);
else if(line2c[x] == 'b') g.setColor(Color.blue);
else if(line2c[x] == 'g') g.setColor(Color.green);
else if(line2c[x] == 'o') g.setColor(Color.orange);
else if(line2c[x] == 'p') g.setColor(Color.pink);
else if(line2c[x] == 'm') g.setColor(Color.magenta);
else if(line2c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 20, 20, 20, true);
}
for(int x = 0; x<line3.length();x++)
{
if( line3c[x] == 'r') g.setColor(Color.red);
else if(line3c[x] == 'b') g.setColor(Color.blue);
else if(line3c[x] == 'g') g.setColor(Color.green);
else if(line3c[x] == 'o') g.setColor(Color.orange);
else if(line3c[x] == 'p') g.setColor(Color.pink);
else if(line3c[x] == 'm') g.setColor(Color.magenta);
else if(line3c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 40, 20, 20, true);
}
for(int x = 0; x<line4.length();x++)
{
if( line4c[x] == 'r') g.setColor(Color.red);
else if(line4c[x] == 'b') g.setColor(Color.blue);
else if(line4c[x] == 'g') g.setColor(Color.green);
else if(line4c[x] == 'o') g.setColor(Color.orange);
else if(line4c[x] == 'p') g.setColor(Color.pink);
else if(line4c[x] == 'm') g.setColor(Color.magenta);
else if(line4c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 60, 20, 20, true);
}
for(int x = 0; x<line5.length();x++)
{if( line5c[x] == 'r') g.setColor(Color.red);
else if(line5c[x] == 'b') g.setColor(Color.blue);
else if(line5c[x] == 'g') g.setColor(Color.green);
else if(line5c[x] == 'o') g.setColor(Color.orange);
else if(line5c[x] == 'p') g.setColor(Color.pink);
else if(line5c[x] == 'm') g.setColor(Color.magenta);
else if(line5c[x] == 'y') g.setColor(Color.yellow);
else g.setColor(Color.white);
g.fill3DRect(x*20, 80, 20, 20, true);
}
}
}
Or just tell me what I can do to improve it..
One thing I plan on doing is to make all the lines into a 5x5 char array (but be able to easily change the length/amount of lines)