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

主頁 > 知識庫 > Python控制臺輸出俄羅斯方塊的方法實例

Python控制臺輸出俄羅斯方塊的方法實例

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

今天填一個坑,俄羅斯方塊!!

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

俄羅斯方塊-打印

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

# 盡可能吧俄羅斯方塊放在中間
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
    成人动漫一区二区| 久久草av在线| 成人av网在线| 国产成人精品一区二区三区四区| 国产精品电影一区二区| 欧美激情一区二区三区四区| 欧美va亚洲va国产综合| 欧美一区二区三区男人的天堂| 日韩久久久精品| www激情久久| 日韩精品一区二区三区在线 | 亚洲高清不卡在线| 亚洲bdsm女犯bdsm网站| 日本不卡123| 国产精品1区2区| 91国偷自产一区二区三区观看 | 成人三级伦理片| 亚洲精品视频在线| 捆绑变态av一区二区三区| 亚洲综合自拍偷拍| 亚洲国产精品99久久久久久久久| 亚洲人精品午夜| 亚洲电影一区二区| 亚洲成av人片在www色猫咪| 欧美刺激脚交jootjob| 国产三级欧美三级| 午夜欧美电影在线观看| 97久久精品人人爽人人爽蜜臀| av在线播放成人| 久久综合色8888| 中文字幕在线观看一区| 亚洲免费看黄网站| 在线免费观看日本一区| 欧美日韩精品一区二区三区蜜桃 | 一卡二卡三卡日韩欧美| 国产精品卡一卡二卡三| 一区二区三区四区蜜桃| 欧美成人精品高清在线播放| 欧美肥妇毛茸茸| 欧美日韩国产一级片| 国产综合久久久久久鬼色| 精品一区二区三区视频 | 蜜臀av一区二区三区| 国产一区二区三区四| 国产成a人亚洲| 欧美在线你懂的| 欧美日韩国产精品成人| 91精品国产欧美一区二区18| 日韩一区二区在线观看| 欧美揉bbbbb揉bbbbb| 日韩欧美综合在线| 在线观看av不卡| 久久久久久毛片| 91精品免费在线| 韩国一区二区视频| 亚洲成a人在线观看| 国内精品伊人久久久久影院对白| 麻豆视频观看网址久久| 国内精品不卡在线| www.视频一区| 日韩精品一区二区三区蜜臀 | 午夜电影久久久| 国产成人免费视频网站 | 国产盗摄女厕一区二区三区| 91论坛在线播放| 欧美在线免费观看亚洲| 久久久噜噜噜久久人人看 | 日韩一区二区不卡| 日韩精品1区2区3区| 欧美日产在线观看| 久久久久久久久蜜桃| 精品欧美一区二区久久| 欧美一区日本一区韩国一区| 国产一区二区不卡在线| 色综合av在线| 亚洲欧美日本韩国| 色婷婷一区二区三区四区| 国产精品麻豆欧美日韩ww| 激情六月婷婷久久| 国产在线视视频有精品| 免费一级欧美片在线观看| 欧美精品一区二区三区视频| 精品中文字幕一区二区小辣椒| 国产精品国产精品国产专区不蜜| 欧美性受xxxx| 国产精品66部| 麻豆freexxxx性91精品| 色哟哟国产精品免费观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 91精品国产乱| 欧美群妇大交群中文字幕| 国产主播一区二区| 日韩黄色一级片| 亚洲综合一二三区| 91.xcao| 成人在线综合网| 午夜精品久久久久久久99樱桃| 国产欧美日韩精品一区| 制服丝袜激情欧洲亚洲| 欧美精品第1页| 91麻豆swag| 亚洲国产美国国产综合一区二区| 日韩精品久久理论片| 国产精品日韩成人| 久久久不卡影院| 国产精品美女一区二区三区| 精品久久久久香蕉网| 91精品国产综合久久福利软件| 亚洲黄色尤物视频| 欧美亚一区二区| 久久在线观看免费| 91网上在线视频| 麻豆精品在线播放| 美国精品在线观看| 亚洲最新在线观看| 一区二区欧美国产| 亚洲制服丝袜在线| 午夜精品aaa| 欧美高清视频不卡网| 日本在线不卡视频| 亚洲一区二区在线免费观看视频| 亚洲三级小视频| 国产色一区二区| 欧美国产精品一区二区三区| 国产精品免费丝袜| 亚洲第一狼人社区| 亚洲第一会所有码转帖| 亚洲一级二级三级| 成人激情免费视频| 欧美www视频| 香蕉av福利精品导航 | 日韩三级精品电影久久久 | 日韩欧美一区电影| 欧美成人女星排行榜| 亚洲最色的网站| 高清在线观看日韩| 激情亚洲综合在线| 日韩av网站在线观看| 奇米影视一区二区三区| 日本一区二区三区国色天香| 精品日本一线二线三线不卡| 国产在线精品不卡| 欧美激情在线观看视频免费| 蜜桃av一区二区三区电影| 欧美亚洲高清一区| 亚洲一区av在线| 精品视频在线免费| 日韩一区二区三区三四区视频在线观看 | 亚洲丝袜自拍清纯另类| 色综合久久天天综合网| 国产丝袜欧美中文另类| 成人污污视频在线观看| 亚洲成a天堂v人片| 国产女主播一区| 欧美色图在线观看| 亚洲一区二区三区视频在线 | 日韩激情中文字幕| 久久久不卡网国产精品二区| 亚洲精品视频在线观看免费 | 欧洲精品一区二区三区在线观看| 欧美日韩高清影院| 亚洲欧美日韩小说| 在线精品视频免费播放| 国产精品久久毛片av大全日韩| 五月婷婷综合网| 国产丝袜在线精品| 欧美www视频| 亚洲精品日日夜夜| 91精品在线麻豆| 亚洲五码中文字幕| 国产精品久久久久久久久久久免费看 | 欧美电视剧免费全集观看| 色综合久久久久网| 国产综合色产在线精品| 免费人成在线不卡| 亚洲国产精品影院| 亚洲另类在线制服丝袜| 成人欧美一区二区三区小说 | 欧美精品一区二区三区很污很色的| 欧美日韩高清一区二区不卡| 欧美欧美欧美欧美首页| 9191成人精品久久| 这里是久久伊人| 欧美一区二区女人| 99国产精品久久久久久久久久久| 亚洲欧美视频在线观看| 精品国产一区二区三区不卡 | 中文字幕一区二区三区在线观看 | 亚洲美女偷拍久久| 国产成人精品亚洲777人妖| 91网上在线视频| 久久你懂得1024| 亚洲丰满少妇videoshd| 99久久精品免费| 国产欧美久久久精品影院| 狠狠色综合播放一区二区| 91精品国产综合久久久久久久久久| 久久精品欧美日韩| 成人国产精品免费| 三级亚洲高清视频|