2025年8月5日 星期二

[micro:bit] 剪刀、石頭、布

記錄比賽結果,做出統計圖表,看看 micro:bit 和人類(或另一台 micro:bit)對戰時贏了幾場、輸了幾場、平手幾次



Python程式


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
def on_button_pressed_a():
    global win
    basic.show_string("Win")
    if mode == 0:
        basic.show_number(win)
    else:
        win += 1
    basic.show_number(win)
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_gesture_shake():
    global randomnumber
    randomnumber = randint(0, 2)
    if randomnumber == 0:
        basic.show_icon(IconNames.SMALL_SQUARE)
    elif randomnumber == 2:
        basic.show_icon(IconNames.SQUARE)
    else:
        basic.show_icon(IconNames.SCISSORS)
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

def on_logo_pressed():
    global mode
    mode = (mode + 1) % 2
    if mode == 0:
        basic.show_string("View")
    else:
        basic.show_string("Edit")
input.on_logo_event(TouchButtonEvent.PRESSED, on_logo_pressed)

def on_button_pressed_ab():
    global tie
    basic.show_string("Tie")
    if mode == 0:
        basic.show_number(tie)
    else:
        tie += 1
    basic.show_number(tie)
input.on_button_pressed(Button.AB, on_button_pressed_ab)

def on_button_pressed_b():
    global lose
    basic.show_string("Lose")
    if mode == 0:
        basic.show_number(lose)
    else:
        lose += 1
    basic.show_number(lose)
input.on_button_pressed(Button.B, on_button_pressed_b)

randomnumber = 0
tie = 0
lose = 0
win = 0
mode = 0
mode = 0
win = 0
lose = 0
tie = 0