import pygame
import sys
'''
http://p...content-available-to-author-only...e.org/docs/ref/draw.html#pygame.draw.circle
http://p...content-available-to-author-only...e.org/docs/ref/draw.html#pygame.draw.line
'''
screensize = [800, 600]
pygame.init()
'''
initialize a window or screen for display
pygame.display.set_mode(resolution=(0,0), flags=0, depth=0): return Surface
'''
screen = pygame.display.set_mode(screensize)
pygame.display.set_caption('Graphs')
screen.fill(pygame.color.THECOLORS['white'])
pygame.display.update()
'''
draw a straight line segment
pygame.draw.line(Surface, color, start_pos, end_pos, width=1): return Rect
'''
pygame.draw.line(screen, pygame.color.THECOLORS['red'], (100, 100), (400, 400), 5)
pygame.display.update()
'''
draw a circle around a point
pygame.draw.circle(Surface, color, pos, radius, width=0): return Rect
'''
pygame.draw.circle(screen, pygame.color.THECOLORS['purple'], (100, 100), 64)
pygame.display.update()
pygame.draw.circle(screen, pygame.color.THECOLORS['blue'], (400, 400), 64)
pygame.display.update()
# TODO (DONE) look up how to work with text.
# Create a font
font = pygame.font.Font(None, 64)
# Render the text
text = font.render('23', True, pygame.color.THECOLORS['black'])
# Create a rectangle
textRect = text.get_rect()
# Center the rectangle
textRect.centerx = 400
textRect.centery = 400
# Blit the text
screen.blit(text, textRect)
pygame.display.update()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
aW1wb3J0IHB5Z2FtZQppbXBvcnQgc3lzCgonJycKaHR0cDovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUub3JnL2RvY3MvcmVmL2RyYXcuaHRtbCNweWdhbWUuZHJhdy5jaXJjbGUKaHR0cDovL3AuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmUub3JnL2RvY3MvcmVmL2RyYXcuaHRtbCNweWdhbWUuZHJhdy5saW5lCicnJwpzY3JlZW5zaXplID0gWzgwMCwgNjAwXQpweWdhbWUuaW5pdCgpCgonJycKaW5pdGlhbGl6ZSBhIHdpbmRvdyBvciBzY3JlZW4gZm9yIGRpc3BsYXkKcHlnYW1lLmRpc3BsYXkuc2V0X21vZGUocmVzb2x1dGlvbj0oMCwwKSwgZmxhZ3M9MCwgZGVwdGg9MCk6IHJldHVybiBTdXJmYWNlCicnJwpzY3JlZW4gPSBweWdhbWUuZGlzcGxheS5zZXRfbW9kZShzY3JlZW5zaXplKQoKcHlnYW1lLmRpc3BsYXkuc2V0X2NhcHRpb24oJ0dyYXBocycpCnNjcmVlbi5maWxsKHB5Z2FtZS5jb2xvci5USEVDT0xPUlNbJ3doaXRlJ10pCnB5Z2FtZS5kaXNwbGF5LnVwZGF0ZSgpCgonJycKZHJhdyBhIHN0cmFpZ2h0IGxpbmUgc2VnbWVudApweWdhbWUuZHJhdy5saW5lKFN1cmZhY2UsIGNvbG9yLCBzdGFydF9wb3MsIGVuZF9wb3MsIHdpZHRoPTEpOiByZXR1cm4gUmVjdAonJycKcHlnYW1lLmRyYXcubGluZShzY3JlZW4sIHB5Z2FtZS5jb2xvci5USEVDT0xPUlNbJ3JlZCddLCAoMTAwLCAxMDApLCAoNDAwLCA0MDApLCA1KQpweWdhbWUuZGlzcGxheS51cGRhdGUoKQoKJycnCmRyYXcgYSBjaXJjbGUgYXJvdW5kIGEgcG9pbnQKcHlnYW1lLmRyYXcuY2lyY2xlKFN1cmZhY2UsIGNvbG9yLCBwb3MsIHJhZGl1cywgd2lkdGg9MCk6IHJldHVybiBSZWN0CicnJwpweWdhbWUuZHJhdy5jaXJjbGUoc2NyZWVuLCBweWdhbWUuY29sb3IuVEhFQ09MT1JTWydwdXJwbGUnXSwgKDEwMCwgMTAwKSwgNjQpCnB5Z2FtZS5kaXNwbGF5LnVwZGF0ZSgpCgpweWdhbWUuZHJhdy5jaXJjbGUoc2NyZWVuLCBweWdhbWUuY29sb3IuVEhFQ09MT1JTWydibHVlJ10sICg0MDAsIDQwMCksIDY0KQpweWdhbWUuZGlzcGxheS51cGRhdGUoKQoKIyBUT0RPIChET05FKSBsb29rIHVwIGhvdyB0byB3b3JrIHdpdGggdGV4dC4KCiMgQ3JlYXRlIGEgZm9udApmb250ID0gcHlnYW1lLmZvbnQuRm9udChOb25lLCA2NCkKCiMgUmVuZGVyIHRoZSB0ZXh0CnRleHQgPSBmb250LnJlbmRlcignMjMnLCBUcnVlLCBweWdhbWUuY29sb3IuVEhFQ09MT1JTWydibGFjayddKQoKIyBDcmVhdGUgYSByZWN0YW5nbGUKdGV4dFJlY3QgPSB0ZXh0LmdldF9yZWN0KCkKCiMgQ2VudGVyIHRoZSByZWN0YW5nbGUKdGV4dFJlY3QuY2VudGVyeCA9IDQwMAp0ZXh0UmVjdC5jZW50ZXJ5ID0gNDAwCgojIEJsaXQgdGhlIHRleHQKc2NyZWVuLmJsaXQodGV4dCwgdGV4dFJlY3QpCgpweWdhbWUuZGlzcGxheS51cGRhdGUoKQoKd2hpbGUgVHJ1ZToKICAgIGZvciBldmVudCBpbiBweWdhbWUuZXZlbnQuZ2V0KCk6CiAgICAgICAgaWYgZXZlbnQudHlwZSA9PSBweWdhbWUuUVVJVDoKICAgICAgICAgICAgc3lzLmV4aXQoKQ==