1、micro:bit的网址
https://makecode.microbit.org/
2、传球
项目要求:
程序开始时,一个小球( led 小灯)从屏幕上方移动到屏幕中间当按钮 A 按下时, 小球向右移动,碰到屏幕边缘停止当按钮 B 按下时,小球向左移动, 碰到屏幕边缘停止如果小球已经处于屏幕最右边,此时按下按钮 A, 给出箭头提示按按钮 B,因为小球无法再往右移动如果小球已经处于屏幕最左边, 此时按下按钮 A,给出箭头提示按按钮 B,因为小球无法再往左移动如果小球正向右移动, 此时按下按钮 B,小球向左移动如果小球正向左移动,此时按下按钮 A,小球向右移动
代码编写:
basic.show_number(4)
basic.show_number(3)
basic.show_number(2)
basic.show_number(1)
basic.show_number(0)#面板上出现4、3、2、1、0的倒计时
basic.pause(300)#中间停0.3秒
basic.clear_screen()#清屏操作
led.plot(2, 0)#灯亮的位置
basic.pause(400)
led.unplot(2, 0)
led.plot(2, 1)
basic.pause(400)
led.unplot(2, 1)
led.plot(2, 2)
basic.pause(400)
def on_forever():#死循环
pressed01 = input.button_is_pressed(Button.A)#判断是否按下a按钮
pressed02 = input.button_is_pressed(Button.B)#判断是否按下b按钮
if pressed01:#如果a按钮按下了
for i in range(3):#因为面板是5*5的点阵,起始位置为中间,所以循环向右走两步
led.plot(2+i, 2)#亮灯操作
basic.pause(400)
led.unplot(2+i, 2)#灭灯操作
if i==2:#判断是否到最右端
basic.show_arrow(ArrowNames.EAST)#亮起向右的箭头
basic.pause(400)
basic.clear_screen()#清屏
else:
pass
if pressed02:
for j in range(3):
led.plot(2-j, 2)
basic.pause(400)
led.unplot(2-j, 2)
if j==0:
basic.show_arrow(ArrowNames.WEST)
basic.pause(400)
basic.clear_screen()
else:
pass
basic.forever(on_forever)
效果展示:

3.躲方块
项目描述
最底下有一个小方块,是玩家操作的,从最顶上随机生成三个敌方小方块,按照一定速度落下,玩家操作的小方块触碰到敌方小方块,游戏结束
代码展示
basic.show_number(3)
basic.show_number(2)
basic.show_number(1)
basic.show_number(0)
basic.show_arrow(ArrowNames.SOUTH)
basic.clear_screen()
game.set_score(0)
x=randint(0, 2)
sutu=600
spirt=game.create_sprite(2, 4)
diamond01=game.create_sprite(x, 0)
diamond02=game.create_sprite(x+1, 0)
diamond03=game.create_sprite(x+2, 0)
basic.pause(400)
while True:
if input.acceleration(Dimension.X)>200:
spirt.move(1)
basic.pause(200)
else:
spirt.move(-1)
basic.pause(200)
diamond01.change(LedSpriteProperty.Y, 1)
diamond02.change(LedSpriteProperty.Y, 1)
diamond03.change(LedSpriteProperty.Y, 1)
basic.pause(200)
if spirt.is_touching(diamond01) or spirt.is_touching(diamond02)or spirt.is_touching(diamond02):
game.game_over()
if diamond02.get(LedSpriteProperty.Y)==4:
x=randint(0, 2)
diamond01.set(LedSpriteProperty.X, x)
diamond02.set(LedSpriteProperty.X, x+1)
diamond03.set(LedSpriteProperty.X, x+2)
diamond01.set(LedSpriteProperty.Y, 0)
diamond02.set(LedSpriteProperty.Y, 0)
diamond03.set(LedSpriteProperty.Y, 0)
basic.pause(200)
效果展示

?
?
|