怎么让microbit玩出熊出没之飞机大战战

Falcon 9 Block 5 火箭成功首飞,载运 Bangabandhu 升空
timeagotimeago
2018 年 5 月 12 日
Image credit: SaveBBC 推出第二代可编程微型电脑 Micro:bit
2015 年 7 月 8 日, 早上 09:32
推出以来,就陆续有不少的产品出来让更多人能以低成本学习编程。万万想不到,原来英国广播公司(BBC)也有推出相似的产品,更有了第二代 。它同样是一块目标帮助年轻人的微型电脑,尺寸跟信用卡相若(4cm x 5cm)、上面嵌有 25 颗红色 LED ,用以显示讯息和游戏、两个可编程按钮、内嵌的加速计和磁力计。另外更有低功耗蓝牙、microUSB 插口和 5 个 I/O 环供鳄鱼夹和 4mm banana plug(香蕉插头)。比前 BBC 之前推出的 ,新的 Micro:bit 更因为换上新处理器而快 18 倍和轻 67 倍。
Gallery: BBC Micro:bit | 18 Photos
gallerygallery
BBC 当然不是独力开发这电脑了,背后其实还有 ARM、微軟、三星和巴克莱的帮助。他们预计会在十月向一百万名英国的 7 年级学生(约 11 至 12 岁)派发这 Micro:Bit,并让他们完成学习计划。而且在夏季时候,BBC 会设立网站来教导学生如何使用 Micro:bit 来完成计划。当然,BBC 也有照顾学生以外的朋友。他们会提供 Micro:bit 的开源资料,并在今年稍后设立非牟利公司来在英国销售 Micro:bit。
timestamptimestamp
2 月 19 日
timeagotimeago
2018 年 2 月 19 日, 晚上 11:52
微软不小心泄露了 ARM 芯片 Windows 10 设备可能存在的限制
首先,x64 软件是没法用的。作者: ,
2018 年 2 月 19 日, 晚上 11:52
储存timestamptimestamp
2 月 14 日
timeagotimeago
2018 年 2 月 14 日, 傍晚 08:00
ARM 最新的处理器设计是专为移动 AI 准备的
ARM ML 和 ARM OD 能大大提升机器学习的速度。作者: ,
2018 年 2 月 14 日, 傍晚 08:00
储存timestamptimestamp
1 月 24 日
timeagotimeago
2018 年 1 月 24 日, 下午 03:01
苹果旧版 macOS 已获得 Meltdown 与 Spectre 漏洞更新
包括 Sierra 与 El Capitan,快点更新了吧!作者: ,
2018 年 1 月 24 日, 下午 03:01
储存Email订阅& 2018 Oath Inc. 版权所有。更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
按住视频可进行拖动
&正在加载...
举报视频:
举报原因(必填):
请说明举报原因(300字以内):
请输入您的反馈
举报理由需要输入300字以内
感谢您的反馈~
请勿重复举报~
请刷新重试~
收藏成功,可进入
查看所有收藏列表
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
用爱奇艺APP或微信扫一扫,在手机上继续观看
当前播放时间:
一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
microbit远程编译下载
正在检测客户端...
您尚未安装客户端,正在为您下载...安装完成后点击按钮即可下载
30秒后自动关闭
microbit远程编译下载">microbit远程编译下载
请选择打赏金额:
播放量12.7万
播放量数据:快去看看谁在和你一起看视频吧~
更多数据:
热门短视频推荐
Copyright (C) 2018 & All Rights Reserved
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
正在为您下载爱奇艺客户端安装后即可快速下载海量视频
正在为您下载爱奇艺客户端安装后即可免费观看1080P视频
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
后才可以领取积分哦~
每观看视频30分钟
+{{data.viewScore}}分
{{data.viewCount}}/3
{{if data.viewCount && data.viewCount != "0" && data.viewCount != "1" && data.viewCount != "2" }}
访问泡泡首页
+{{data.rewardScore}}分
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}1{{else}}0{{/if}}/1
{{if data.rewardCount && data.rewardCount != 0 && data.getRewardDayCount != 0}}
+{{data.signScore}}分
{{data.signCount}}/1
{{if data.signCount && data.signCount != 0}}
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
标签:至少1个,最多5个
闲暇做回小搬运,搬运个小工具的使用教程。
micro: bit 是一款由英国 BBC 设计的 ARM 架构的单片机,板载蓝牙,加速度计,电子罗盘,三个按钮,5 x 5 LED 点阵,主要用于青少年的编程教育。
它支持我们编写 Python 代码,并将程序 烧录 进去然后实现一些我们想要的效果。写 Python 代码自然是在个人电脑的代码编辑器中完成,烧录代码则通过一个命令行工——uFlash 来完成。
通过软件提供服务支持,当下比较主流的做法就是提供:
一个在线版
一个离线版
在线版多指通过浏览器访问的站点,离线因为多终端得有 App 以及 PC 软件。对于当前的编程教育,上述软件组合可以满足大部分用户需求。另外,开发者是一个不容忽视的群体,为开发者准备一个完善的命令行工具是个很不错的主意。
uFlash 是一个专为 BBC micro:bit 开发板量身定制的命令行工具,通过简单的命令行操作完成烧录、辅助开发。
它提供两项功能:
1、 通过内置函数库将一个 Python 脚本转化成 .hex 格式的文件2、通过命令行将 Python 脚本刷到
micro:bit 主控板中
这两项功能实际上包含了一些重要的操作:
将 Python 代码编码成 hex 格式
将 hex 化的 Python 代码嵌入到 MicroPython 运行时的 hex 文件中
从 MicroPython hex 文件中提取 Python 脚本(可将 hex 格式解码为 py 格式)
发现已连接的 micro:bit 设备 (包括蓝牙连接、USB 串口连接)
烧录 hex 文件直接传到 micro:bit 中完成烧录
指定板子当前的 MicroPython 运行时,也就是烧录固件。
好吧,看起来很乱,你可以从
中去找找对应的实现,现在甭管这些。要使用这个工具,(忘记说了,一个大前提是你手头已有一块
micro:bit 板子,否则请就此结束阅读),首先得安装它:
pip install uflash
它是一个 Python 模块,该模块在 Python 2.7 或 3.3+ 上工作。Mac 一般已自带,Windows 没有安装得自行找教程安装。
然后,用一根 USB 数据线将你的 micro:bit 设备接入到电脑,接入成功的标志是电脑文件系统上出现了一个 USB 存储设备。注意只有成功接入,才能进行以下烧录操作。
切换到一个文件目录中,新建一个 hello.py 的文件,在编辑器中完成简单的 Python 脚本,如:
# hello.py
print('hello world')
在这个目录下,进行刷脚本操作,命令行输入以下命令:
uflash ./hello.py
命令行会打印这个反馈:
Flashing Python to: /media/ntoll/MICROBIT/micropython.hex
此时观察背面的信号灯,闪亮结束,表明已顺利刷入脚本。几乎同时,查看证明的 LED 矩阵,可以看到 hello world 的字样移动而过。
OK,以上步骤就是这个工具最基本的用途。
当然还有更多用途,比如:
watch 功能,它能检测脚本文件的修改保存行为,从而自动刷脚本。
uflash -w ./hello.py
支持刷固件,但注意需是 hex 格式。(本工具的 API 提供了方法 uflash.hexlify,将 Python 脚本 hex 化。但命令行貌似没有提供直接的方法,表示不理解。。)
uflash -r ./my_firmware.hex
一个命令行工具,为开发带来了不少的便利。uflash 恰到好处的实用。
0 收藏&&|&&0
你可能感兴趣的文章
4 收藏,6.2k
3 收藏,1.3k
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。用microbit做个小游戏
这款游戏是7月份完成的,因为黄智梵(当时读高二)说自己学过Python,我就给了他一块micro:bit。然后,他就做了一个小游戏。故事就这么简单。
刚好梁森山老师要编一本关于micro:bit的入门书,需要一些案例,找个几个国外小朋友写的游戏,貌似并不怎么样,还不如黄智梵写的这款,于是就把代码翻出来。说实话,这也是目前看过的关于micro:bit的最复杂的代码之一了。
Shuttle Space(穿越太空)
游戏作者:黄智梵(温州中学高三6班)
创酷网链接:
游戏解说:
2333年,地球能源枯竭,人类为寻找新能,开启了大航天时代。
宇航员zka,在利益的驱使下独身前往m78星云探索永恒的能源。但由于技术(智商)的限制,zka误入可陨石海......
游戏流程: 1.屏幕出现shuttle space的滚动字幕(可按a或b跳过)
&&&&&&&&&&&&&&&&&&&&&&&&&&
2.屏幕出现飞船向前飞行画面(可按a或b跳过)
&&&&&&&&&&&&&&&&&&&&&&&&&&
3.屏幕出现模拟飞船躲避陨石(10次后自动跳入下一阶段,可按a或b跳过)
&&&&&&&&&&&&&&&&&&&&&&&&&&
4.屏幕底部中央飞船,每隔5个时间间隔会随机出现1-3个陨石从顶部向下运动
&&&&&&&&&&&&&&&&&&&&&&&&&&
5.为了躲避陨石,操作者可用a建控制飞船左移动,用b控制飞船向右移动
&&&&&&&&&&&&&&&&&&&&&&&&&&
6.若飞船被陨石击中,则屏幕中出现“died”滚动字幕(可跳过)
&&&&&&&&&&&&&&&&&&&&&&&&&&
7.屏幕出现飞船图标,若操作者按a会进入4. 若操作者按b进入8.
&&&&&&&&&&&&&&&&&&&&&&&&&&
8.屏幕出现level滚动字幕(可跳过),屏幕中出现level的值。按a
可增加level大小,最大为3,若超过3则level回到1,按b则设定完成进入4.
from microbit import *
import random
#import music
switch(List,num):&&&
&&& from random
import randint
switchList=[]
&&& alist =
&&& for i in
alist.append(i)
&&& for i in
range(num):
x = randint(0,len(alist)-1)
switchList.append(alist[x])
alist.pop(x)
&&& return
switchList
def waitAB(waitTime):
&&& lastTime
=running_time()
time =running_time()
if button_a.is_pressed() or button_b.is_pressed() :
&&&&&&&&&&&
if time - lastTime&=waitTime:
&&&&&&&&&&&
rocksTime=200
allTimes = 10
waitTime = 120
lastTime = 0
display.scroll('Shuttle Space',wait=
#music.play(music.NYAN,wait=False,loop=True)
waitAB(12000)
black = Image("::00000")
[Image("::09990"),black,Image("::00500"),black,Image("::00300"),black,Image("::00100"),black,Image("::00000"),black]
CGTime = [500,200,500,200,500,200,500,200,500,1000]
for i in range(10):
display.show(CGList[i])
sleep(CGTime[i])
button_a.is_pressed() or button_b.is_pressed() :
lastTime = 0
display.set_pixel(xS-1,4,9)
display.set_pixel(xS,4,9)
display.set_pixel(xS+1,4,9)
display.set_pixel(xS,3,9)
while True:
button_a.is_pressed() or button_b.is_pressed():
y1 = y1 + 1
display.set_pixel(x1,y1,9)
display.set_pixel(x1+1,y1,9)
display.set_pixel(x1,y1+1,9)
display.set_pixel(x1+1,y1+1,9)
display.set_pixel(x1,y1-1,0)
display.set_pixel(x1+1,y1-1,0)
display.get_pixel(0,2)==9 or display.get_pixel(0,3)==9 :
if xS == 3:
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
display.set_pixel(xS-1,4,9)
&&&&&&&&&&&
display.set_pixel(xS,4,9)
&&&&&&&&&&&
display.set_pixel(xS+1,4,9)
&&&&&&&&&&&
display.set_pixel(xS,3,9)
&&&&&&&&&&&
&&&&&&&&&&&&&&&
display.set_pixel(xS-1,3,0)
&&&&&&&&&&&&&&&
display.set_pixel(xS-2,4,0)
&&&&&&&&&&&
&&&&&&&&&&&&&&&
display.get_pixel(4,2)==9 or display.get_pixel(4,3)==9
if xS == 1:
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
display.set_pixel(xS-1,4,9)
&&&&&&&&&&&
display.set_pixel(xS,4,9)
&&&&&&&&&&&
display.set_pixel(xS+1,4,9)
&&&&&&&&&&&
display.set_pixel(xS,3,9)&&&&&&&
&&&&&&&&&&&
display.set_pixel(xS+1,3,0)
&&&&&&&&&&&
display.set_pixel(xS+2,4,0)
sleep(waitTime)
&&& if y1 ==
display.set_pixel(x1,y1,0)
display.set_pixel(x1+1,y1,0)
x1 = 3*random.randint(0,1)
times = times + 1
&&& if times ==
display.show(black)
time = running_time()
lastTime = time
lastPressed = 0
pressedTime = 0
sleep(500)
display.show(Image("::09990"))
rocksList=[0,1,2,3,4]
while True:
&&& while state
#rocks move
time = running_time()
if time - lastTime
&=rocksTime:&&&&&&&&&&
&&&&&&&&&&&
if y == 4:
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
for z in rocksY:
&&&&&&&&&&&&&&&&&&&
display.set_pixel(z,4,0)
switch(rocksList,random.randint(1,3))
&&&&&&&&&&&&&&&
rocksY:&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
display.set_pixel(z,y,5)&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
for z in rocksY:
&&&&&&&&&&&&&&&&&&&
display.set_pixel(z,y-1,0)
&&&&&&&&&&&&&&&&&&&
display.set_pixel(z,y,5)
&&&&&&&&&&&
lastTime =
time&&&&&&&
#ship move
if button_b.is_pressed():
&&&&&&&&&&&
if lastPressed =="b":
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&&&&&
pressedTime = running_time()
&&&&&&&&&&&&&&&
lastPressed ="b"
&&&&&&&&&&&&&&&
if x == 4 :
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
display.set_pixel(x,4,9)
&&&&&&&&&&&&&&&&&&&
display.set_pixel(x-1,4,0)
if button_a.is_pressed():
&&&&&&&&&&&
if lastPressed ==1:
&&&&&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&&&&&
pressedTime = running_time()
&&&&&&&&&&&&&&&
lastPressed
=1&&&&&&&&&&&
&&&&&&&&&&&&&&&
if x == 0 :
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&
display.set_pixel(x,4,9)
&&&&&&&&&&&&&&&&&&&
display.set_pixel(x+1,4,0)
if time -pressedTime &=200:
&&&&&&&&&&&
lastPressed = 0
dead&&&&&&
if display.get_pixel(x,4) !=
9:&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&
display.scroll('DIED',wait=False)
&&&&&&&&&&&
waitAB(3600)
&&&&&&&&&&&
display.show(Image("::09990"))
&&&&&&&&&&&
sleep(500)
&&&&&&&&&&&
&&& while state
display.show(str(level))
if button_a.is_pressed():
&&&&&&&&&&&
sleep(200)
&&&&&&&&&&&
level = level +1
&&&&&&&&&&&
if level == 4:
&&&&&&&&&&&&&&&
if button_b.is_pressed():
&&&&&&&&&&&
sleep(200)&&&&&&&&&&
&&&&&&&&&&&
rocksTime = 250 -50*level
&&&&&&&&&&&
&&&&&&&&&&&
display.show(black)
&&&&&&&&&&&
&&&&&&&&&&&
&&&&&&&&&&&
rocksY = switch(rocksList,random.randint(1,3))
&&&&&&&&&&&
display.set_pixel(x,4,9)
&&&&&&&&&&&
sleep(500)
# about state
button_a.is_pressed():&&&
#music.play(music.NYAN,wait=False,loop=True)
display.show(black)
rocksY = switch(rocksList,random.randint(1,3))
display.set_pixel(x,4,9)
sleep(200)
if& button_b.is_pressed():
display.scroll("level",wait=
False)&&&&&&&&&&
waitAB(4200)
sleep(300)
我的更多文章:
( 21:53:27)( 11:03:28)( 10:08:10)( 23:57:54)( 08:49:13)( 11:24:53)( 15:35:07)( 11:32:57)( 14:40:04)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。 > microbit
microbit资讯
microbit资料下载
microbit帖子
microbitDIY创意
小米Note 3是日小米科技在北京工业大学奥林匹克体育馆正式发布主打自拍与大屏手机,采用了和小米6相同工艺的四曲面玻璃机身。
华为荣耀magic
华为荣耀magic
荣耀Magic是华为旗下互联网手机品牌荣耀在日深圳大运中心体育馆举办发布会推出全新的未来手机。荣耀magic配备5.09英寸的2K Super AMOLED显示屏,搭载麒麟950处理器,4GB RAM,64GB ROM,四个摄像头
努比亚手机
努比亚手机
努比亚,新锐智能手机品牌,定位高端市场,立足中国面向全球,以“Be Yourself”为品牌理念。努比亚手机产品拥有诸多单反级摄影功能,被称为“可以拍星星的手机”。努比亚在业内首创了“全网通”,并通过搭载FiT交互技术的全球首款“无边框手机”nubia Z9为广大用户认可。
比特币(BitCoin)的概念最初由中本聪在2009年提出,与大多数货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。
魅族flyme6
魅族flyme6
日,Flyme6终于迎来正式公测,适配机型包括魅族、魅蓝系列的20款机型。
HTC 于 11 月 2 日在台湾发布新品,U 系列家族新增两名成员,分别是 HTC U11+ 和 HTC U11 life,其中 HTC U11+ 迎合潮流换用了全面屏,成为了 HTC 首款全面屏机型。
surface_laptop
surface_laptop
数字货币简称为DIGICCY,是英文的“Digital Currency”(数字货币)的缩写。是电子货币形式的替代货币。数字金币和密码货币都属于数字货币(DIGICCY)。
魅蓝note 6 是日魅蓝在北京演艺中心正式发布新机,是魅蓝品牌独立后首次以发布会形式亮相的机型,而Note系列一直是魅蓝的销量担当,在千元市场的人气也非常高,其意义自然非常重大。
2017苹果全球开发者大会于日—9日举行,举办地点是加州圣何塞McEnery(麦克恩利)会议中心。5000名开发者来到了发布会现场。
华为荣耀v9play
华为荣耀v9play
智能马桶盖
智能马桶盖
关注此标签的用户(1人)
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-}

我要回帖

更多关于 玩具飞机大战 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信