2025年12月11日 星期四

無裝置程式教育:micro:bit第一堂-剪刀、石頭、布遊戲設計

本課程在虎尾鎮安慶國小試教。網址:https://www.facebook.com/share/v/17mBrum3fb/


 
學生端程



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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
def on_received_number(receivedNumber):
    global select, mode
    select = 0
    mode = receivedNumber
radio.on_received_number(on_received_number)

def on_button_pressed_a():
    global mode
    if select == 0:
        if mode == 3:
            basic.show_icon(IconNames.HAPPY)
    else:
        mode = (mode + 1) % 7
        basic.show_number(mode)
input.on_button_pressed(Button.A, on_button_pressed_a)

def on_gesture_shake():
    global step, Number2
    if select == 0:
        if mode == 4:
            step += 1
            basic.show_number(step)
        elif mode == 6:
            Number2 = randint(0, 2)
            if Number2 == 0:
                basic.show_icon(IconNames.SMALL_SQUARE)
            elif Number2 == 1:
                basic.show_icon(IconNames.SQUARE)
            else:
                basic.show_icon(IconNames.SCISSORS)
input.on_gesture(Gesture.SHAKE, on_gesture_shake)

def on_logo_pressed():
    global select
    select = 1
    basic.show_icon(IconNames.ANGRY)
input.on_logo_event(TouchButtonEvent.PRESSED, on_logo_pressed)

def on_received_string(receivedString):
    global name
    name = receivedString
radio.on_received_string(on_received_string)

def on_button_pressed_b():
    global select
    if select == 0:
        if mode == 3:
            basic.show_icon(IconNames.SAD)
    else:
        select = 0
        basic.show_icon(IconNames.YES)
input.on_button_pressed(Button.B, on_button_pressed_b)

Number2 = 0
select = 0
step = 0
name = ""
mode = 0
id2 = 1
mode = 0
name = "Q-Robot AI"
step = 0
select = 0
basic.show_number(id2)
basic.pause(2000)
radio.set_group(212)

def on_forever():
    if select == 0:
        if mode == 0:
            basic.show_number(id2)
        elif mode == 1:
            basic.show_string(name)
        elif mode == 2:
            basic.show_icon(IconNames.HEART)
            basic.pause(500)
            basic.show_icon(IconNames.SMALL_HEART)
            basic.pause(500)
        elif mode == 5:
            if input.light_level() <= 10:
                basic.show_leds("""
                    # # # # #
                    # # # # #
                    # # # # #
                    # # # # #
                    # # # # #
                    """)
            else:
                basic.clear_screen()
basic.forever(on_forever)


沒有留言:

張貼留言