import sys,math
import pygame
#使用pygame之前必須初始化
pygame.init()
#設(shè)置主屏窗口
screen = pygame.display.set_mode((800,600))
#設(shè)置窗口標題
pygame.display.set_caption('')
# source = pygame.Surface((50, 50), flags=pygame.HWSURFACE)
# 如果沒有下列主循環(huán)代碼,運行結(jié)果會一閃而過
# x1, y1 = 200, 200
# x2, y2 = 500, 200
# x3, y3 = 150, 400
# x4, y4 = 450, 400
#
# x5,y5 = 200,100
# x6,y6 = 500,100
# x7,y7 = 150,200
# x8,y8 = 450,200
x0,y0 = 300,300
x10,y10 = 300,150
angle1 = 45
angle2 = 135
angle3 = 225
angle4 = 315
def count(angle,length):
# y = y2-y1
y = math.sin(math.pi * (angle / 180)) * length
y2 = int(y + y0)
# x = x2-x1
x = math.cos(math.pi * (angle / 180)) * length
x2 = int(x + x0)
return x2,y2
def count1(angle,length):
# y = y2-y1
y = math.sin(math.pi * (angle / 180)) * length
y2 = int(y + y10)
# x = x2-x1
x = math.cos(math.pi * (angle / 180)) * length
x2 = int(x + x10)
return x2,y2
a = True
# 更新屏幕內(nèi)容
pygame.display.flip()
while True:
# #填充主窗口的背景顏色,參數(shù)值RGB(顏色元組)
screen.fill((255, 255, 255))
# 循環(huán)獲取事件,監(jiān)聽事件
for event in pygame.event.get():
# 判斷用戶是否點了關(guān)閉按鈕
if event.type == pygame.QUIT:
#卸載所有模塊
pygame.quit()
#終止程序
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_RIGHT:
print('右')
angle1 -= 10
angle2 -= 10
angle3 -= 10
angle4 -= 10
elif event.key == pygame.K_LEFT:
print('左')
angle1 += 10
angle2 += 10
angle3 += 10
angle4 += 10
elif event.key == pygame.K_UP:
print('上')
y1 -=
elif event.key == pygame.K_DOWN:
print('下')
#豎線
x1, y1 = count(angle1, 50)
x2, y2 = count(angle2, 50)
x3, y3 = count(angle3, 50)
x4, y4 = count(angle4, 50)
def rect():
pygame.draw.line(screen, (1, 1, 1), (x0,y0),(x1,y1), 2)
pygame.draw.line(screen, (1, 1, 1), (x0,y0),(x2,y2), 2)
pygame.draw.line(screen, (1, 1, 1), (x0,y0),(x3,y3), 2)
pygame.draw.line(screen, (1, 1, 1), (x0,y0),(x4,y4), 2)
pygame.draw.line(screen, (1, 1, 1), (x1,y1),(x2,y2), 2)
pygame.draw.line(screen, (1, 1, 1), (x2,y2),(x3,y3), 2)
pygame.draw.line(screen, (1, 1, 1), (x3,y3),(x4,y4), 2)
pygame.draw.line(screen, (1, 1, 1), (x4,y4),(x1,y1), 2)
rect()
x11, y11 = count1(angle1, 50)
x22, y22 = count1(angle2, 50)
x33, y33 = count1(angle3, 50)
x44, y44 = count1(angle4, 50)
def rect():
pygame.draw.line(screen, (1, 1, 1), (x10,y10),(x11, y11), 2)
pygame.draw.line(screen, (1, 1, 1), (x10,y10),(x22, y22), 2)
pygame.draw.line(screen, (1, 1, 1), (x10,y10),(x33, y33), 2)
pygame.draw.line(screen, (1, 1, 1), (x10,y10),(x44, y44), 2)
pygame.draw.line(screen, (1, 1, 1), (x11, y11),(x22, y22), 2)
pygame.draw.line(screen, (1, 1, 1), (x22, y22),(x33, y33), 2)
pygame.draw.line(screen, (1, 1, 1), (x33, y33),(x44, y44), 2)
pygame.draw.line(screen, (1, 1, 1), (x44, y44),(x11, y11), 2)
rect()
def Vertical_line():#豎線
pygame.draw.line(screen, (1, 1, 1), (x11, y11), (x1,y1), 2)
pygame.draw.line(screen, (1, 1, 1), (x22, y22), (x2,y2), 2)
pygame.draw.line(screen, (1, 1, 1), (x33, y33), (x3,y3), 2)
pygame.draw.line(screen, (1, 1, 1), (x44, y44), (x4,y4), 2)
Vertical_line()
def parallelogram(): #平行四邊形
pygame.draw.line(screen, (1, 1, 1), (x1, y1), (x2, y2), 2)
pygame.draw.line(screen, (1, 1, 1), (x2, y2), (x4, y4), 2)
pygame.draw.line(screen, (1, 1, 1), (x3, y3), (x4, y4), 2)
pygame.draw.line(screen, (1, 1, 1), (x1, y1), (x3, y3), 2)
# parallelogram()
screen.blit(screen, (0, 0))
# 定義頻率
clock = pygame.time.Clock()
# 設(shè)定刷新幀率
clock.tick(60) # 越大刷新的越快
pygame.display.update()