回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

【Mind+Python】KEEP RUNNING!!! 简单

头像 李臻飏 2021.08.15 623 0

概述:

在世界田径史上,速度的赛场几乎由黑人所垄断,牙买加、美国的运动员常常夺金。在百米突破极限上,有一种固有观念,亚洲人有着天然的劣势,9秒9是亚洲人不可逾越的鸿沟。但是,在最近举办的东京奥运会男子百米跑步比赛中,32岁的亚洲飞人苏炳添跑出了9秒83的好成绩,获得半决赛第一名,亚洲百米从此进入“9秒8时代”,颠覆了欧美对黄种人速度的认知,完成了历史性的创举。为了致敬这位一直保持着亚洲纪录的黄种人——苏炳添,我们制作了一款小游戏,让苏神和博尔特在掌控板上PK。

材料清单

设计思路:

1.我们最开始想要只用一个掌控版制作一个简单的跑步游戏。

2.后来,我们想,既然在现实中苏神无法战胜博尔特,那么,我们也可以在虚拟游戏中实现梦想。所以,我们想到用一个掌控版通过python编程,用掌控版操控苏神与人机博尔特比赛,谁的坐标先到终点线,谁就胜利。

步骤1 设定游戏规则;

        当游戏开始时,持续点击P键即可奔跑,谁先到达终点,谁就是冠军!!!

步骤2 编辑代码;

代码
# MindPlus
# mpython
from mpython import *
import random
import time


random.seed(time.ticks_cpu())

touch_threshold = {'P': 400, 'Y': 400, 'T': 400, 'H': 400, 'O': 400, 'N': 400}

brightness=9


oled.DispChar("前几天,东京奥运会刚刚", 0, (1-1)*16, 1)
oled.DispChar("结束,苏炳添以9秒83的", 0, (2-1)*16, 1)
oled.DispChar("成绩破亚洲记录进入决赛", 0, (3-1)*16, 1)
oled.DispChar("并在决赛中取得第五名的", 0, (4-1)*16, 1)
oled.show()
time.sleep(4)
oled.fill(0)
oled.DispChar("好成绩。", 0, (1-1)*16, 1)
oled.DispChar("今天,我们再现苏炳添的", 0, (2-1)*16, 1)
oled.DispChar("英姿,通过一场游戏致敬", 0, (3-1)*16, 1)
oled.DispChar("这位32岁的老将!", 0, (4-1)*16, 1)
oled.show()
time.sleep(3.5)
oled.fill(0)
oled.DispChar("游戏规则:", 43, 0, 1)
oled.DispChar("当游戏开始,点击P键即", 0, (2-1)*16, 1)
oled.DispChar("可开始奔跑,与对手隔空", 0, (3-1)*16, 1)
oled.DispChar("对决,先过线者获胜", 0, (4-1)*16, 1)
oled.show()
time.sleep(3.5)
oled.fill(0)
oled.DispChar("3", 60, 22, 1)
oled.show()
time.sleep(1)
oled.fill(0)
oled.DispChar("2", 60, 22, 1)
oled.show()
time.sleep(1)
oled.fill(0)
oled.DispChar("1", 60, 22, 1)
oled.show()
time.sleep(1)
oled.fill(0)
oled.DispChar("开始", 50, 22, 1)
oled.show()
time.sleep(1)
oled.fill(0)
oled.DispChar("苏", 0, (2-1)*16, 1)
oled.DispChar("博", 0, (3-1)*16, 1)
oled.pixel(0,24,1)
oled.hline(0, 18, 128, 1)
oled.hline(0, 30, 128, 1)
oled.hline(0, 42, 128, 1)
oled.show()
DianWei = 0
DianWei2 = 0
while True:
  BuChang = (random.randint(1, 2))
  YiDong = (DianWei + BuChang)
  if touchPad_P.read() < touch_threshold['P']:
    oled.hline(0, 18, 128, 1)
    oled.hline(0, 30, 128, 1)
    oled.hline(0, 42, 128, 1)
    oled.vline(120, 18, 24, 1)
    oled.DispChar("苏", 0, (2-1)*16, 1)
    oled.DispChar("博", 0, (3-1)*16, 1)
    oled.pixel(YiDong,24,1)
    oled.show()
    DianWei = YiDong
  BuChang2 = 1
  YiDong2 = (DianWei2 + BuChang2)
  oled.hline(0, 18, 128, 1)
  oled.hline(0, 30, 128, 1)
  oled.hline(0, 42, 128, 1)
  oled.vline(120, 18, 24, 1)
  oled.DispChar("苏", 0, (2-1)*16, 1)
  oled.DispChar("博", 0, (3-1)*16, 1)
  oled.pixel(YiDong2,36,1)
  oled.show()
  DianWei2 = YiDong2
  if (DianWei2 >= 120):
    oled.fill(0)
    oled.DispChar("You fail", 42, 22, 1)
    oled.show()
    brightness=5
    rgb.fill((255*brightness//9, 0*brightness//9, 0*brightness//9))
    rgb.write()
    break
  if (DianWei >= 120):
    oled.fill(0)
    oled.DispChar("You win", 42, 22, 1)
    oled.show()
    brightness=5
    rgb.fill((0*brightness//9, 255*brightness//9, 0*brightness//9))
    rgb.write()
    break
  time.sleep((random.uniform(0.1, 0.2)))
project-image

在制作过程中,指导老师给予我们很大的帮助。地下铁老师为我们提供了制作研究的环境,在遇到困难时,又提供技术支持,谢谢老师。

作者:胡传时,李臻飏

指导老师:地下铁

评论

user-avatar