婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

今天填一個坑,俄羅斯方塊?。?br /> 俄羅斯方塊的移動不難實現,但是旋轉就不太容易實現,究其原因是因為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控制臺輸出俄羅斯方塊移動和旋轉功能的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美视频在线观看一区| 午夜久久久久久久久| 国产精品丝袜在线| 日产欧产美韩系列久久99| 成人av免费网站| 久久亚洲影视婷婷| 久久国产精品72免费观看| 91啪在线观看| 久久久亚洲精品一区二区三区| 日韩中文字幕一区二区三区| 欧美日韩另类一区| 丝袜亚洲另类欧美综合| 日本高清不卡在线观看| 成人午夜视频在线| 91精选在线观看| 亚洲无人区一区| 欧美日韩国产精品成人| 亚洲三级久久久| 99久久精品国产导航| 中文字幕在线观看一区二区| 国产99久久久精品| 国产无一区二区| 久久99国产精品久久99果冻传媒| 天堂成人国产精品一区| 午夜激情久久久| 99久久精品99国产精品| 日韩国产欧美视频| 久久综合视频网| 亚洲一区视频在线| 国产精品一区在线观看你懂的| 欧美性视频一区二区三区| 日韩成人免费在线| 国产jizzjizz一区二区| 欧美精品亚洲二区| 国产精品久久久久影院色老大 | 久久综合久久综合久久| 国产成人免费视| 国产成人精品一区二区三区四区| 亚洲一区免费在线观看| 国产馆精品极品| 欧美人体做爰大胆视频| 日韩欧美123| 欧美天天综合网| 欧美精品一区二区久久婷婷| 一区二区三区在线观看欧美| 国产在线精品视频| 91久久国产综合久久| 免费一级片91| www.色精品| 91精品国产美女浴室洗澡无遮挡| 亚洲视频一区二区在线| 国产精品综合久久| 亚洲精品福利视频网站| youjizz久久| 7777精品伊人久久久大香线蕉完整版| 亚洲欧洲韩国日本视频| av电影在线观看一区| 欧美一区二区在线免费播放| 一区二区不卡在线视频 午夜欧美不卡在| 一区二区三区在线观看国产| 激情综合五月婷婷| www成人在线观看| 久草这里只有精品视频| 欧美电影免费观看完整版| 欧美国产一区二区在线观看 | 337p粉嫩大胆噜噜噜噜噜91av | 亚洲欧洲色图综合| 最新国产成人在线观看| 国产成人无遮挡在线视频| 3d动漫精品啪啪一区二区竹菊 | 蓝色福利精品导航| 亚洲欧美日韩国产综合| 91香蕉国产在线观看软件| 国产精品毛片高清在线完整版| 久久国产精品72免费观看| 久久众筹精品私拍模特| 国产福利91精品一区二区三区| 久久久久青草大香线综合精品| 精品一区二区三区的国产在线播放| 91精品久久久久久久99蜜桃| 91视频91自| 一区二区三区精品| 欧美亚洲国产怡红院影院| 夜夜亚洲天天久久| 7777精品伊人久久久大香线蕉最新版| 欧美精品丝袜久久久中文字幕| 香蕉影视欧美成人| 5566中文字幕一区二区电影| 免费观看在线色综合| 国产亚洲一区二区三区| 亚洲免费在线观看| 国产精品久久久久三级| 色偷偷成人一区二区三区91| 亚洲国产精品一区二区久久| 成人黄色大片在线观看| 亚洲美女区一区| 亚洲黄色小视频| 成人动漫中文字幕| 免费成人在线播放| 久久亚洲二区三区| 蜜桃免费网站一区二区三区| 日日摸夜夜添夜夜添亚洲女人| 欧美一区三区二区| 久久精品国产免费| 精品国产乱码久久| 亚洲成人免费看| 亚洲在线视频免费观看| 精品国产sm最大网站| 岛国一区二区在线观看| 色94色欧美sute亚洲13| 欧美体内she精高潮| 午夜欧美视频在线观看| 久久久亚洲欧洲日产国码αv| 97精品国产97久久久久久久久久久久| 性感美女极品91精品| 九九**精品视频免费播放| 日韩综合小视频| 国产日韩综合av| 欧美特级限制片免费在线观看| 国产精品自拍毛片| 国产精品无人区| 亚洲午夜视频在线观看| 久久九九久精品国产免费直播| 欧美中文字幕一区| 国产 欧美在线| 国产精品久久久久久久第一福利| 欧美日韩高清一区二区三区| 成人性生交大合| 天天av天天翘天天综合网| 国产三区在线成人av| 国产日韩综合av| 日韩一区二区三区免费观看| 91麻豆成人久久精品二区三区| 日本在线播放一区二区三区| 欧美少妇一区二区| 欧美不卡一二三| 亚洲精品乱码久久久久久黑人| 东方欧美亚洲色图在线| 日本中文字幕一区二区有限公司| 国产精品美女久久久久aⅴ | 另类欧美日韩国产在线| 亚洲视频每日更新| 日日夜夜精品视频天天综合网| 中文字幕亚洲电影| 欧美激情一区在线观看| 久久美女艺术照精彩视频福利播放| 制服.丝袜.亚洲.中文.综合| 色久优优欧美色久优优| 国产精品美女久久久久高潮| 欧美日韩国产欧美日美国产精品| 精东粉嫩av免费一区二区三区| 亚洲美女少妇撒尿| 久久综合资源网| 制服丝袜中文字幕一区| 国产黑丝在线一区二区三区| 亚洲国产sm捆绑调教视频| 首页国产欧美日韩丝袜| 国产精品久久久久影院亚瑟| 日韩久久久精品| 欧美色男人天堂| 成人爽a毛片一区二区免费| 日韩av电影免费观看高清完整版 | 欧美午夜电影一区| 91丝袜美腿高跟国产极品老师 | 亚洲五码中文字幕| 一区二区三区中文字幕在线观看| 激情久久五月天| 久久精工是国产品牌吗| 亚洲午夜免费视频| 亚洲aⅴ怡春院| 欧美国产日本韩| 国产在线精品一区二区三区不卡| 麻豆精品一二三| 国产一区二区三区不卡在线观看| 免费高清在线一区| 日本欧美加勒比视频| 久久国产视频网| 日本强好片久久久久久aaa| 亚洲精品高清视频在线观看| 国产精品美女一区二区在线观看| 免费三级欧美电影| 极品尤物av久久免费看| 国产精品69久久久久水密桃| 99视频精品免费视频| 亚洲男人天堂av网| 成人性生交大片| 色综合久久99| 欧美日韩免费在线视频| 精品日韩在线观看| 亚洲v中文字幕| 国产a精品视频| 欧美午夜理伦三级在线观看| 国内精品写真在线观看| 亚洲第一久久影院| 性做久久久久久免费观看欧美| 亚洲一区二区在线免费看| 久久亚洲影视婷婷| 免费人成精品欧美精品| 另类小说综合欧美亚洲| 免费观看30秒视频久久|