【掌控】mpython-17…从一个点出发
本周掌控开始了56人团队的公测,好多高手加入进来,软件也快速迭代,到今天(周4)已经更新了三次。网易的郞咸蒙老师贡献了好多精彩案例。
感谢郞帮主,从他那儿学到了新知识。
这个帖子将从一个点开始……
【画一个点】
# 画一个点
from mpython import *
display.fill(0)
display.pixel(10,10,1) # 做一个点在10,10
display.show()
【让这个点向右动起来】
http://v.youku.com/v_show/id_XMzg3NjQ1NDE2NA==.html?spm=a2h3j.8428770.3416059.1
from mpython import * # 导入掌控库
from time import sleep_ms# 导入时间库,代码要用到延时
# 左右运动要改变X坐标的值
x = 0 # 初始化X为0
vx = 1# 速度变量
while True:
x += vx# 这句等于 x = x + vx
display.fill(0) # 清屏
display.pixel(x,10,1)# 画一点在 x,10,点亮 因为x = x + vx,所以向右运动
if x > 128:# 如果x>128,归零,从头开始
x = 0
display.show()# 刷新
sleep_ms(10) #延时,改变它也可以调节运动速度
【练习1】让这个点从右向左走
【让一行字滚动向左显示】
效果:
http://v.youku.com/v_show/id_XMzg3NjA3OTg4OA==.html?spm=a2h3j.8428770.3416059.1
from mpython import *
from time import sleep_ms
x = 128
vx = -4
while True:
x = x + vx
display.fill(0)
display.DispChar("爱上掌控板", x, 10)
if x < -50:
x = 128
display.show()
sleep_ms(1)
【练习】让一行字向上滚动
效果:
http://v.youku.com/v_show/id_XMzg3NjA4MDcyNA==.html?spm=a2h3j.8428770.3416059.1
参考代码:
from mpython import *
from time import sleep_ms
y = 64
vy = -2
while True:
y = y + vy
display.fill(0)
display.DispChar("爱上掌控板", 10, y)
if y < 0:
y = 64
display.show()
sleep_ms(1)
【向右运动的小星星】郞帮主代码
http://v.youku.com/v_show/id_XMzg3NjQ1NDU1Ng==.html?spm=a2h3j.8428770.3416059.1
from mpython import *
from time import sleep_ms
x = 0
vx = 1
while True:
x += vx
display.fill(0)
display.pixel(x,10,1)
display.pixel(x,9,1)
display.pixel(x,11,1)
display.pixel(x+1,10,1)
display.pixel(x-1,10,1)
if x > 128:
x = 0
display.show()
sleep_ms(10)
【随机运动的小星星】
我改了下郞老师代码,加上随机数。
http://v.youku.com/v_show/id_XMzg3NjQ1NTA2OA==.html?spm=a2h3j.8428770.3416059.1
from mpython import *
from time import sleep_ms
import random
x = 0
vx = 5
y = 0
while True:
x += vx
y = random.randint(6, 58)
display.fill(0)
display.pixel(x, y + 1, 1)
display.pixel(x, y, 1)
display.pixel(x, y + 2, 1)
display.pixel(x+1, y + 1, 1)
display.pixel(x-1, y + 1, 1)
if x > 128:
x = 0
display.show()
sleep_ms(1)
【拓展练习】1、一条水平或者垂线的移动
2、一个方形的上下左右移动
3、其它移动的创意并想办法用代码实现
【郞帮主代码欣赏】
我的心下雪了
你会听见吗美丽的阿伽拉你还在想着他
http://v.youku.com/v_show/id_XMzg3NjA4MjIxMg==.html?spm=a2h3j.8428770.3416059.1
# 本代码作者网易郞咸蒙老师
from mpython import *
from time import sleep_ms
from random import randint
from collections import deque
class Ball():
def __init__(self):
self.x = randint(0,128)
self.y = 0
self.vx = 0
self.vy = randint(1,5)
def run(self):
self.update()
self.display()
def update(self):
self.x += self.vx
self.y += self.vy
if self.x > 128 or self.x < 0:
self.x = randint(0,128)
if self.y > 64 or self.y < 0:
self.y = 0
def display(self):
display.pixel(self.x,self.y,1)
balls = []
for x in range(50):
balls.append(Ball())
while True:
sleep_ms(10)
display.fill(0)
for b in balls:
b.run()
display.show()
感谢郞老师为完善掌控生态做出的贡献。
{:5_125:}哈哈,学习了 安卓机器人 发表于 2018-10-19 12:07
哈哈,学习了
{:5_185:}一起玩掌控。 宣传大使怎么获得? 糖醋花生 发表于 2022-6-10 09:37
宣传大使怎么获得?
多多宣传推广社区 rzyzzxw 发表于 2022-6-16 19:33
多多宣传推广社区
就是让我同学登录么? 糖醋花生 发表于 2022-6-19 21:31
就是让我同学登录么?
分享链接,宣传社区,发表帖子…… rzyzzxw 发表于 2022-6-19 21:53
分享链接,宣传社区,发表帖子……
那我就是给同学发DF的链接么,但我同学都看了呀我的宣传力也没变呀
页:
[1]