Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Aguiar <alanjas@hotmail.com>2013-05-07 01:47:28 (GMT)
committer Alan Aguiar <alanjas@hotmail.com>2013-05-07 01:47:28 (GMT)
commit8f42beaccd85544cfeb9f42e302a07bc12095d30 (patch)
treed1f4dc76cb23b79b0b10b23b4ac359c6968368a7
parent8f5c4dc52eba779104f04295d7d391191c5e32ff (diff)
works lines draw
-rwxr-xr-xmain.py78
1 files changed, 70 insertions, 8 deletions
diff --git a/main.py b/main.py
index 2b078d7..38d2916 100755
--- a/main.py
+++ b/main.py
@@ -7,10 +7,13 @@ import pygame
#pygame.draw.rect(self.captura_to_show, (0,0,255), (p[0]*self.c1, p[1]*self.c2, 5, 5), 5)
-GRID_SIZE = (6, 5)
-BOX_SIZE = (50, 50)
+GRID_SIZE = (8, 6)
+BOX_SIZE = (60, 60)
X_OFFSET = 200
Y_OFFSET = 200
+T = 15
+COLOR1 = (255, 0, 0)
+COLOR2 = (0, 0, 255)
class Game:
@@ -19,8 +22,9 @@ class Game:
self.horizontal = []
self.vertical = []
-
- self.screen = pygame.display.set_mode((1200, 700))
+ self.x_end = 0
+ self.y_end = 0
+ self.screen = pygame.display.set_mode((900, 700))
self.screen.fill((84, 185, 72))
self.draw_grid()
@@ -43,19 +47,76 @@ class Game:
pygame.draw.circle(self.screen, (0, 0, 0), (x, y), 5, 5)
+ self.x_end = (len(self.horizontal) - 1) * BOX_SIZE[0] + X_OFFSET
+ self.y_end = (len(self.vertical) - 1) * BOX_SIZE[1] + Y_OFFSET
+
print self.horizontal
print self.vertical
- def where_x(self, pos):
- x, y = pos
+ def where_x(self, x):
for i in range(len(self.horizontal)):
if i > 0:
x1 = self.horizontal[i - 1]
x2 = self.horizontal[i]
- if x > x1 and x < x2:
+ if x >= x1 and x <= x2:
return x1, x2
return False
+ def where_y(self, y):
+ for j in range(len(self.vertical)):
+ if j > 0:
+ y1 = self.vertical[j - 1]
+ y2 = self.vertical[j]
+ if y >= y1 and y <= y2:
+ return y1, y2
+ return False
+
+ def where(self, pos):
+ x, y = pos
+ r1 = self.where_x(x)
+ r2 = self.where_y(y)
+
+ if not(r1 == False):
+ if not(r2 == False):
+ if x < (r1[0] + T):
+ #print 'cerca de', r1[0]
+ pygame.draw.line(self.screen, COLOR1, (r1[0],r2[0]), (r1[0],r2[1]), 5)
+ return
+ elif x > (r1[1] - T):
+ #print 'cerca de', r1[1]
+ pygame.draw.line(self.screen, COLOR1, (r1[1],r2[0]), (r1[1],r2[1]), 5)
+ return
+ else:
+ if (x > (X_OFFSET - T)) and (x < X_OFFSET):
+ if not(r2 == False):
+ pygame.draw.line(self.screen, COLOR1, (X_OFFSET,r2[0]), (X_OFFSET,r2[1]), 5)
+ return
+ elif (x < (self.x_end + T)) and (x > self.x_end):
+ if not(r2 == False):
+ pygame.draw.line(self.screen, COLOR1, (self.x_end,r2[0]), (self.x_end,r2[1]), 5)
+ return
+
+ if not(r2 == False):
+ if not(r1 == False):
+ if y < (r2[0] + T):
+ #print 'aloja', r2[0]
+ pygame.draw.line(self.screen, COLOR2, (r1[0],r2[0]), (r1[1],r2[0]), 5)
+ return
+ elif y > (r2[1] - T):
+ #print 'aloja', r2[1]
+ pygame.draw.line(self.screen, COLOR2, (r1[0],r2[1]), (r1[1],r2[1]), 5)
+ return
+ else:
+ if (y > Y_OFFSET - T) and (y < Y_OFFSET):
+ if not(r1 == False):
+ pygame.draw.line(self.screen, COLOR2, (r1[0],Y_OFFSET), (r1[1],Y_OFFSET), 5)
+ return
+ elif (y < (self.y_end + T)) and (y > self.y_end):
+ if not(r1 == False):
+ pygame.draw.line(self.screen, COLOR2, (r1[0],self.y_end), (r1[1],self.y_end), 5)
+ return
+
+
def run(self):
run = True
@@ -66,7 +127,8 @@ class Game:
run = False
elif event.type == pygame.MOUSEBUTTONDOWN:
pos = event.pos
- print pos, self.where_x(pos)
+ print pos
+ self.where(pos)
pygame.display.flip()