background.png adding to a snake game

by Sunil Deshpande » Wed, 29 Apr 2009 01:52:17 GMT

Sponsored Links
 Hi All,
 I am trying to learn android application development. For start I am
trying to modify the snake game which is given in SDK samples. Could
you please tell me how to change the background of snake game through
code. I want to insert my image instead of black color background.
Please tell me how to go ahead.

Warm regards,


Other Threads

1. How to get the View used my service?

Hi all, I wrote a simple service, how can I get which view the service

2. Finding if two line segments intersect

Hi all,

I have been searching for something like this for a while, finally  
made what I think is a decent solution on my own, and wanted to share  
it with the community. Comments would be appreciated, I think I may  
have some small bugs in the equality checking if the lines are  
parallel (I might need a <= where I have a < in case the last point is  
the overlap). Hopefully there are no glaring errors.

Also, please note that this is a solution for line segments, not for  
lines! There are a bunch of easily found, really similar solutions for  


Problem: Given 4 points, that define 2 line segments, return true/ 
false based on if they intersect. Could be easily modified to return  
the point of intersection.

Note that a precision point is simply a point that stores the x/y  
values as floats or doubles. I made it because I needed it for other  
stuff, you can just cast all of the int's to doubles yourself and it  
should work just as well.

        private boolean intersects(PrecisionPoint start1,
                        PrecisionPoint end1, PrecisionPoint start2, 
PrecisionPoint end2) {

                // First find Ax+By=C values for the two lines
                double A1 = end1.y - start1.y;
                double B1 = start1.x - end1.x;
                double C1 = A1 * start1.x + B1 * start1.y;

                double A2 = end2.y - start2.y;
                double B2 = start2.x - end2.x;
                double C2 = A2 * start2.x + B2 * start2.y;

                double det = (A1 * B2) - (A2 * B1);

                if (det == 0) {
                        // Lines are either parallel, are collinear (the exact 
                        // segment), or are overlapping partially, but not fully
                        // To see what the case is, check if the endpoints of 
one line
                        // correctly satisfy the equation of the other (meaning 
the two
                        // lines have the same y-intercept).
                        // If no endpoints on 2nd line can be found on 1st, 
they are
                        // parallel.
                        // If any can be found, they are either the same 
                        // overlapping, or two segments of the same line, 
separated by some
                        // distance.
                        // Remember that we know they share a slope, so there 
are no other
                        // possibilities

                        // Check if the segments lie on the same line
                        // (No need to check both points)
                        if ((A1 * start2.x) + (B1 * start2.y) == C1) {
                                // They are on the same line, check if they are 
in the same
                                // space
                                // We only need to check one axis - the other 
will follow
                                if ((Math.min(start1.x, end1.x) < start2.x)
                                                && (Math.max(start1.x, end1.x) 
                                        return true;

                                // One end point is ok, now check the other
                                if ((Math.min(start1.x, end1.x) < end2.x)
                                                && (Math.max(start1.x, end1.x) 
                                        return true;

                                // They are on the same line, but there is 
distance between them
                                return false;

                        // They are simply parallel
                        return false;
                } else {
                        // Lines DO intersect somewhere, but do the line 
segments intersect?
                        double x = (B2 * C1 - B1 * C2) / det;
                        double y = (A1 * C2 - A2 * C1) / det;

                        // Make sure that the intersection is within the 
bounding box of
                        // both segments
                        if ((x > Math.min(start1.x, end1.x) && x < 
                                        && (y > Math.min(start1.y, end1.y) && y 
< Math.max(
                                                        start1.y, end1.y))) {
                                // We are within the bounding box of the first 
line segment,
                                // so now check second line segment
                                if ((x > Math.min(start2.x, end2.x) && x < 
                                                && (y > Math.min(start2.y, 
end2.y) && y < Math.max(
end2.y))) {
                                        // The line segments do intersect
                                        return true;

                        // The lines do intersect, but the line segments do not
                        return false;


3. loading apk resources into a WebView

4. Android plugins not appearing in Eclipse (XP)

5. how to add prebuild apk to the emulator build

6. dynamic voltage frequency scaling

7. A fan of the Magic --- "Full Of Google Goodness"