ich habe einfach mal angefangen mit einem Versuch ein kleines Spiel zu erstellen.
Ich würde gerne einfach mal wissen was an dem Script Müll ist und wo man evtl. anders ansetzen müsste. Geht demnach nicht unbedingt nur speziell um PyGame sonder viel mehr auch um Python.
Ich würde auch gerne wissen warum dieses "Game" schon 20% meiner CPU in Anspruch nimmt.
Hier nun mein Script:
Code: Alles auswählen
import os, sys
import pygame
from helper import *
#
# Game-Logic-Functions
#
#
def pass_gametime(time, minutes):
h = time[0]
m = time[1]
m += minutes
if m >= 60: #next hour?
div = m % (60)
h = h + (m / (60))
m = div
if h >= 24: #next day?
h = 0
return [h, m]
#
# Init PyGame
#
#
pygame.init()
#screen = pygame.display.set_mode((0,0), pygame.FULLSCREEN)
screen = pygame.display.set_mode((640,480), 0)
clock = pygame.time.Clock()
gui_screen = pygame.Surface(screen.get_size()) # create gui-screen
gui_screen = gui_screen.convert()
game_screen = pygame.Surface(screen.get_size()) #create game screen
game_screen = game_screen.convert()
EVENT_GAMETIME = 1
#
# Game Vars And Objects
#
#
gui_font = load_font("gui.ttf", 32) # gui font
gui_fontcolor1 = 250, 250, 250 # gui fontcolor
gametime = [8, 0] # start gametime [hours, minutes]
pygame.time.set_timer(EVENT_GAMETIME, (1000 * 10))
#
# Game loop
#
#
while 1:
time_passed = clock.tick(50)
# handle user input
for event in pygame.event.get():
if event.type == EVENT_GAMETIME: # update the gametime
gametime = pass_gametime(gametime, 10);
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE): # observe escape key
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN: # mousedown events
gametime = pass_gametime(gametime, 17);
# update game
# update guiscreen
text_gametime = gui_font.render("%02.f:%02.f Uhr" % (gametime[0], gametime[1]), 0, gui_fontcolor1)
gui_screen.fill((0,0,0))
gui_screen.blit(text_gametime, (15,5))
# update gamescreen
game_screen.fill((0,0,0))
# render screens
screen.blit(game_screen, (0,0))
screen.blit(gui_screen, (0,0))
# display
pygame.display.flip()
Code: Alles auswählen
import os, sys
import pygame
def load_font(file, size):
'Load\'s awesome fonts!'
file = os.path.join('/Users/alex/Documents/Python/DerPlaner/data/fonts', file)
try:
font = pygame.font.Font(file, size)
except pygame.error:
print 'There\'s either an error in the program or a font\'s missing'
return font