Skip to content

Commit

Permalink
- Added more examples from tutorial
Browse files Browse the repository at this point in the history
- Added colours for tttoe board
  • Loading branch information
AngelVI13 committed Apr 25, 2019
1 parent aeebea3 commit 1caf328
Showing 1 changed file with 103 additions and 8 deletions.
111 changes: 103 additions & 8 deletions gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,13 @@

import pygame
import time
import random


RED_RECT = 'ff5e58'
RED_RECT_HIGHLIGHT = 'ffdbd4'
BLUE_RECT = '3bd6ff'
FORCED_BOARD = 'ffffcb'

pygame.init()

Expand All @@ -10,7 +17,13 @@

black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
red = (200, 0, 0)
green = (0, 200, 0)

bright_red = (255, 0, 0)
bright_green = (0, 255, 0)

block_color = (53, 115, 255)

car_width = 73

Expand All @@ -21,11 +34,21 @@
carImg = pygame.image.load('racecar.png')


def things_dodged(count):
font = pygame.font.SysFont(None, 25)
text = font.render("Dodged: " + str(count), True, black)
gameDisplay.blit(text, (0, 0))


def things(thingx, thingy, thingw, thingh, color):
pygame.draw.rect(gameDisplay, color, [thingx, thingy, thingw, thingh])


def car(x, y):
gameDisplay.blit(carImg, (x, y))


def text_objects(text, font: pygame.font.Font):
def text_objects(text, font):
textSurface = font.render(text, True, black)
return textSurface, textSurface.get_rect()

Expand All @@ -38,20 +61,75 @@ def message_display(text):

pygame.display.update()

time.sleep(2)

game_loop()


def crash():
message_display('You Crashed')
time.sleep(2)

game_loop()

def button(msg, x, y, w, h, ic, ac, action=None):
mouse = pygame.mouse.get_pos()
click = pygame.mouse.get_pressed()
print(click)
if x + w > mouse[0] > x and y + h > mouse[1] > y:
pygame.draw.rect(gameDisplay, ac, (x, y, w, h))

if click[0] == 1 and action is not None:
action()
else:
pygame.draw.rect(gameDisplay, ic, (x, y, w, h))

smallText = pygame.font.SysFont("comicsansms", 20)
textSurf, textRect = text_objects(msg, smallText)
textRect.center = ((x + (w / 2)), (y + (h / 2)))
gameDisplay.blit(textSurf, textRect)


def game_intro():
intro = True

while intro:
for event in pygame.event.get():
# print(event)
if event.type == pygame.QUIT:
pygame.quit()
quit()

gameDisplay.fill(white)
largeText = pygame.font.SysFont("comicsansms", 115)
TextSurf, TextRect = text_objects("A bit Racey", largeText)
TextRect.center = ((display_width / 2), (display_height / 2))
gameDisplay.blit(TextSurf, TextRect)

button("GO!", 150, 450, 100, 50, green, bright_green, game_loop)
button("Quit", 550, 450, 100, 50, red, bright_red, quitgame)

pygame.display.update()
clock.tick(15)

def quitgame():
pygame.quit()
quit()

def game_loop():
x = (display_width * 0.45)
y = (display_height * 0.8)

x_change = 0

thing_startx = random.randrange(0, display_width)
thing_starty = -600
thing_speed = 4
thing_width = 100
thing_height = 100

thingCount = 1

dodged = 0

gameExit = False

while not gameExit:
Expand All @@ -72,18 +150,35 @@ def game_loop():
x_change = 0

x += x_change

gameDisplay.fill(white)

things(thing_startx, thing_starty, thing_width, thing_height, block_color)

thing_starty += thing_speed
car(x, y)
things_dodged(dodged)

if x > display_width - car_width or x < 0:
crash()

if thing_starty > display_height:
thing_starty = 0 - thing_height
thing_startx = random.randrange(0, display_width)
dodged += 1
thing_speed += 1
thing_width += (dodged * 1.2)

if y < thing_starty + thing_height:
print('y crossover')

if x > thing_startx and x < thing_startx + thing_width or x + car_width > thing_startx and x + car_width < thing_startx + thing_width:
print('x crossover')
crash()

pygame.display.update()
clock.tick(60)


game_intro()
game_loop()
pygame.quit()
quit()

quitgame()

0 comments on commit 1caf328

Please sign in to comment.