校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

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

Python控制臺輸出俄羅斯方塊移動和旋轉功能

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

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

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

俄羅斯方塊-打印

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

# 盡可能吧俄羅斯方塊放在中間
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()

俄羅斯方塊-移動

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

# 文件名稱:Model-Tetris.PY
# 開發工具: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
# 開發工具: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

俄羅斯方塊-旋轉

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

#!/usr/bin/python
# _*_coding:utf-8_*_
# 開發人員:zys
# 開發時間:2021/4/16 16:50 
# 文件名稱:Test-Tetris.PY
# 開發工具: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是旋轉
        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_*_
# 開發人員:zys
# 開發時間:2021/4/16 16:36 
# 文件名稱:Model-Tetris.PY
# 開發工具: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旋轉
'''這里補充一個知識點:
    字典中的key是不可變的,所以不能用list作為字典的key,
    因為list可以修改,這里采用了元組作為key,指明不可改變,
    后面地址查值的時候需要進行類型轉換。'''
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])])   # 對應坐標添加到新的坐標
    Tetris[char] = newTetris

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

您可能感興趣的文章:
  • python 基于pygame實現俄羅斯方塊
  • Python控制臺輸出俄羅斯方塊的方法實例
  • Python Pygame實現俄羅斯方塊
  • python如何寫個俄羅斯方塊
  • python游戲實戰項目之俄羅斯方塊的魅力

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

巨人網絡通訊聲明:本文標題《Python控制臺輸出俄羅斯方塊移動和旋轉功能》,本文關鍵詞  Python,控制臺,輸出,俄羅斯,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python控制臺輸出俄羅斯方塊移動和旋轉功能》相關的同類信息!
  • 本頁收集關于Python控制臺輸出俄羅斯方塊移動和旋轉功能的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲天堂2016| 91精品一区二区三区久久久久久| 国产在线精品不卡| 久久只精品国产| 国产传媒欧美日韩成人| 亚洲色图色小说| 在线播放亚洲一区| 国产伦精品一区二区三区视频青涩 | 国产精品黄色在线观看| 在线观看国产精品网站| 日本vs亚洲vs韩国一区三区| 国产女人18毛片水真多成人如厕| 欧洲亚洲国产日韩| 国产99久久久国产精品免费看| 亚洲最大色网站| 久久综合国产精品| 欧美三级电影网站| 国产黄色成人av| 成人免费一区二区三区视频| 欧美一区二区在线观看| 91在线观看免费视频| 久久激情五月激情| 亚洲一区二区精品视频| 久久久亚洲精品一区二区三区| 99久久99久久精品免费观看| 丝袜脚交一区二区| 国产精品的网站| 欧美一区二区在线不卡| 99国产欧美另类久久久精品| 久久91精品久久久久久秒播| 国产精品乱码一区二区三区软件 | 久久九九久久九九| 9191久久久久久久久久久| 国产成人在线视频免费播放| 亚洲一区二区三区影院| 亚洲色图制服丝袜| 欧美激情一区二区三区蜜桃视频| 日韩欧美亚洲国产精品字幕久久久| 日本精品一级二级| 91免费看片在线观看| 国产91精品久久久久久久网曝门| 久久99精品久久久久久| 欧美aⅴ一区二区三区视频| 一区二区三区四区激情| 亚洲久草在线视频| 亚洲欧美激情在线| 综合久久综合久久| 国产精品久久毛片a| 欧美极品aⅴ影院| 中文在线免费一区三区高中清不卡| 久久综合色8888| 国产日韩欧美综合在线| 久久久久成人黄色影片| 国产精品欧美极品| 国产精品久久久久久久久果冻传媒 | 6080国产精品一区二区| 欧美一区二区三区免费视频| 69堂成人精品免费视频| 欧美精品电影在线播放| 欧美一区二区三区视频免费播放| 日韩区在线观看| 久久免费国产精品| 国产精品理伦片| 一区二区在线观看视频| 午夜精品一区二区三区免费视频 | 国产精品美女一区二区在线观看| 国产精品天美传媒| 亚洲男帅同性gay1069| 亚洲国产视频a| 午夜精品久久久久久久99樱桃 | 久久久影院官网| 国产精品成人午夜| 亚洲国产欧美在线人成| 蜜桃在线一区二区三区| 风流少妇一区二区| 欧美撒尿777hd撒尿| 26uuu国产在线精品一区二区| 久久久久国产精品麻豆ai换脸 | 欧美丝袜丝交足nylons| 欧美精品视频www在线观看 | 午夜视频一区二区| 成人永久免费视频| 欧美成人r级一区二区三区| 国产亚洲成aⅴ人片在线观看| 亚洲黄色av一区| 久久99久久久久| 91小视频免费看| 欧美精品一区二区三区在线播放| 亚洲欧洲日韩女同| 寂寞少妇一区二区三区| 欧美日韩成人综合| 国产精品国产三级国产三级人妇| 婷婷久久综合九色综合绿巨人 | 韩国毛片一区二区三区| 色综合久久88色综合天天| 日韩欧美亚洲另类制服综合在线| 国产精品二区一区二区aⅴ污介绍| 蜜桃av一区二区三区电影| 91影视在线播放| 久久久www成人免费毛片麻豆 | 国产午夜精品福利| 视频一区中文字幕| 91浏览器入口在线观看| 国产日产亚洲精品系列| 日韩av电影一区| 欧美中文字幕久久| 国产精品免费观看视频| 久热成人在线视频| 欧美日韩一区视频| 成人欧美一区二区三区在线播放| 国产一区二区在线观看免费| 91精品国产综合久久福利| 一区二区欧美国产| 91视频观看视频| 亚洲视频在线观看一区| 成人av动漫在线| 国产精品丝袜在线| 高清成人免费视频| 国产蜜臀av在线一区二区三区| 天天综合天天做天天综合| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲国产精品精华液ab| 风间由美一区二区三区在线观看 | 亚洲日本va午夜在线影院| 91精品一区二区三区在线观看| 亚洲精品国产第一综合99久久| zzijzzij亚洲日本少妇熟睡| 国产精品夫妻自拍| 在线看一区二区| 亚洲一卡二卡三卡四卡 | 亚洲午夜精品久久久久久久久| 欧美综合欧美视频| 午夜影院久久久| 制服丝袜日韩国产| 久久99久久99小草精品免视看| wwwwww.欧美系列| www.av亚洲| 亚洲一二三四在线| 欧美一二三四在线| 国产不卡高清在线观看视频| 国产精品丝袜一区| 91丝袜国产在线播放| 亚洲成av人影院| wwwwww.欧美系列| 91在线国产观看| 天天操天天综合网| 亚洲精品一区二区三区在线观看| 国产福利91精品| 亚洲视频中文字幕| 欧美性色黄大片手机版| 蜜臀久久久久久久| 国产精品嫩草影院com| 色综合中文综合网| 国产精品毛片高清在线完整版| 91美女在线看| 亚洲成人免费在线| 精品国产一区二区国模嫣然| 成人精品视频网站| 亚洲精品视频免费观看| 91精品午夜视频| 成人美女视频在线观看| ...xxx性欧美| 色av一区二区| 国产精品一区二区三区99| 欧美国产精品一区| 91精品国产91久久久久久最新毛片| 国产麻豆91精品| 夜夜嗨av一区二区三区中文字幕 | 一区二区三区四区高清精品免费观看| 91精品一区二区三区久久久久久 | 日韩欧美在线网站| 色又黄又爽网站www久久| 久久精品久久精品| 曰韩精品一区二区| 国产精品乱人伦中文| 精品免费视频一区二区| 欧美日韩国产影片| 99精品视频中文字幕| 国产精品一区二区男女羞羞无遮挡| 亚洲一区二区三区四区中文字幕| 国产婷婷色一区二区三区| 欧美一区日韩一区| 欧美少妇性性性| 色综合一区二区| 欧美性受xxxx| 日本高清不卡视频| 97成人超碰视| 成人免费av资源| 国产不卡在线一区| 国产精品一区二区三区四区 | 欧美精品丝袜久久久中文字幕| 99re成人精品视频| 成人网在线免费视频| 国产一区二区调教| 激情综合五月天| 狠狠狠色丁香婷婷综合激情| 日本成人在线看| 另类欧美日韩国产在线| 蜜臀久久99精品久久久久宅男| 日韩成人一级片|