Graphics 640, 480, 16, 1 SetBuffer BackBuffer() SeedRnd(MilliSecs()) Global P1X = 50, P1Y = 50, P2X = 550, P2Y = 450 Global S = 10, S2 = 19, SD = 1, S2D = 0 Global P1D = 0, P1S = 5, P2S = 5 ;----------------------------------------------------------- Global P4X = 300, P4Y = 100 Global P4S = 5, S4 = 19, S4D = 0 ;----------------------------------------------------------- Global P5X = 50, P5Y = 400 Global P5S = 5, S5 = 19, S5D = 0 ; ########################################################## Global P1A = 50, P1B = 50, P2A = 550, P2B = 450 Global SS = 10, SS2 = 19, SSD = 1, SS2D = 0 Global P1DD = 0, P1SS = 5, P2SS = 5 ;----------------------------------------------------------- Global P4A = 300, P4B = 100 Global P4SS = 5, SS4 = 19, S4DD = 0 ;----------------------------------------------------------- Global P5A = 50, P5B = 400 Global P5SS = 5, SS5 = 19, S5DD = 0 C1 = Rand(0, 255) C2 = Rand(0, 255) C3 = Rand(0, 255) Cd = Rand(0, 1) Cd2 = Rand(0, 1) Cd3 = Rand(0, 1) ; ----------------------------------------- C21 = Rand(0, 255) C22 = Rand(0, 255) C23 = Rand(0, 255) C2d = Rand(0, 1) C2d2 = Rand(0, 1) C2d3 = Rand(0, 1) C31 = Rand(0, 255) C32 = Rand(0, 255) C33 = Rand(0, 255) C3d = Rand(0, 1) C3d2 = Rand(0, 1) C3d3 = Rand(0, 1) While Not KeyDown(1) Cls If C3D = 1 Then C31 = C31 + 1 If C3D = 0 Then C31 = C31 - 1 If C3D2 = 1 Then C32 = C32 + 1 If C3D2 = 0 Then C32 = C32 - 1 If C3D3 = 1 Then C33 = C33 + 1 If C3D3 = 0 Then C33 = C33 - 1 If C31 <= 20 Then C3D = 1 If C31 >= 255 Then C3D = 0 If C32 <= 20 Then C3D2 = 1 If C32 >= 255 Then C3D2 = 0 If C33 <= 20 Then C3D3 = 1 If C33 >= 255 Then C3D3 = 0 Color C1, C2, C3 If CD = 1 Then C1 = C1 + 1 If CD = 0 Then C1 = C1 - 1 If CD2 = 1 Then C2 = C2 + 1 If CD2 = 0 Then C2 = C2 - 1 If CD3 = 1 Then C3 = C3 + 1 If CD3 = 0 Then C3 = C3 - 1 If C1 <= 20 Then CD = 1 If C1 >= 255 Then CD = 0 If C2 <= 20 Then CD2 = 1 If C2 >= 255 Then CD2 = 0 If C3 <= 20 Then CD3 = 1 If C3 >= 255 Then CD3 = 0 ; -------------------------------------------------------------- Line P1X, P1Y, P2X, P2Y Line P1X - S, P1Y, P2X - S2, P2Y Line P1X - S * 2, P1Y, P2X - S2 * 2, P2Y Line P1X - S * 3, P1Y, P2X - S2 * 3, P2Y Line P1X - S * 4, P1Y, P2X - s2 * 4, P2Y Line P2X, P2Y, P4X, P4Y Line P2X - S2, P2Y, P4X - S4, P4Y Line P2X - S2 * 2, P2Y, P4X - S4 * 2, P4Y Line P2X - S2 * 3, P2Y, P4X - S4 * 3, P4Y Line P2X - S2 * 4, P2Y, P4X - s4 * 4, P4Y Line P4X, P4Y, P5X, P5Y Line P4X - S4, P4Y, P5X - S5, P5Y Line P4X - S4 * 2, P4Y, P5X - S5 * 2, P5Y Line P4X - S4 * 3, P4Y, P5X - S5 * 3, P5Y Line P4X - S4 * 4, P4Y, P5X - s5 * 4, P5Y Line P5X, P5Y, P1X, P1Y Line P5X - S5, P5Y, P1X - S, P1Y Line P5X - S5 * 2, P5Y, P1X - S * 2, P1Y Line P5X - S5 * 3, P5Y, P1X - S * 3, P1Y Line P5X - S5 * 4, P5Y, P1X - s * 4, P1Y ; --------------------------------------------------------------- Color C21, C22, C23 If C2D = 1 Then C21 = C21 + 1 If C2D = 0 Then C21 = C21 - 1 If C2D2 = 1 Then C22 = C22 + 1 If C2D2 = 0 Then C22 = C22 - 1 If C2D3 = 1 Then C23 = C23 + 1 If C2D3 = 0 Then C23 = C23 - 1 If C21 <= 20 Then C2D = 1 If C21 >= 255 Then C2D = 0 If C22 <= 20 Then C2D2 = 1 If C22 >= 255 Then C2D2 = 0 If C23 <= 20 Then C2D3 = 1 If C23 >= 255 Then C2D3 = 0 ; -------------------------------------------------------------- Line P1A, P1B, P2A, P2B Line P1A - S, P1B, P2A - S2, P2B Line P1A - S * 2, P1B, P2A - S2 * 2, P2B Line P1A - S * 3, P1B, P2A - S2 * 3, P2B Line P1A - S * 4, P1B, P2A - s2 * 4, P2B Line P2A, P2B, P4A, P4B Line P2A - S2, P2B, P4A - S4, P4B Line P2A - S2 * 2, P2B, P4A - S4 * 2, P4B Line P2A - S2 * 3, P2B, P4A - S4 * 3, P4B Line P2A - S2 * 4, P2B, P4A - s4 * 4, P4B Line P4A, P4B, P5A, P5B Line P4A - S4, P4B, P5A - S5, P5B Line P4A - S4 * 2, P4B, P5A - S5 * 2, P5B Line P4A - S4 * 3, P4B, P5A - S5 * 3, P5B Line P4A - S4 * 4, P4B, P5A - s5 * 4, P5B Line P5A, P5B, P1A, P1B Line P5A - S5, P5B, P1A - S, P1B Line P5A - S5 * 2, P5B, P1A - S * 2, P1B Line P5A - S5 * 3, P5B, P1A - S * 3, P1B Line P5A - S5 * 4, P5B, P1A - s * 4, P1B ; -------------------------------------------------------- If sD = 1 Then S = S + 1 If sD = 0 Then S = S - 1 If sD2 = 1 Then S2 = S2 + 1 If sD2 = 0 Then S2 = S2 - 1 If s <= 0 Then sD = 1 If s >= 20 Then sD = 0 If s2 <= 0 Then sD2 = 1 If s2 >= 20 Then sD2 = 0 If s4D = 1 Then S4 = S4 + 1 If s4D = 0 Then S4 = S4 - 1 If s5D = 1 Then S5 = S5 + 1 If s5D = 0 Then S5 = S5 - 1 If sS4 <= 0 Then s4D = 1 If sS4 >= 20 Then s4D = 0 If s5 <= 0 Then s5D = 1 If s5 >= 20 Then s5D = 0 ; -------------------------------------------------------- If sDD = 1 Then Ss = Ss + 1 If sDD = 0 Then Ss = Ss - 1 If sDD2 = 1 Then SS2 = SS2 + 1 If sDD2 = 0 Then SS2 = SS2 - 1 If sS <= 0 Then sDD = 1 If sS >= 20 Then sDD = 0 If sS2 <= 0 Then sDD2 = 1 If sS2 >= 20 Then sDD2 = 0 If s4DD = 1 Then SS4 = SS4 + 1 If s4DD = 0 Then SS4 = SS4 - 1 If s5DD = 1 Then SS5 = SS5 + 1 If s5dD = 0 Then SS5 = SS5 - 1 If sS4 <= 0 Then s4DD = 1 If sS4 >= 20 Then s4DD = 0 If sS5 <= 0 Then s5DD = 1 If sS5 >= 20 Then s5DD = 0 ; -------------------------------------------------------- If P1D = 0 Then p1x = p1X + p1s: p1Y = p1Y + p1S If P1D = 4 Then p1x = p1X + p1s: p1Y = p1Y - p1S If P1D = 3 Then p1x = p1X - p1s: p1Y = p1Y - p1S If P1D = 2 Then p1x = p1X - p1s: p1Y = p1Y + p1S If P1Y > 480 Then If P1D = 0 Then P1D = 4 If P1D = 2 Then P1D = 3 EndIf If P1X > 640 Then If P1D = 4 Then P1D = 3 If P1D = 0 Then P1D = 2 EndIf If P1Y < 0 Then If p1d = 3 Then P1D = 2 If P1D = 4 Then P1D = 0 EndIf If P1X < (0 + S) * 4 Then If p1d = 2 Then P1D = 0 If p1d = 3 Then P1D = 4 EndIf P1S = P1S + Rand(-1, 1) If P1S <= 3 Then P1S = 3 If P1S >= 10 Then P1S = 10 ; ---------------------------------------------------------------- If P2D = 0 Then p2x = p2X + p2s: p2Y = p2Y + p2S If P2D = 4 Then p2x = p2X + p2s: p2Y = p2Y - p2S If P2D = 3 Then p2x = p2X - p2s: p2Y = p2Y - p2S If P2D = 2 Then p2x = p2X - p2s: p2Y = p2Y + p2S If P2Y > 480 Then If P2D = 0 Then P2D = 4 If P2D = 2 Then P2D = 3 EndIf If P2X > 640 Then If P2D = 4 Then P2D = 3 If P2D = 0 Then P2D = 2 EndIf If P2Y < 0 Then If p2d = 3 Then P2D = 2 If P2D = 4 Then P2D = 0 EndIf If P2X < (0 + S2) * 4 Then If p2d = 2 Then P2D = 0 If p2d = 3 Then P2D = 4 EndIf P2S = P2S + Rand(-1, 1) If P2S <= 3 Then P2S = 3 If P2S >= 10 Then P2S = 10 ; ---------------------------------------------------------------- If P4D = 0 Then p4x = p4X + p4s: p4Y = p4Y + p4S If P4D = 4 Then p4x = p4X + p4s: p4Y = p4Y - p4S If P4D = 3 Then p4x = p4X - p4s: p4Y = p4Y - p4S If P4D = 2 Then p4x = p4X - p4s: p4Y = p4Y + p4S If P4Y > 480 Then If P4D = 0 Then P4D = 4 If P4D = 2 Then P4D = 3 EndIf If P4X > 640 Then If P4D = 4 Then P4D = 3 If P4D = 0 Then P4D = 2 EndIf If P4Y < 0 Then If p4d = 3 Then P4D = 2 If P4D = 4 Then P4D = 0 EndIf If P4X < (0 + S4) * 4 Then If p4d = 2 Then P4D = 0 If p4d = 3 Then P4D = 4 EndIf P4S = P4S + Rand(-1, 1) If P4S <= 3 Then P4S = 3 If P4S >= 10 Then P4S = 10 ; ---------------------------------------------------------------- If P5D = 0 Then p5x = p5X + p5s: p5Y = p5Y + p5S If P5D = 4 Then p5x = p5X + p5s: p5Y = p5Y - p5S If P5D = 3 Then p5x = p5X - p5s: p5Y = p5Y - p5S If P5D = 2 Then p5x = p5X - p5s: p5Y = p5Y + p5S If P5Y > 480 Then If P5D = 0 Then P5D = 4 If P5D = 2 Then P5D = 3 EndIf If P5X > 640 Then If P5D = 4 Then P5D = 3 If P5D = 0 Then P5D = 2 EndIf If P5Y < 0 Then If p5d = 3 Then P5D = 2 If P5D = 4 Then P5D = 0 EndIf If P5X < (0 + S5) * 4 Then If p5d = 2 Then P5D = 0 If p5d = 3 Then P5D = 4 EndIf P5S = P5S + Rand(-1, 1) If P5S <= 3 Then P5S = 3 If P5S >= 10 Then P5S = 10 If P1DD = 0 Then P1A = P1A + P5SSS: P1B = P1B + P5SSS If P1DD = 4 Then P1A = P1A + P5SSS: P1B = P1B - P5SSS If P1DD = 3 Then P1A = P1A - P5SSS: P1B = P1B - P5SSS If P1DD = 2 Then P1A = P1A - P5SSS: P1B = P1B + P5SSS If P1B > 480 Then If P1DD = 0 Then P1DD = 4 If P1DD = 2 Then P1DD = 3 EndIf If P1A > 640 Then If P1DD = 4 Then P1DD = 3 If P1DD = 0 Then P1DD = 2 EndIf If P1B < 0 Then If P1DD = 3 Then P1DD = 2 If P1DD = 4 Then P1DD = 0 EndIf If P1A < (0 + S) * 4 Then If P1DD = 2 Then P1DD = 0 If P1DD = 3 Then P1DD = 4 EndIf P5SSS = P5SSS + Rand(-1, 1) If P5SSS <= 3 Then P5SSS = 3 If P5SSS >= 10 Then P5SSS = 10 ; ---------------------------------------------------------------- If P2DD = 0 Then P2A = P2A + P2SS: P2B = P2B + P2SS If P2DD = 4 Then P2A = P2A + P2SS: P2B = P2B - P2SS If P2DD = 3 Then P2A = P2A - P2SS: P2B = P2B - P2SS If P2DD = 2 Then P2A = P2A - P2SS: P2B = P2B + P2SS If P2B > 480 Then If P2DD = 0 Then P2DD = 4 If P2DD = 2 Then P2DD = 3 EndIf If P2A > 640 Then If P2DD = 4 Then P2DD = 3 If P2DD = 0 Then P2DD = 2 EndIf If P2B < 0 Then If P2DD = 3 Then P2DD = 2 If P2DD = 4 Then P2DD = 0 EndIf If P2A < (0 + S2) * 4 Then If P2DD = 2 Then P2DD = 0 If P2DD = 3 Then P2DD = 4 EndIf P2SS = P2SS + Rand(-1, 1) If P2SS <= 3 Then P2SS = 3 If P2SS >= 10 Then P2SS = 10 ; ---------------------------------------------------------------- If P4DD = 0 Then P4A = P4A + P4SS: P4B = P4B + P4SS If P4DD = 4 Then P4A = P4A + P4SS: P4B = P4B - P4SS If P4DD = 3 Then P4A = P4A - P4SS: P4B = P4B - P4SS If P4DD = 2 Then P4A = P4A - P4SS: P4B = P4B + P4SS If P4B > 480 Then If P4DD = 0 Then P4DD = 4 If P4DD = 2 Then P4DD = 3 EndIf If P4A > 640 Then If P4DD = 4 Then P4DD = 3 If P4DD = 0 Then P4DD = 2 EndIf If P4B < 0 Then If P4DD = 3 Then P4DD = 2 If P4DD = 4 Then P4DD = 0 EndIf If P4A < (0 + S4) * 4 Then If P4DD = 2 Then P4DD = 0 If P4DD = 3 Then P4DD = 4 EndIf P4SS = P4SS + Rand(-1, 1) If P4SS <= 3 Then P4SS = 3 If P4SS >= 10 Then P4SS = 10 ; ---------------------------------------------------------------- If P5DD = 0 Then P5A = P5A + P5SS: P5B = P5B + P5SS If P5DD = 4 Then P5A = P5A + P5SS: P5B = P5B - P5SS If P5DD = 3 Then P5A = P5A - P5SS: P5B = P5B - P5SS If P5DD = 2 Then P5A = P5A - P5SS: P5B = P5B + P5SS If P5B > 480 Then If P5DD = 0 Then P5DD = 4 If P5DD = 2 Then P5DD = 3 EndIf If P5A > 640 Then If P5DD = 4 Then P5DD = 3 If P5DD = 0 Then P5DD = 2 EndIf If P5B < 0 Then If P5DD = 3 Then P5DD = 2 If P5DD = 4 Then P5DD = 0 EndIf If P5A < (0 + S5) * 4 Then If P5DD = 2 Then P5DD = 0 If P5DD = 3 Then P5DD = 4 EndIf P5SS = P5SS + Rand(-1, 1) If P5SS <= 3 Then P5SS = 3 If P5SS >= 10 Then P5SS = 10 Flip Wend End