欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能

Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能

熱門標簽:地圖制圖標注位置改變是移位嗎 房產(chǎn)電銷外呼系統(tǒng) 南京銷售外呼系統(tǒng)軟件 上海機器人外呼系統(tǒng)哪家好 地圖標注的意義點 蓋州市地圖標注 315電話機器人廣告 地圖標注微信發(fā)送位置不顯示 浙江電銷卡外呼系統(tǒng)好用嗎

今天填一個坑,俄羅斯方塊??!
俄羅斯方塊的移動不難實現(xiàn),但是旋轉(zhuǎn)就不太容易實現(xiàn),究其原因是因為Python中沒有數(shù)組這種數(shù)據(jù)結(jié)構(gòu),所以不能用矩陣的公式。今天把旋轉(zhuǎn)做出來了,剛好整理一下,把之前的都整合在一起

這兩天瀏覽量有點離譜,說明一下,我沒有使用pygame,只是在控制臺可以打印、移動和旋轉(zhuǎn)生成的俄羅斯方塊星號圖形

俄羅斯方塊-打印

功能:輸入字母,打印俄羅斯方塊的*圖形

# 盡可能吧俄羅斯方塊放在中間
Tetris = {'L': [[1, 1], [1, 2], [1, 3], [2, 3]],
         'O': [[1, 1], [2, 1], [1, 2], [2, 2]],
         'J': [[2, 1], [2, 2], [1, 3], [2, 3]],
         'Z': [[1, 1], [2, 1], [2, 2], [3, 2]],
         'S': [[1, 1], [1, 2], [2, 2], [2, 3]],
         'I': [[1, 1], [1, 2], [1, 3], [1, 4]],
         'T': [[1, 1], [2, 1], [2, 2], [3, 1]]}
print(Tetris)

while True:
    figure = input("請輸入俄羅斯方塊的形狀")
    flag = 0
    for i in range(0, 5):
        for j in range(0, 4):
            for li in range(0, len(Tetris[figure])):    # Tetris['L']
                if j == Tetris[figure][li][0] and i == Tetris[figure][li][1]:
                    flag = 1
            if flag == 1:
                print("*", end='')
            else:
                print(" ", end='')
            flag = 0
        print()

俄羅斯方塊-移動

這一版使用了函數(shù)+字典
功能:輸入字母,打印俄羅斯方塊的*圖形,輸入468可以移動

# 文件名稱:Model-Tetris.PY
# 開發(fā)工具:PyCharm

Tetris = {'L': [[1, 1], [1, 2], [1, 3], [2, 3]],
         'O': [[1, 1], [2, 1], [1, 2], [2, 2]],
         'J': [[2, 1], [2, 2], [1, 3], [2, 3]],
         'Z': [[1, 1], [2, 1], [2, 2], [3, 2]],
         'S': [[1, 1], [1, 2], [2, 2], [2, 3]],
         'I': [[1, 1], [1, 2], [1, 3], [1, 4]],
         'T': [[1, 1], [2, 1], [2, 2], [3, 1]]}

def L_char(char):
    flag = 0
    for i in range(0, 7):
        for j in range(0, 7):
            for li in range(0, len(Tetris[char])):  # Tetris['L']
                if j == Tetris[char][li][0] and i == Tetris[char][li][1]:
                    flag = 1
            if flag == 1:
                print("*", end='')
            else:
                print(" ", end='')
            flag = 0
        print()

def move(char, num):
    if num == 2:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][1] += 1
    if num == 4:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][0] -= 1
    if num == 6:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][0] += 1
    if num == 8:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][1] -= 1
# 文件名稱:Test-Tetris.PY
# 開發(fā)工具:PyCharm   
from Day05 import Model_Tetris
if __name__ == '__main__':
    char = input("請輸入圖形:")
    Model_Tetris.L_char(char)
    while True:
        num = int(input("請輸入移動代碼2/4/6/8:"))
        if num == 8 or num == 2 or num == 4 or num == 6:
            Model_Tetris.move(char, num)
            Model_Tetris.L_char(char)
        else:
            break

俄羅斯方塊-旋轉(zhuǎn)

主要思想:預(yù)定義4X4的坐標轉(zhuǎn)換,旋轉(zhuǎn)式查找字典中的轉(zhuǎn)換坐標,進行相應(yīng)的替換
功能:輸入字母,打印俄羅斯方塊的*圖形,輸入468可以移動,輸入5可以旋轉(zhuǎn)
廢話不多說,直接給出代碼:

#!/usr/bin/python
# _*_coding:utf-8_*_
# 開發(fā)人員:zys
# 開發(fā)時間:2021/4/16 16:50 
# 文件名稱:Test-Tetris.PY
# 開發(fā)工具:PyCharm   
import random

from Day06.test1 import Model_Tetris
if __name__ == '__main__':
    # 隨機生成方法
    # Character = "LOJSZIT"
    # char = random.choice(Character)

    char = "L"
    Model_Tetris.L_char(char)
    while True:
        num = int(input("請輸入移動代碼4/5/6/8:")) # 5是旋轉(zhuǎn)
        if num == 8 or num == 4 or num == 6:
            Model_Tetris.move(char, num)
            Model_Tetris.L_char(char)
        elif num == 5:
            Model_Tetris.revolve(char)
            Model_Tetris.L_char(char)
        else:
            break
#!/usr/bin/python
# _*_coding:utf-8_*_
# 開發(fā)人員:zys
# 開發(fā)時間:2021/4/16 16:36 
# 文件名稱:Model-Tetris.PY
# 開發(fā)工具:PyCharm

Tetris = {'L': [[1, 1], [1, 2], [1, 3], [2, 3]],
         'O': [[1, 1], [1, 2], [2, 1], [2, 2]],
         'J': [[1, 2], [2, 2], [3, 1], [3, 2]],
         'Z': [[1, 1], [1, 2], [2, 2], [2, 3]],
         'S': [[1, 1], [2, 1], [2, 2], [3, 2]],
         'I': [[1, 1], [2, 1], [3, 1], [4, 1]],
         'T': [[1, 1], [1, 2], [2, 2], [1, 3]]}
# 4*4旋轉(zhuǎn)
'''這里補充一個知識點:
    字典中的key是不可變的,所以不能用list作為字典的key,
    因為list可以修改,這里采用了元組作為key,指明不可改變,
    后面地址查值的時候需要進行類型轉(zhuǎn)換。'''
rotateDict = {(1, 1): [4, 1], (1, 2): [3, 1], (1, 3): [2, 1], (1, 4): [1, 1],
              (2, 1): [4, 2], (3, 1): [4, 3], (4, 1): [4, 4], (4, 2): [3, 4],
              (4, 3): [2, 4], (4, 4): [1, 4], (3, 4): [1, 3], (2, 4): [1, 2],
              (2, 2): [3, 2], (3, 2): [3, 3], (3, 3): [2, 3], (2, 3): [2, 2]}

def L_char(char):
    flag = 0
    for i in range(0, 5):
        for j in range(0, 5):
            for li in range(0, len(Tetris[char])):  # Tetris['L']
                if j == Tetris[char][li][0] and i == Tetris[char][li][1]:
                    flag = 1
            if flag == 1:
                print("*", end='')
            else:
                print(" ", end='')
            flag = 0
        print()

def move(char, num):
    if num == 2:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][1] += 1
    if num == 4:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][0] -= 1
    if num == 6:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][0] += 1
    if num == 8:
        for li in range(0, len(Tetris[char])):
            Tetris[char][li][1] -= 1


def revolve(char):
    newTetris = []  # 新的list
    for i in range(len(Tetris[char])):
        newTetris.append(rotateDict[tuple(Tetris[char][i])])   # 對應(yīng)坐標添加到新的坐標
    Tetris[char] = newTetris

到此這篇關(guān)于Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)的文章就介紹到這了,更多相關(guān)Python控制臺輸出內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python 基于pygame實現(xiàn)俄羅斯方塊
  • Python控制臺輸出俄羅斯方塊的方法實例
  • Python Pygame實現(xiàn)俄羅斯方塊
  • python如何寫個俄羅斯方塊
  • python游戲?qū)崙?zhàn)項目之俄羅斯方塊的魅力

標簽:雙鴨山 陽泉 貴州 金華 日照 克拉瑪依 臨汾 赤峰

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能》,本文關(guān)鍵詞  Python,控制臺,輸出,俄羅斯,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python控制臺輸出俄羅斯方塊移動和旋轉(zhuǎn)功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩欧美国产一区在线观看| 婷婷在线精品视频| 欧美日韩成人一区二区| 中文字幕乱码亚洲精品一区| 国产综合久久久久久久久久久久 | 久久不见久久见免费视频7| 成人无码www在线看免费| 91精品国产一区二区| 午夜视频久久久久久| 超碰caoprom| 欧美一区二区三区视频在线观看| 亚洲超碰精品一区二区| 黄色免费视频网站| 日韩欧美电影一二三| 毛片一区二区三区| a资源在线观看| 欧美经典一区二区三区| 福利电影一区二区| 色综合久久综合网| 亚洲精品欧美二区三区中文字幕| 91看片淫黄大片一级在线观看| 欧美私模裸体表演在线观看| 亚洲电影在线播放| 中文字幕xxx| 久久久精品tv| 欧美色国产精品| 亚洲第一成年网| 国产伦精品一区二区三区妓女 | 欧美吞精做爰啪啪高潮| 亚洲成a人v欧美综合天堂| 久久人妻一区二区| 精品国产91九色蝌蚪| 国产盗摄一区二区| 日本韩国欧美三级| 偷拍日韩校园综合在线| 国产真人做爰视频免费| 国产精品久久久久精k8| 久草福利在线观看| 日韩欧美一二区| 国产传媒欧美日韩成人| 欧美性一级生活| 日本三级韩国三级欧美三级| 毛片久久久久久| 亚洲乱码一区二区三区在线观看| 亚洲av成人精品一区二区三区| 26uuu亚洲婷婷狠狠天堂| 国产99精品国产| 欧美日韩dvd在线观看| 久久国产精品99精品国产| 老熟妇高潮一区二区三区| 亚洲伦理在线精品| 在线 丝袜 欧美 日韩 制服| 国产精品美女一区二区在线观看| 91蜜桃在线免费视频| 欧美不卡一区二区| 成人激情av网| 日韩三级伦理片妻子的秘密按摩| 国产成人精品在线看| 欧美日韩在线精品一区二区三区激情| 蜜臀av一级做a爰片久久| 成人自拍小视频| 三级成人在线视频| 国产精品一区二区免费不卡| 欧美丝袜丝nylons| 国产一区二区三区| 欧美日韩不卡一区| 福利电影一区二区三区| 欧美一区二区三区免费在线看| 国产成人欧美日韩在线电影| 欧美剧情电影在线观看完整版免费励志电影| 经典一区二区三区| 欧美日韩你懂得| 国产a精品视频| 日韩视频国产视频| 91捆绑美女网站| 久久久久久久久久久电影| 无码av免费精品一区二区三区| 欧美国产日韩a欧美在线观看| 精品人妻在线视频| 日韩一区在线看| 久久亚洲AV无码专区成人国产| 亚洲欧美日韩精品久久久久| 波多野结衣片子| 亚洲成人免费在线观看| 国产1区2区3区4区| 麻豆一区二区三| 欧美日韩在线电影| av资源网一区| 国产女同性恋一区二区| aaaaaav| 一区二区成人在线视频| 波多野结衣久久久久| 久久精品免费观看| 欧美猛男gaygay网站| 99精品欧美一区二区三区综合在线| 久久青草国产手机看片福利盒子 | 欧美另类变人与禽xxxxx| 国产不卡视频在线播放| 精品久久一二三区| yy6080午夜| 亚洲高清在线视频| 在线视频你懂得一区二区三区| 国产精品12区| 国产亚洲欧美日韩日本| 一区二区三区四区免费| 日韩精品久久理论片| 欧美卡1卡2卡| 国产精品亚洲一区二区无码| 一区二区三区在线免费观看| 美女福利视频在线观看| 国产99久久久国产精品| 国产拍欧美日韩视频二区| 成人免费网站黄| 日本vs亚洲vs韩国一区三区 | 91网站在线播放| 国产精品久久久久影院色老大| 日日操免费视频| 韩国毛片一区二区三区| 久久综合九色欧美综合狠狠| 人妻少妇一区二区| 麻豆精品在线播放| 欧美成人vps| 色噜噜日韩精品欧美一区二区| 日本中文在线一区| 日韩一级欧美一级| 亚洲天堂网一区二区| 免费高清在线一区| 精品久久国产老人久久综合| 精品无码一区二区三区| 麻豆精品视频在线观看| 精品电影一区二区三区| 亚洲v国产v欧美v久久久久久| 久久国产精品区| 久久久久久久久久久电影| 少妇高潮一区二区三区喷水| 国产成人免费视频网站| 国产精品传媒在线| 在线欧美日韩国产| 韩国一区二区三区四区| 亚洲制服丝袜av| 欧美一级夜夜爽| 亚洲日本精品视频| 国产精品66部| 亚洲日本欧美天堂| 欧美日韩国产精选| 蜜桃色一区二区三区| 日韩精品视频网站| 久久亚洲二区三区| 中国一级片在线观看| 在线观看视频你懂得| 亚洲成人动漫精品| 精品日韩在线观看| 五月综合色婷婷| 91年精品国产| 日韩和欧美一区二区| 久久伊人中文字幕| www欧美com| 日本一区二区免费视频| 蜜桃av一区二区三区| 国产欧美精品日韩区二区麻豆天美| 久草综合在线视频| 人妻 日韩 欧美 综合 制服| 久久福利资源站| 亚洲欧美在线视频| 91.麻豆视频| 亚洲图片第一页| 99国产精品视频免费观看| 三级久久三级久久| 中文字幕免费一区| 欧美人狂配大交3d怪物一区| a天堂中文字幕| av一区二区三区| 日韩精品色哟哟| 国产精品久久一级| 91精品欧美久久久久久动漫| av免费播放网站| 可以看的av网址| 激情文学综合网| 亚洲摸摸操操av| 精品91自产拍在线观看一区| 色欧美乱欧美15图片| 在线 丝袜 欧美 日韩 制服| 成人国产精品视频| 男男视频亚洲欧美| 亚洲色图在线播放| 久久亚区不卡日本| 欧美午夜精品免费| 一二三四在线观看视频| 亚洲少妇中文字幕| 国产精品99久久久久久有的能看 | 一本色道综合亚洲| 9.1成人看片免费版| 99riav久久精品riav| 久久电影网电视剧免费观看| 亚洲免费资源在线播放| 久久久久久久国产精品影院| 欧美日韩高清在线| 粉嫩av性色av蜜臀av网站| 极品人妻一区二区三区| 99re免费视频精品全部|