> 這是提供給程式創世神的同學所有題目的解答 > \<port\>的部分請根據上課老師提供的port帶入,如果是在minecraft.codingbar.ai伺服器,就不須帶入 > 這是提供給5天班的版本,十天班的只需將一天的課程分為兩天看即可 [toc] # Python 程式創世神 # 第一天 ## Q5 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) mc.setSpawnPoint() ``` ## Q10 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() mc.say(x, y, z) ``` ## Q11 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() print(x, y, z) ``` # 第二天 ## Q2 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) mc.setPos(1758 ,209 ,-172) ``` ## Q3 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() print(x, y, z) ``` ## Q4 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() ids = mc.getBlock(x, y - 1, z) # 取得腳下那一格的方塊ID print(ids) ``` ## Q5 ```python= from CBMC import * mc = CBMC("<自己的遊戲ID>", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() ids = mc.getBlock(x, y - 1, z) # 取得腳下那一格的方塊ID print(ids) ``` ## Q6 ```python= name = input() print("今天是", name, ",祝你生日快樂!") ``` ## Q8 ```python= 天氣狀況 = input() if 天氣狀況 == "雨天": print("記得要帶傘") ``` ## Q9 ```python= redstone = input() if redstone == "on": print("紅石機關啟動了") if redstone == "off": print("紅石機關沒反應") ``` ## Q10 ```python= block = input() if block == "on": print("紅石火把暗") if block == "off": print("紅石火把亮") else: print() ``` ## Q11 ```python= n = input() if n == "64": print("剛好一組") else: print("沒有剛好一組") ``` ## Q12 ```python= gamemode = int(input()) if gamemode == 0: print("生存模式") elif gamemode == 1: print("創造模式") elif gamemode == 2: print("冒險模式") elif gamemode == 3: print("旁觀者模式") else: print("沒有這個模式") ``` # 第三天 ## Q1 ### 第一種寫法 ```python= n = int(input()) if 0 <= n < 6000: print("上午") elif 22200 <= n < 24000: print("黎明") elif 6000 <= n < 13800: print("下午") elif 13800 <= n < 22200: print("夜晚") ``` ### 第二種寫法 ```python= n = int(input()) if n < 6000: print("上午") elif n < 13800: print("下午") elif n < 22200: print("夜晚") elif n < 24000: print("黎明") ``` ## Q2 ```python= x = int(input()) 木棒 = x ** 8 梯子 = (木棒 // 7) * 3 剩餘木棒 = (木棒 % 7) print(梯子, 剩餘木棒) ``` ## Q3 ```python= connect = input() length = int(input()) if connect == "yes" and length <= 15: print("紅石燈點亮了") elif connect == "yes" or length <= 15: print("有點問題,請檢查") else: print("完全不對啊") ``` ## Q4 ### 第一種寫法 ```python= n = input() if n == "out": print("你已經死了!") else: print("你還活著喔!") ``` ### 第二種寫法 ```python= n = input() if not n == "out": print("你還活著喔!") else: print("你已經死了!") ``` ## Q6 ```python= fire = input() coal1 = input() coal2 = input() powder = input() if fire == "yes" and (coal1 == "yes" or coal2 == "yes") and powder == "yes": print("得到火焰彈了") else: print("材料不夠") ``` ## Q7 ```python= w1 = int(input("黑橡木材")) w2 = int(input("相思木材")) w3 = int(input("叢林木材")) w4 = int(input("樺木材")) w5 = int(input("杉木材")) w6 = int(input("橡木材")) b = int(input("木棒")) if b >= 2: if (w1 + w2 + w3 + w4 + w5 + w6) >= 1: print("得到木鏟了") else: print("材料不夠") else: print("材料不夠") ``` # 第四天 ## SetBlock 練習 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() mc.setBlock(x, y, z, 1) ``` ## Q1 ```python= n = int(input()) for i in range(n + 1): print(i) ``` ## Q2 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(10): mc.setBlock(x + i, y, z ,1) ``` ## Q3 ### 第一種寫法 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(100): mc.setBlock(x + i, y, z + i // 2, 2) ``` ### 第二種寫法 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(0,100,2): mc.setBlock(x + i, y, z + i // 2, 2) mc.setBlock(x + i + 1, y, z + i // 2, 2) ``` ## Q4 ### 第一種寫法 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(576): mc.setBlock(x + i % 19, y + i // 13, z, 1) ``` ### 第二種寫法 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() n = 13 for i in range(n * n): mc.setBlock(x + i % n, y + i // n, z, 1) ``` ## Q5 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(50): mc.setBlock(x, y, z + i, 1) mc.setBlock(x, y + 1, z + i, 1) mc.setBlock(x, y + 2, z + i, 1) mc.setBlock(x, y + 3, z + i, 1) mc.setBlock(x, y + 4, z + i, 1) if i % 3 == 0: mc.setBlock(x, y + 5, z + i, 1) ``` ## Q7 ```python= for i in range(12,1001,13): print(i) ``` ## Q8 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(5): mc.setBlock(x + i, y + i, z, 1) mc.setBlock(x + i, y + i, z + 1, 1) for i in range(0, 50, 4): mc.setBlock(x + i + 5, y + 5, z, 1) mc.setBlock(x + i + 5, y + 5, z + 1, 1) ``` ## Q9 ### 第一種寫法 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(0, 49, 2): mc.setBlock(x + i % 7, y + i // 7, z, 35, i % 8) ``` ### 第二種寫法 ```python= from CBMC import * mc = CBMC("CodingBarOP4", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() n = 7 for i in range(n): for j in range(n): if (i + j) % 2 == 0: mc.setBlock(x + i, y + j, z, 35, 6 - (i + j) % 8) ``` ## Q10 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(0, 28, 2): mc.setBlock(x + i % 7, y + i // 7, z, 35, i % 8) mc.setBlock(x, y + 4, z, 35, 6) for i in range(30, 48, 2): mc.setBlock(x + i % 7, y + i // 7, z, 35, i % 6) mc.setBlock(x + 6, y + 6, z, 35, 6) ``` ## Q11 ```python= start = int(input()) end = int(input()) repeat = int(input()) for i in range(repeat): for j in range(start, end + 1): print(j) ``` ## Q12 ```python= for i in range(1, 99): for j in range(3): print(i + j) ``` ## Q13 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() width = int(input()) hight = int(input()) for i in range(width): for j in range(hight): mc.setBlock(x + j, y + i, z, 1) ``` ## Q14 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() n = 10 for i in range(n): #for迴圈 for j in range(n): #for迴圈 if i >= j: mc.setBlock(x + i, y + j, z, 35, i) for i in range(n): #for迴圈 for j in range(n): #for迴圈 if i + j < n: mc.setBlock(x + i, y + j, z + 1, 35,j) ``` # 第五天 ## Q2 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x0, y0, z0 = mc.getPos() a = int(input()) b = int(input()) c = int(input()) for x in range(a): for y in range(c): for z in range(b): mc.setBlock(x0 + x, y0 + y, z0 + z, 1) ``` ## Q3 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x0, y0, z0 = mc.getPos() a = int(input()) b = int(input()) c = int(input()) for x in range(a): for y in range(c): for z in range(b): if x == a - 1 or y == c - 1 or z == b - 1: mc.setBlock(x0 + x, y0 + y, z0 + z, 20) elif x == 0 or y == 0 or z == 0: mc.setBlock(x0 + x, y0 + y, z0 + z, 1) ``` ## Q4 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x0, y0, z0 = mc.getPos() for y in range(3): for z in range(7): for x in range(z, 7): mc.setBlock(x0 + x, y0 + y, z0 + z, 35, y) x0 = x0 + 10 for y in range(3): for z in range(7): for x in range(z, 7 - z): mc.setBlock(x0 + x, y0 + y, z0 + z, 35, y) x0 = x0 + 10 for y in range(3): for z in range(7): for x in range(z, 7 - z): mc.setBlock(x0 + x, y0 + y, z0 + 2 * z, 35, y) mc.setBlock(x0 + x, y0 + y, z0 + 2 * z + 1, 35, y) ``` ## Q5 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x0, y0, z0 = mc.getPos() height = int(input()) width = 2 * height - 1 for y in range(height): for x in range(y , width - y): for z in range(y, width - y): mc.setBlock(x0 + x, y0 + y, z0 + z, 57) mc.setBlock(x0 + height - 1, y0 + height - 1, z0 + height - 1, 138) x0 = x0 + 30 for y in range(height): mc.setBlocks(x0 + y, y0 + y, z0 + y, x0 + width - y - 1, y0 + y, z0 + width - y - 1, 57) mc.setBlock(x0 + height - 1, y0 + height - 1, z0 + height - 1, 138) ``` ## Q6 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x0, y0, z0 = mc.getPos() #如果是直徑10的球,要堆疊4,6,8,10,10,10,10,8,6,4的圓 for i in range(-3, 4): #因為球是對稱的,可以範圍從負到正,讓0代表直徑10的圓 if i > 0: mc.buildCircle(x0, y0, z0, 10 - 2 * i) #建立圓 y0 = y0 + 1 #上移一層 elif i < 0: mc.buildCircle(x0, y0, z0, 10 + 2 * i) #建立圓 y0 = y0 + 1 #上移一層 elif i == 0: for j in range(4): #有幾層直徑10的圓 mc.buildCircle(x0, y0, z0, 10) #建立圓 y0 = y0 + 1 #上移一層 ``` ## Q8 ### 第一種寫法 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() x1, z1 = x, z maze = ["XXXXXXXXXXXX"] * 16 #X是牆壁 #_是通道 maze[0] = "X_XXXXXXXXXX" maze[1] = "X_X________X" maze[2] = "X_X_XXXXXX_X" maze[3] = "X_X_XX___X_X" maze[4] = "X_X_XX_X_X_X" maze[5] = "X_X_XX_X_X_X" maze[6] = "X______X_X_X" maze[7] = "X_XXXXXXXX_X" maze[8] = "X_X______X_X" maze[9] = "X_X_XXXXXX_X" maze[10]= "X_X________X" maze[11]= "X_XXXXX_XXXX" maze[12]= "X_XXXXX_XXXX" maze[13]= "X_____X____X" maze[14]= "XXXXXXXXXX_X" maze[15]= "XXXXXXXXXX_X" xMove = 0 for i in maze:#讀取每一行的迷宮 x = x1 x = x + xMove zMove = 0 for j in i:#讀取每一行中每一格的迷宮 z = z1 z = z + zMove if j == "X":#當遇到X的時候 mc.setBlocks(x,y,z,x,y+10,z,155)#蓋牆壁 elif j =="_":#當遇到_的時候 mc.setBlocks(x,y,z,x,y+10,z,0)#蓋空氣 #這邊使用elif如果還想蓋其他種方塊再增加一個條件即可 zMove = zMove + 1 xMove = xMove + 1 ``` ### 第二種寫法 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() x1, z1 = x, z maze = ["XXXXXXXXXXXX"] * 18 #X是牆壁 #_是通道 maze[0] = "X_XXXXXXXXXX" maze[1] = "X_X________X" maze[2] = "X_X_XXXXXX_X" maze[3] = "X_X_XX___X_X" maze[4] = "X_X_XX_X_X_X" maze[5] = "X_X_XX_X_X_X" maze[6] = "X______X_X_X" maze[7] = "X_XXXXXXXX_X" maze[8] = "X_X______X_X" maze[9] = "X_X_XXXXXX_X" maze[10]= "X_X________X" maze[11]= "X_XXXXX_XXXX" maze[12]= "X_XXXXX_XXXX" maze[13]= "X_____X____X" maze[14]= "XXXXXXXXXX_X" maze[15]= "X_XXX_XXXX_X" maze[16]= "X__________X" maze[17]= "XXXXXXXXXX_X" for i in range(len(maze)): for j in range(len(maze[i])): if maze[i][j] == "X": mc.setBlocks(x + i, y, z + j, x + i, y + 10, z + j, 1) elif maze[i][j] == "_": mc.setBlocks(x + i, y, z + j, x + i, y + 10, z + j, 0) ``` ### 第三種寫法 ```python= from CBMC import * mc = CBMC("CodingBarOP1", "minecraft.codingbar.ai", 4706) x, y, z = mc.getPos() x1, z1 = x, z maze = ["XXXXXXXXXXXX"] * 20 #X是牆壁 #_是通道 maze[0] = "X_XXXXXXXXXXXXX" maze[1] = "X_____________X" maze[2] = "X_XXX_XX_X_XXXX" maze[3] = "X_X_X_XX_X____X" maze[4] = "X___X__X_XXXX_X" maze[5] = "XXXXX_XX___X__X" maze[6] = "X_____X_XX_X_XX" maze[7] = "X_XXX_X_XX_X_XX" maze[8] = "XX____X_______X" maze[9] = "XX_XXXXXXXXXX_X" maze[10]= "XX_X_X_____XX_X" maze[11]= "YY_Y_Y_Y_Y_YY_Y" maze[12]= "XX_X_X_X_X_XX_X" maze[13]= "X______XX__X__X" maze[14]= "X_XXXXXXX_XXXXX" maze[15]= "XX_X_XX_______X" maze[16]= "XX_X_X_X_XXXX_X" maze[17]= "X______XX___X_X" maze[18]= "X_XXXX____X___X" maze[19]= "XXXXXXXXX_XXXXX" for i in range(len(maze)): for k in range(len(maze[i])): if maze[i][k] == "X": mc.setBlocks(x + i, y, z + k, x + i, y + 10, z + k, 1) elif maze[i][k] == "Y": mc.setBlocks(x + i, y, z + k, x + i, y + 10, z + k, 57) elif maze[i][k] == "_": mc.setBlocks(x + i, y, z + k, x + i, y + 10, z + k, 0) mc.setBlock(x + i, y + 11, z + k, 20) ``` # 特殊部分 ## 圓&球 ### 建立圓環 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() r = 10 for i in range(-r, r + 1): for j in range(-r, r + 1): if r - 0.5 < (i ** 2 + j ** 2) ** 0.5 < r + 0.5: mc.setBlock(x + i,y + j, z + k, 1) ``` ### 建立球殼 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() r = 10 for i in range(-r, r + 1): for j in range(-r, r + 1): for k in range(-r, r + 1): if r - 0.5 < (i ** 2 + j ** 2 + k ** 2) ** 0.5 < r + 0.5: mc.setBlock(x + i,y + j, z + k, 1) ``` ### 建立橢圓 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() # 自己在一個焦點的橢圓 def ra(x, y, z, x1, y1, z1): return ((x - x1) ** 2 + (y - y1) ** 2 + (z - z1) ** 2) ** 0.5 a = 20 gamma = 15 # 焦點到中心的距離 for i in range(-2 * a - 1, 2 * a + 1): for j in range(-2 * a - 1, 2 * a + 1): for k in range(-2 * a - 1, 2 * a + 1): if 2 * a - 1 < ra(x, y, z, x + i, y + j, z + k) + ra(x - gamma * 2, y, z, x + i, y + j, z + k) < 2 * a + 1: mc.setBlock(x + i, y + j, z + k, 1) ``` ## 方塊類 ### 魔術方塊 #### 版本V1 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() n = 10 m = 10 o = 10 for i in range(n): for j in range(m): for k in range(o): if (i % 3 == 0 and (j or k)) or (j % 3 == 0 and (i or k)) or (k % 3 == 0 and (j or i)): mc.setBlock(x + i, y + j, z + k, 35, 15) if not (i + j) or not (i + k) or not (j + k) or (i == 0 and j == m - 1) or (i == n - 1 and j == 0) or (k == 0 and j == m - 1) or (k == o - 1 and j == 0) or (i == 0 and k == o - 1) or (i == n - 1 and k == 0): mc.setBlock(x + i, y + j, z + k, 35, 15) elif (j == m - 1 and k == o - 1) or (i == n - 1 and j == m - 1) or (i == n - 1 and k == o - 1): mc.setBlock(x + i, y + j, z + k, 35, 15) elif i == 0 and j % 3 != 0 and k % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 0) elif i == n - 1 and j % 3 != 0 and k % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 5) elif j == 0 and i % 3 != 0 and k % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 3) elif j == m - 1 and i % 3 != 0 and k % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 14) elif k == 0 and i % 3 != 0 and j % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 1) elif k == o - 1 and i % 3 != 0 and j % 3 != 0: mc.setBlock(x + i, y + j, z + k, 35, 4) ``` #### 版本V2 ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() n = 10 m = 10 o = 10 for i in range(n): for j in range(m): for k in range(o): if i == 0: if j % 3 == 0 or k % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 0) elif j == 0: if i % 3 == 0 or k % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 1) elif k == 0: if i % 3 == 0 or j % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 14) elif i == n - 1: if j % 3 == 0 or k % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 3) elif j == m - 1: if i % 3 == 0 or k % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 4) elif k == o - 1: if i % 3 == 0 or j % 3 == 0: mc.setBlock(x + i, y + j, z + k, 35, 15) else: mc.setBlock(x + i, y + j, z + k, 35, 5) ``` ### 顯示輸入的數字 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x, y, z = mc.getPos() #儲存數字的圖案方塊ID lists = [[[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 173, 35, 35, 35, 173, 35], [35, 173, 173, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 173, 35, 35, 35, 35, 35], [35, 173, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 173, 35, 35, 173, 35, 35], [35, 173, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 35, 173, 173, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 173, 173, 35, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 35, 173, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 35, 35, 173, 35, 35, 35], [35, 35, 35, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 35, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 35, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 35, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 173, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 35, 35, 35, 35, 173, 35], [35, 35, 35, 35, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 173, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]], [[35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35], [35, 173, 173, 173, 173, 173, 35], [35, 173, 35, 173, 35, 173, 35], [35, 173, 35, 173, 173, 173, 35], [35, 35, 35, 35, 35, 35, 35], [35, 35, 35, 35, 35, 35, 35]]] #輸入最多16位數的正整數,輸入-1停止程式 while True: n = input() if n == "-1": break for j in range(7): for k in range(7): for i in range(len(n)): mc.setBlock(x, y + k, z - j + (7 * i), lists[int(n[i])][j][k]) ``` ## 紀錄檔案 ### 紀錄id ```python= from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() s = [] for i in range(8): sy = [] for j in range(5): sz = [] for k in range(8): bid = mc.getBlock(x + i, y + j, z + k) sz.append(bid) sy.append(sz) s.append(sy) print(s) ``` ### 使用檔案 ```python= S = <儲存的檔案> from CBMC import * mc = CBMC("自己的ID", "minecraft.codingbar.ai", <port>) x, y, z = mc.getPos() for i in range(len(s)): for j in range(len(s[i])): for k in range(len(s[i][j])): mc.setBlock(x + i, y + j, z + k, s[i][j][k]) ``` ## 聊天室操作 ### 說位置 ```python= from CBMC import * mc = CBMC("自己的ID","minecraft.codingbar.ai",<port>) x,y,z = mc.getPos() mc.say("我在{0} , {1}, {2},大家好啦".format(x,y,z)) ```