from microbit import *
from random import randint
shapes = "TIJLOSZTIJLOSZTIJLOSZTIJLOSZTIJLOSZT "
display.show("-")
while True:
if button_a.was_pressed():
display.show(" ")
sleep(100)
ln = len(shapes)
if ln == 1:
break
r = randint(0,ln-2)
display.show(shapes[r])
if r == 0:
shapes = shapes[1:]
else:
shapes = shapes[0:r] + shapes[r+1:]
display.show("=")
2019年7月29日 星期一
4rdp 拼圖抽籤程式
2019年7月25日 星期四
觸觸危機 (Crisis on Touching ─ 4rdp 益智拼圖) 的遊戲規則
7/19 - 20 兩天,新天鵝堡桌遊在三重綜合體育館舉辦桌遊展,也邀請遊戲設計師們一同參加,在此之前我曾主動聯繫新天鵝堡,希望推薦 4rdp 益智拼圖由他們出版發行,但是告訴我,拼圖不是他們的菜,需要加入遊戲機制,因此「觸觸危機」遊戲因應產生,這在前文說明過了,本文將公開遊戲規則內容,4rdp 益智拼圖的玩家有興趣可以仿製試玩。
雖然以下遊戲說明是彩色版,手邊有木質拼圖的人可以在拼圖塊背面加貼紙著色,或是用純色玩也可以 (去除第7、9兩張卡),小拼圖塊放入拼圖盤不方便,建議圖框可以拿掉,或是另外手繪 12x12 棋盤,其它再製做 9 張卡片,準備小棋子等,小朋友自己動手做棋子是很好的工作職能訓練,下棋學策略 做棋學研發。
觸觸危機 v1.1,遊戲相關內容如下
2019年7月24日 星期三
訓練數學感 221 ─ 紅包
2019年7月20日 星期六
Micro:bit 韌體與 WebUSB 驅動程式更新
近日買入 Micro:bit 開始研究,第一個想設計的功能就是拼圖抽籤機,在 Micro:bit 上執行,以隨機亂數抽取拼塊,按一次 A 鍵就顯示一片拼塊,按 36 次就結束,我立即以 Python 寫個程式試看看,發現 Micro:bit 系統有 bug!! 陣列中的最後一個項目,竟然沒辦法取用!
我的直覺應該是 Micro:bit 內的韌體是舊版,須要更新,因此立即上網查詢相關資料,首先查到台灣程式教育協進會 http://k12.camdemy.com/media/18959 的影片,可從 github 下載最新韌體 https://github.com/ARMmbed/DAPLink/releases。不過更新之後仍然無法使用 DAPLink,也就是執行 Python 時可以協助除錯的功能。
所以還要再去安裝電腦端驅動程式,https://os.mbed.com/handbook/Windows-serial-configuration
可以安裝 mbed Serial Port。
2019年7月16日 星期二
訓練數學感 220 ─ 殺暴行動
100 人圍成一圈,順時針方向依序從 1 排到 100 號,遊戲開始從 1 號玩家開始淘汰,被淘汰者就移走,然後順時針方向跳過 1 個人,換 3 號玩家被淘汰,再來跳過 2 個人,換 6 號玩家被淘汰,就這樣順時針方向進行,每次增加 1 個人跳過,然後淘汰一個人。
請問最後一位生存者是幾號?
2019年7月12日 星期五
觸觸危機 (4rdp 益智拼圖) 的設計想法
4rdp 益智拼圖很玄妙,如果你說它是桌遊,但它可以拼圖,可是從桌遊專家的角度審視,它又不具備桌遊特質,因為缺乏特殊遊戲機制讓多位玩家一起同樂,因此「觸觸危機」(暫時命名) 遊戲的產生,就是要補足 4rdp 益智拼圖欠缺遊戲機制的問題,這要感謝新天鵝堡的桌遊編輯大光給予設計方向提示:拼圖類遊戲重點就是在圖塊拼放,例如改成棋塊擺置,就失去拼圖遊戲的精髓了,而「觸觸危機」的遊戲機制,就讓我想了好幾個禮拜才成形。
接下來介紹本遊戲設計理念,關於拼圖塊,它架構在 4rdp 益智拼圖上共 36 片,但是配上五種顏色,每種顏色有 IJLOSTZ 七個拼塊,另外還有一個獨立白色 T 不使用。這樣設計的原因是讓一些朋友沒玩「觸觸危機」遊戲的時候,也可以把它當作拼圖玩,打散填滿它,一物兩用,是一個很超值的遊戲。玩桌遊最多五位玩家,每人各執一色拼塊,兩人玩時把它當四人局,每人控制兩家。
為了拼圖擺放決定勝負,加入了拼圖任務計分卡,這些拼圖任務卡充分洗牌後,每一輪翻開一張,它決定該輪 (每位玩家都有輪到一次) 拼塊擺放方式以及如何計分,另外會因為連接相同顏色、相異顏色、反拼圖塊、框邊或是沒接到拼塊而產生各種不同分數。因為有分數,所以有計分表,這裡設計成蝸牛式跑分表,從零分開始,最高 15 分,分數跑過頭又會變成低分,或是原本分數低再扣一些分數退到成十幾分,而逆轉局勢變成優勝者都有可能。這麼設計是想提升遊戲趣味性,玩家需要做些努力,才能維持在高分區,這個設計是小兒 Andy 給我的靈感。
最後一輪的拼圖擺置將是勝負決定的關鍵,也是這遊戲最引人入勝之處,
2019年7月9日 星期二
4rdp 益智拼圖 ─ 合縱連橫
4rdp 四格益智拼圖推行快一年了,雖然有最簡單的玩法 ─ 打散重組,不過這比較像是在玩拼圖而不是桌遊,因此今天正式提出一個棋盤類新玩法,本文除了列出遊戲規則外,也一邊說明設計想法,請大家多多指教。
遊戲配件:
一套 4rdp 益智拼圖 (圖框、底板 12x12、七種拼圖塊 IJLOSTZ,T有六片,其餘各五片)
每人一種顏色棋子數個
遊戲人數
|
每人棋子數量 = 36 子平均 + 爭子
|
棋子總數
|
遊戲順位調整分
|
兩 人
|
各 24 棋子 = 18 + 6
|
48
|
0, 1
|
三 人
|
各 16 棋子 = 12 + 4
|
48
|
0, 1, 2
|
四 人
|
各 12 棋子 = 9 + 3
|
48
|
0, 1, 2, 3
|
五 人
|
各 10 棋子 = 7 + 3
|
50
|
0, 1, 2, 3, 4
|
六 人
|
各 8 棋子 = 6 + 2
|
48
|
0, 1, 2, 3, 4, 5
|
七 人
|
各 7 棋子 = 5 + 2
|
49
|
0, 1, 2, 3, 4, 5, 6
|
八 人
|
各 6 棋子 = 4 + 2
|
48
|
0, 1, 2, 3, 4, 5, 6, 7
|
我方棋子佔領區塊,越多者勝。
遊戲設置:
將所有拼圖塊任意排入拼圖盤中,這就是該局的棋盤地圖,另外,每位玩家準備自己同色棋子數個。
遊戲流程:
1. 可以由最後一位排好拼圖的人擔任起始玩家,依順時針方向輪流進行,起始玩家將自己一顆棋子任意放到 12 x 12 棋格中之一。
2. 接續的玩家,受制前一位玩家擺置的棋格位置,只能在某特定範圍空位擺放自己的棋子,參見棋子擺放規則。
3. 當兩顆棋子相鄰連成一直線時,可以攻擊敵家,被攻擊的棋子就從棋盤中移除,不得再使用,細節詳見攻擊敵家規則。
4. 重複步驟 2 和 3,直到所有棋子都下完,進行分數結算。
勝負判定:
計算在棋盤上棋子數量,首先,同區塊內有多顆同顏色棋子,只保留一顆同色棋子在該區塊內,
A顏色棋子分數 = (A顏色獨佔區塊數量 x 2分) + (A顏色非獨佔區塊數量 x 1分) - (依據遊戲順位調整分),
分數高者勝,同分時比較單色獨佔多者勝,參考計分範例。
2019年7月5日 星期五
2019年7月1日 星期一
4rdp 益智拼圖的全對稱
香港孫老師的對稱圖案 (差三片) |
個人觀察到林慈閔是第一位排出差三片對稱圖的人,差三片已經是這拼圖的極致了。
首先,差一片是不可能的,因為任何偶數,必是偶數+偶數,或是奇數+奇數,所以差一片不對稱就會引發另一片不對稱。
再者,差兩片的情形也是不可能,因為兩片排出的輪廓圖案需要左右對稱,這情形兩片就已經對稱了,所以不存在差兩片。
最後是全對稱,讓我們看看林益成對它的分析觀點:
#起手勢
T型有六個、其餘圖形各有五,其中“L”與反“L”、“Z”與“反Z”圖形是左右對稱,所以多出來的一個長條形與正方形必須橫放中間才能算是對稱。
#左右分配方式
以半盤進行(範圍6格*12格)
其中一個長條形與正方形需各自有一半面積(各兩格)落於此範圍中。
#長條形與正方形
可以置於6*12格中,也可以一、三、五個壓在中線上(因為各有五個,所以壓在中線上的同類形數量需為單數,對稱條件才能成立。
#T形
一邊有三個
#L或反L(Z與反Z原則相同)
自由發揮,一邊五個,正/反比例無論是0/5、1/4、2/3、3/2、4/1、5/0…無所謂,反正剩下的五片一定會跟這五片對稱。
#結論
以這樣的排列組合,也許真的無法完全對稱,個人覺得解題關鍵是“把壓在中線上落單的長條形與正方形換成任“兩個對稱的圖形”就有解了,目前已確認這兩片都換成 T 是可以達成完全對稱。