pygwin2/examples/window-move.py
2021-12-09 23:12:27 +03:00

54 lines
1.9 KiB
Python

from win32api import GetSystemMetrics # Importing monitor resolution getter
import pygwin
import random
import copy
win = pygwin.create('A Simple Game', (500,500))
win.move(*[int(GetSystemMetrics(i)/2-win.size[i]/2) for i in range(2)]) # Center window
centered_position = win.position # Get centered position of window
player = [250,250]
apple = pygwin.rect(random.randint(0,490),
random.randint(0,490),20,20)
score = 0
run = True
while run:
for event in pygwin.getEvents():
if event.type == pygwin.QUIT:
run = False
win.fill((255,255,255))
playerRect = pygwin.rect(player[0]-10,player[1]-10,20,20)
playerRect.x += centered_position[0]-win.position[0] # Set player rect x pos relatively center of monitor
playerRect.y += centered_position[1]-win.position[1] # Set player rect y pos relatively center of monitor
win.draw.rect((0,0,0),playerRect)
atemp = copy.copy(apple) # Create copy of apple rect
atemp.x += centered_position[0]-win.position[0] # Set apple x pos relatively center of monitor
atemp.y += centered_position[1]-win.position[1] # Set apple y pos relatively center of monitor
win.draw.rect((200,50,50),atemp)
win.blit(score,(0,0))
set_position = win.position
if pygwin.keyboard.isPressed('w'):
player[1] -= 5
set_position[1] -= 5 # Move window up
if pygwin.keyboard.isPressed('s'):
player[1] += 5
set_position[1] += 5 # Move window down
if pygwin.keyboard.isPressed('d'):
player[0] += 5
set_position[0] += 5 # Move window right
if pygwin.keyboard.isPressed('a'):
player[0] -= 5
set_position[0] -= 5 # Move window left
win.move(*set_position) # Set position
if playerRect.collide(apple):
apple = pygwin.rect(random.randint(50,490),
random.randint(50,490),20,20)
score += 1
win.update(60)
pygwin.close()