日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python俄罗斯方块代码34行_少儿编程分享:码趣君教你用Python编写俄罗斯方块(四)...

發(fā)布時間:2024/9/30 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python俄罗斯方块代码34行_少儿编程分享:码趣君教你用Python编写俄罗斯方块(四)... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

接下來要進入操作部分了

堅持才能獲得最后的成就感噢

用移動變量處理用戶輸入

216. elif (event.key == K_LEFT or event.key == K_a):

217. movingLeft = False

218. elif (event.key == K_RIGHT or event.key == K_d):

219. movingRight = False

220. elif (event.key == K_DOWN or event.key == K_s):

221. movingDown = False

按下一個方向鍵(或是WASD鍵)設(shè)置 movingLeft, movingRight, or movingDown 變量反饋為錯誤,表示玩家不再想沿著這條道路移動積木。代碼稍后會根據(jù)Boolean值中的移動變量處理要做什么。請注意,向上箭頭和W鍵用于旋轉(zhuǎn)積木,而不是移動積木。 這就是為什么沒有moveUp變量。

檢驗滑動或旋轉(zhuǎn)是否是變量

223. elif event.type == KEYDOWN:

224. # moving the block sideways

225. if (event.key == K_LEFT or event.key == K_a) and isValidPosition(board, fallingPiece, adjX=-1):

226. fallingPiece['x'] -= 1

227. movingLeft = True

228. movingRight = False

229. lastMoveSidewaysTime = time.time()

當按下向左鍵(向左移動是一個變量,移動著積木,所以決定稱為isValidPosition()),那么我們應(yīng)該通過將dropsPiece ['x']的值減去1來將位置更改為左邊的一個空格。isValidPosition()函數(shù)具有可選參數(shù),稱為adjX和adjY。但有時我們不想檢查積木當前的位置,但是寧愿檢查一些小空格的位置。

如果我們將-1賦值給adjX(“adjusted X”的縮寫),那么就不會檢查積木數(shù)據(jù)結(jié)構(gòu)位置的有效性,而是會檢查如果左邊有一個空格,積木的位置將會放在那里。1賦值給adjX會檢查右邊的空間。還有adjY作為可選參數(shù)。-1賦值給 adjY 檢查積木現(xiàn)在所處位置上面一格,將數(shù)值如3賦值給adjY會檢查積木所處位置下面3格。

movingLeft變量設(shè)置為True,僅是確認掉落的積木既不會向左也不會向右移動,在228行的movingRight變量被設(shè)定為False。在229行的lastMoveSidewaysTime 變量會下載當前的時間。

這些變量的設(shè)置是為了玩家按下方向鍵使積木繼續(xù)移動。如果movingLeft變量設(shè)置為 True,程序知道向左鍵(或A鍵)按下還未松開。如果時間被存入lastMoveSidewaysTime變量后的0.15秒(數(shù)據(jù)被存儲在MOVESIDEWAYSFREQ中),就在這時程序會再次將積木移到左邊。

231. elif (event.key == K_RIGHT or event.key == K_d) and isValidPosition(board, fallingPiece, adjX=1):

232. fallingPiece['x'] += 1

233. movingRight = True

234. movingLeft = False

235. lastMoveSidewaysTime = time.time()

線231至235上的代碼幾乎與第225至229行完全相同,只是當按下右箭頭鍵(或D鍵)時,它處理向下移動下降的部分。

237. # rotating the block (if there is room to rotate)

238. elif (event.key == K_UP or event.key == K_w):

239. fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(SHAPES[fallingPiece['shape']])

向上鍵(或w鍵)可以多次翻轉(zhuǎn)下落的積木。這里所有代碼要做的是將fallingPiece的數(shù)據(jù)庫中翻轉(zhuǎn)鍵的值加1。然而,如果增加的翻轉(zhuǎn)鍵的值比翻轉(zhuǎn)總數(shù)大,然后通過“修改“形狀可能旋轉(zhuǎn)的總數(shù)(這就是len(SHAPES[fallingPiece['shape']]),則數(shù)值將會變?yōu)?,現(xiàn)在舉一個J形狀的例子,它擁有四種翻轉(zhuǎn)方向組合:

>>> 0 % 4

0

>>> 1 % 4

1

>>> 2 % 4

2

>>> 3 % 4

3

>>> 5 % 4

1

>>> 6 % 4

2

>>> 7 % 4

3

>>> 8 % 4

0

>>>

240. if not isValidPosition(board, fallingPiece):

241. fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(SHAPES[fallingPiece['shape']])

如果新的旋轉(zhuǎn)方向是無效的,那是因為它與底板上的一些方塊重疊在一起,那么我們想通過從dropsPiece ['rotation']減去1來將其切換回原來的旋轉(zhuǎn)。我們可以通過len(SHAPES[fallingPiece['shape']])來修改旋轉(zhuǎn)方向,如果新的數(shù)值是-1,該修改將會更改為列表中的最后一個旋轉(zhuǎn)。 以下是修改負數(shù)的示例:

>>> -1 % 4

3

242. elif (event.key == K_q): # rotate the other direction

243. fallingPiece['rotation'] = (fallingPiece['rotation'] - 1) % len(SHAPES[fallingPiece['shape']])

244. if not isValidPosition(board, fallingPiece):

245. fallingPiece['rotation'] = (fallingPiece['rotation'] + 1) % len(SHAPES[fallingPiece['shape']])

242行到245行與238行到241行做著相同的事,除了處理玩家按下控制相反方向翻轉(zhuǎn)的積木的Q鍵的情況。在這種情況下,我們從dropsPiece ['rotation']中減去1(在第243行完成),而不是加1。

247. # making the block fall faster with the down key

248. elif (event.key == K_DOWN or event.key == K_s):

249. movingDown = True

250. if isValidPosition(board, fallingPiece, adjY=1):

251. fallingPiece['y'] += 1

252. lastMoveDownTime = time.time()

如果按向下鍵或S鍵,那么積木下降的速度比正常的要快。251行是在底板向下移動積木一格(僅僅是有效的空格)。movingDown變量設(shè)置為True, lastMoveDownTime重置當前時間。稍后將會檢查這些變量,為了按下向下鍵或S鍵移動的積木將以更快的速度持續(xù)下降。

(未完待續(xù))

總結(jié)

以上是生活随笔為你收集整理的python俄罗斯方块代码34行_少儿编程分享:码趣君教你用Python编写俄罗斯方块(四)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 夜夜天天操 | 日本美女视频 | 日韩成人在线看 | 日韩av电影网站 | 国产精品久久久久久av | 另类欧美亚洲 | 艳妇臀荡乳欲伦交换h漫 | 成人亚洲网站 | 偷自在线 | 色吧在线视频 | 欧美日韩爱爱 | 成人国产在线视频 | 爱爱视频日本 | 亚洲国产精品suv | 久草中文在线视频 | free性护士vidos猛交 | 一区二区av | 午夜视频污 | 国产a网站 | 波多野结衣电车痴汉 | 中文在线视频 | 色婷婷国产精品 | 国产精品免费在线播放 | 欧美高清视频一区二区 | 九九色精品 | 97人妻人人揉人人躁人人 | 黄色福利在线观看 | 精品国产一区二区三区久久狼黑人 | 成人hd| 欧美jizz欧美性大全 | 卡通动漫精品一区二区三区 | 国产高清视频在线观看 | 19禁大尺度做爰无遮挡电影 | 亚洲性图一区二区三区 | 99re久久精品国产 | 天天插插 | 国产全肉乱妇杂乱视频 | 久久精品一区二区三区黑人印度 | av在线播放网站 | 天狂传说之巴啦啦小魔仙 | 麻豆精品视频在线观看 | 欧美绿帽交换xxx | 8090理论片午夜理伦片 | 精品动漫一区二区三区在线观看 | 伊人网av在线 | 国语对白对话在线观看 | 麻豆av一区二区 | 体内精视频xxxxx | 91蜜桃婷婷狠狠久久综合9色 | 国产第4页| 日本中文字幕免费 | 亚洲理论中文字幕 | 手机av中文字幕 | 51av视频 | 97公开视频 | 日韩激情图片 | 久久久久国产精品熟女影院 | 日韩中文字幕免费在线观看 | 免费草逼网站 | 在线成人毛片 | 一本到av | 你懂得在线 | 在线国产一区二区三区 | 日韩色资源| 在线观看污网站 | 国产精品高潮呻吟久久av野狼 | 激情深爱五月 | 国产黄在线免费观看 | 国产精品久久久久久久久久免费看 | 国产露脸国语对白在线 | 免费黄视频网站 | av丁香 | 成人污在线 | 99久久99 | www.jizz国产| 波多野结av衣东京热无码专区 | 国产精品国语自产拍在线观看 | 51免费看成人啪啪片 | 久久久精品欧美 | 国产精品九色 | 性感美女视频一二三 | 亚洲av永久无码精品一百度影院 | 午夜簧片| 在线黄色网页 | 天天爽天天 | 国产视频黄色 | 台湾色综合 | 国产伊人精品 | 欧美揉bbbbb揉bbbbb| 五月av| 精品国模一区二区三区 | 九色网站在线观看 | 成人爱爱免费视频 | 国产成人无码精品久久二区三 | 欧美一级色图 | 一二区在线视频 | 亚洲影视在线 | 在线观看你懂的网址 | 精品国产一二三 |