利用pygame制作魔方的平面展示
阿新 • • 發佈:2017-11-02
from pda port clas com code hit .com 創建
為了更方便地驗證我們魔方變換代碼的準確性,特地利用pyggame設置一個簡單的平面展示,初步展示我們的魔方操作
利用pygame模塊的函數制作界面
screen = pygame.display.set_mode((400,480)) //創建一個寬度400、高度480的窗口
pygame.draw.rect(screen,(255,255,255),(x,y,width,length),3) //用白色(255,255,255)填充矩形的外邊框,3代表邊框的寬度
pygame.draw.rect(screen,color,(x,y,34,34),0) //當設置為0時代表矩形全填充,34=40-3*2,這樣做是因為做出來的界面好看一點,白邊更方便我們定位魔方的四個格子
全部代碼如下:
1 import pygame 2 from pygame.locals import * 3 4 blue = 114,187,255 5 white = 230,230,255 6 yellow = 175,232,65 7 red = 178,71,61 8 orange = 255,129,66 9 green = 0,203,40 10 11 colors = [red,yellow,blue,white,green,orange] 12 13 def initialize(screen,x,y): 14 pygame.draw.rect(screen,(255,255,255),(x,y,40,40),3)15 pygame.draw.rect(screen,(255,255,255),(x+40,y,40,40),3) 16 pygame.draw.rect(screen,(255,255,255),(x,y+40,40,40),3) 17 pygame.draw.rect(screen,(255,255,255),(x+40,y+40,40,40),3) 18 19 def color_side(color,x,y,z,screen): 20 if(z==0 or z==1 or z==5): 21 pygame.draw.rect(screen,colors[color[0]],(x,y,34,34),0)22 pygame.draw.rect(screen,colors[color[1]],(x+40,y,34,34),0) 23 pygame.draw.rect(screen,colors[color[3]],(x,y+40,34,34),0) 24 pygame.draw.rect(screen,colors[color[2]],(x+40,y+40,34,34),0) 25 elif(z==2): 26 pygame.draw.rect(screen,colors[color[1]],(x,y,34,34),0) 27 pygame.draw.rect(screen,colors[color[2]],(x+40,y,34,34),0) 28 pygame.draw.rect(screen,colors[color[0]],(x,y+40,34,34),0) 29 pygame.draw.rect(screen,colors[color[3]],(x+40,y+40,34,34),0) 30 elif(z==3): 31 pygame.draw.rect(screen,colors[color[2]],(x,y,34,34),0) 32 pygame.draw.rect(screen,colors[color[3]],(x+40,y,34,34),0) 33 pygame.draw.rect(screen,colors[color[1]],(x,y+40,34,34),0) 34 pygame.draw.rect(screen,colors[color[0]],(x+40,y+40,34,34),0) 35 elif(z==4): 36 pygame.draw.rect(screen,colors[color[3]],(x,y,34,34),0) 37 pygame.draw.rect(screen,colors[color[0]],(x+40,y,34,34),0) 38 pygame.draw.rect(screen,colors[color[2]],(x,y+40,34,34),0) 39 pygame.draw.rect(screen,colors[color[1]],(x+40,y+40,34,34),0) 40 41 def color_update(matrix,screen): 42 color_side(matrix[0],163,163,0,screen) 43 color_side(matrix[1],163,243,1,screen) 44 color_side(matrix[2],243,163,2,screen) 45 color_side(matrix[3],163,83,3,screen) 46 color_side(matrix[4],83,163,4,screen) 47 color_side(matrix[5],163,323,5,screen) 48 49 def paint(matrix): 50 screen = pygame.display.set_mode((400,480)) 51 screen.fill((155,155,155)) 52 initialize(screen,160,160) 53 initialize(screen,160,240) 54 initialize(screen,240,160) 55 initialize(screen,160,80) 56 initialize(screen,80,160) 57 initialize(screen,160,320) 58 color_update(matrix,screen) 59 pygame.display.update() 60 61 paint([[0,0,0,0],[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4],[5,5,5,5]])
最終得到結果如下:
利用pygame制作魔方的平面展示