graphics_enabled = True
+
try:
import pygame
+ os.environ["SDL_VIDEO_ALLOW_SCREENSAVER"] = "1"
except:
graphics_enabled = False
+import time
self.error = 0
self.lock = threading.RLock()
self.cond = threading.Condition()
+ self.sleep_timeout = None
+ self.last_event = time.time()
+ self.blackout = False
#print "Test font"
pygame.font.Font(os.path.join(os.path.curdir, "data", "DejaVuSans.ttf"), 32).render("Hello", True,(0,0,0))
while not self.stopped():
- #print "Display grid"
- self.board.display_grid(window = self.window, grid_sz = self.grid_sz) # Draw the board
+ if self.sleep_timeout == None or (time.time() - self.last_event) < self.sleep_timeout:
+
+ #print "Display grid"
+ self.board.display_grid(window = self.window, grid_sz = self.grid_sz) # Draw the board
- #print "Display overlay"
- self.overlay()
+ #print "Display overlay"
+ self.overlay()
- #print "Display pieces"
- self.board.display_pieces(window = self.window, grid_sz = self.grid_sz) # Draw the board
+ #print "Display pieces"
+ self.board.display_pieces(window = self.window, grid_sz = self.grid_sz) # Draw the board
+ self.blackout = False
+
+ elif pygame.mouse.get_focused() and not self.blackout:
+ os.system("xset dpms force off")
+ self.blackout = True
+ self.window.fill((0,0,0))
pygame.display.flip()
for event in pygame.event.get():
+ self.last_event = time.time()
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.key == pygame.K_q):
if isinstance(game, GameThread):
with game.lock:
break
elif event.type == pygame.MOUSEBUTTONDOWN:
self.mouse_down(event)
+
elif event.type == pygame.MOUSEBUTTONUP:
- self.mouse_up(event)
+ self.mouse_up(event)
+
+
-
+
#print "Reject " + str(i) + str(event.pos) + " vs " + str(t)
+ # Function to choose between dedicated server or normal play
+ def SelectServer(self):
+
+ choice = self.SelectButton(["Normal", "Join Eigenserver"],prompt="Game type?")
+ if choice == 0:
+ return None
+ choice = self.SelectButton(["progcomp.ucc", "other"], prompt="Address?")
+ if choice == 0:
+ return "progcomp.ucc.asn.au"
+ else:
+ return self.getstr(prompt = "Enter address:")
+
# Function to pick players in a nice GUI way
def SelectPlayers(self, players = []):
time.sleep(1)
p = None
players.append(p)
- elif choice == 2:
+ elif choice == 1:
address = ""
while address == "":
self.board.display_grid(self.window, self.grid_sz)