Welcome to Dream.In.Code
Click Here
Getting Java Help is Easy!

Join 117,523 Java Programmers for FREE! Ask your question and get quick answers from experts. There are 2,067 online right now! We've got more than 500 tutorials and 2,000 snippets. Join and find out why Dream.In.Code is the #1 programming help community on the internet! Registration is fast and FREE... Join Now!



Simplifying My Code

 
Reply to this topicStart new topic

Simplifying My Code

DillonSalsman
post 1 Jul, 2008 - 01:01 PM
Post #1


D.I.C Head

**
Joined: 30 Oct, 2007
Posts: 57


My Contributions


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)
User is offlineProfile CardPM

Go to the top of the page


DillonSalsman
post 1 Jul, 2008 - 01:15 PM
Post #2


D.I.C Head

**
Joined: 30 Oct, 2007
Posts: 57


My Contributions


I updated the code to be able to set the length of each line then randomly generate the string (of numbers 0-9) then paint squares depending on the value of that char (0-9)
CODE

import java.awt.*;
import java.applet.*;
import java.util.Random;
public class ColorCoded extends Applet
{
    String line1;
    String line2;
    String line3;
    String line4;
    String line5;
    
    public String randomizeSquares(int limit)
    {
        String returnedString = "";
        Random rnd = new Random();
        for(int i = 0; i < limit; i++)
        returnedString += rnd.nextInt(10);
        return returnedString;
    }
    public void init()
    {
        
        
        line1 = randomizeSquares(10);
        line2 = randomizeSquares(7);
        line3 = randomizeSquares(9);
        line4 = randomizeSquares(4);
        line5 = randomizeSquares(6);
        
    }
    
    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] == '0') g.setColor(Color.red);
            else if(line1c[x] == '1') g.setColor(Color.blue);
            else if(line1c[x] == '2') g.setColor(Color.green);
            else if(line1c[x] == '3') g.setColor(Color.orange);
            else if(line1c[x] == '4') g.setColor(Color.pink);
            else if(line1c[x] == '5') g.setColor(Color.magenta);
            else if(line1c[x] == '6') g.setColor(Color.yellow);
            else if(line1c[x] == '7') g.setColor(Color.cyan);
            else if(line1c[x] == '8') g.setColor(Color.black);
            else g.setColor(Color.white);
            
            g.fill3DRect(x*20, 0, 20, 20, true);
        }
        
        for(int x = 0; x<line2.length();x++)
        {
            if( line2c[x] == '0') g.setColor(Color.red);
            else if(line2c[x] == '1') g.setColor(Color.blue);
            else if(line2c[x] == '2') g.setColor(Color.green);
            else if(line2c[x] == '3') g.setColor(Color.orange);
            else if(line2c[x] == '4') g.setColor(Color.pink);
            else if(line2c[x] == '5') g.setColor(Color.magenta);
            else if(line2c[x] == '6') g.setColor(Color.yellow);
            else if(line2c[x] == '7') g.setColor(Color.cyan);
            else if(line2c[x] == '8') g.setColor(Color.black);
            else g.setColor(Color.white);    
            
            g.fill3DRect(x*20, 20, 20, 20, true);
        }
        
        for(int x = 0; x<line3.length();x++)
        {
            if( line3c[x] == '0') g.setColor(Color.red);
            else if(line3c[x] == '1') g.setColor(Color.blue);
            else if(line3c[x] == '2') g.setColor(Color.green);
            else if(line3c[x] == '3') g.setColor(Color.orange);
            else if(line3c[x] == '4') g.setColor(Color.pink);
            else if(line3c[x] == '5') g.setColor(Color.magenta);
            else if(line3c[x] == '6') g.setColor(Color.yellow);
            else if(line3c[x] == '7') g.setColor(Color.cyan);
            else if(line3c[x] == '8') g.setColor(Color.black);
            else g.setColor(Color.white);        
            
            g.fill3DRect(x*20, 40, 20, 20, true);
        }
        for(int x = 0; x<line4.length();x++)
        {
            if( line4c[x] == '0') g.setColor(Color.red);
            else if(line4c[x] == '1') g.setColor(Color.blue);
            else if(line4c[x] == '2') g.setColor(Color.green);
            else if(line4c[x] == '3') g.setColor(Color.orange);
            else if(line4c[x] == '4') g.setColor(Color.pink);
            else if(line4c[x] == '5') g.setColor(Color.magenta);
            else if(line4c[x] == '6') g.setColor(Color.yellow);
            else if(line4c[x] == '7') g.setColor(Color.cyan);
            else if(line4c[x] == '8') g.setColor(Color.black);
            else g.setColor(Color.white);
            
            g.fill3DRect(x*20, 60, 20, 20, true);
        }
        for(int x = 0; x<line5.length();x++)
        {
            if( line5c[x] == '0') g.setColor(Color.red);
            else if(line5c[x] == '1') g.setColor(Color.blue);
            else if(line5c[x] == '2') g.setColor(Color.green);
            else if(line5c[x] == '3') g.setColor(Color.orange);
            else if(line5c[x] == '4') g.setColor(Color.pink);
            else if(line5c[x] == '5') g.setColor(Color.magenta);
            else if(line5c[x] == '6') g.setColor(Color.yellow);
            else if(line5c[x] == '7') g.setColor(Color.cyan);
            else if(line5c[x] == '8') g.setColor(Color.black);
            else g.setColor(Color.white);
        
            g.fill3DRect(x*20, 80, 20, 20, true);
        }
    }
    
}
User is offlineProfile CardPM

Go to the top of the page

Fast ReplyReply to this topicStart new topic
Time is now: 10/7/08 03:31PM

Live Java Help!

Java Tutorials

Reference Sheets

Java Snippets

Bye Bye Ads

Free DIC T-Shirt

T-Shirt Example

Related Sites

Monthly Drawing

Thumb Drive

Partners

Top Contributors

Top 10 Kudos This Month