當前位置:成語大全網 - 書法字典 - Python有趣的編程代碼

Python有趣的編程代碼

班級?要點:

row=0

col=0

def?__init__(self,劃,?col):

self.row=row

self.col=col

def?復制(自己):

回歸?Point(row=self.row,?col=self.col)

#初始幀

進口?pygame

進口?隨意

#初始化

pygame.init()

W=800

H=600

ROW=30

COL=40

尺寸=(寬,高)

window = py game . display . set _ mode(size)

py game . display . set _ caption(' snake ')

bg_color=(255,255,255)

snake _ color =(200200200)

head=Point(row=int(ROW/2),?col=int(COL/2))

head_color=(0,128,128)

蛇=[

Point(row=head.row,?col=head.col+1),

Point(row=head.row,?col=head.col+2),

Point(row=head.row,?col=head.col+3)

]

#生產食物

def?gen_food():

什麽時候?1:

pos=Point(row=random.randint(0,ROW-1),?col=random.randint(0,COL-1))

#

is_coll=False

#妳遇到蛇了嗎?

如果?head.row==pos.row?然後呢。head.col==pos.col:

is_coll=True

#蛇身

為了什麽?蛇?在?蛇:

如果?snake.row==pos.row?然後呢。snake.col==pos.col:

is_coll=True

破裂

如果?不是嗎?is_coll:

破裂

回歸?刷卡機

#定義坐標

food=gen_food()

food_color=(255,255,0)

direct = ' left ' #左、右、上、下

#

def?rect(點,?顏色):

單元格寬度=寬/列

cell_height=H/ROW

left = point.col *單元格寬度

top=point.row*cell_height

pygame.draw.rect(

窗口?顏色,

(左,?頂,?單元格_寬度,?單元格_高度)

)

及格

#遊戲循環

退出=真

clock=pygame.time.Clock()

什麽時候?退出:

#處理事件

為了什麽?事件?在?pygame.event.get():

如果?event.type==pygame。退出:

退出=假

埃利夫?event.type==pygame。按鍵:

如果?event.key==273?還是?event.key==119:

如果?直接== '左'?還是?direct=='right ':

直接= '向上'

埃利夫?event.key==274?還是?event.key==115:

如果?直接?==?左邊?還是?直接?==?“右”:

direct='down '

埃利夫?event.key==276?還是?event.key==97:

如果?直接?==?起來嗎?還是?直接?==?向下':

direct='left '

埃利夫?event.key==275?還是?event.key==100:

如果?直接?==?起來嗎?還是?直接?==?向下':

直接= '對'

#吃吧

吃=(head.row==food.row?然後呢。head.col==food.col)

#繁殖食物

如果?吃:

食物?=?gen_food()

#處理屍體

#1.把原來的頭插入蛇的頭部。

snakes.insert(0,head.copy())

#2.刪除最後的蛇。

如果?不是嗎?吃:

snakes.pop()

#移動

如果?direct=='left ':

head.col-=1

埃利夫?direct=='right ':

head.col+=1

埃利夫?direct=='up ':

head.row-=1

埃利夫?direct=='down ':

head.row+=1

#檢測

死亡=假

#1.突然跑不動了

如果?head.col & lt0?還是?head.row & lt0?還是?head.col & gt=COL?還是?head.row & gt=行:

死亡=真實

#2.打妳自己

為了什麽?蛇?在?蛇:

如果?head.col==snake.col?然後呢。head.row==snake.row:

死亡=真實

破裂

如果?死亡:

打印(“死”)

退出=假

#渲染-繪制它

#背景

pygame.draw.rect(window,?bg_color,?(0,0,W,H))

#蛇頭

為了什麽?蛇?在?蛇:

rect(蛇,?蛇_色)

rect(頭,頭_顏色)

rect(食物,?食物_顏色)

#

pygame.display.flip()

#設置幀速率(速度)

clock.tick(8)

#收尾工作這是壹個簡單版本的snake代碼。雖然結構簡單,但功能齊全,可玩性好。