Skip to content
This repository has been archived by the owner on Mar 24, 2024. It is now read-only.
/ EDC25 Public archive

清华大学第25届电子设计大赛 复赛入围者

License

Notifications You must be signed in to change notification settings

open531/EDC25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EDC25_Team

课程信息

电子系统设计综合实践

课程编号: 01550013 课程名: 电子系统设计综合实践
总学时: 96 总学分: 3
课程内容简介: 本课程的基础是清华大学电子设计大赛,2012年是第十四届。大赛组委会将提供一定的软硬件平台及文档说明,课程教学组安排相应系列讲座。大赛要求参赛学生自由组队,自主完成系统设计,在比赛平台上用自己制作的电路驱动小车,通过编程实现特定的自动控制功能(本届赛题为机器人棒球赛)。课程涉及到的知识包括电子技术、计算机语言程序设计、单片机或FPGA、传感器、通信、控制等,基本上属于应用层次,无需掌握大量与深入的专业知识。通过本课程学习,可训练综合运用电子和计算机技术的能力,为后续相关课程的学习奠定基础。
Course Description:
进度安排: 第一阶段:讲座(18学时),从下列八讲中选择六讲,具体时间和次序届时在网站上公布。专题一:概述及系统功能要求;专题二:电子制作、控制驱动、MCU系统设计;专题三:传感器原理与应用;专题四:PCB设计与制作;专题五:FPGA及其应用;专题六:DSP及其应用;专题七:Labview及其应用;专题八:最优化概论与经典控制算法介绍。第二阶段:实践(设计、制作、辅导)(60学时)。第三阶段:竞赛(预赛、决赛),总结答辩及写报告(18学时)。
考核方式: 以赛代考,达到基本要求给予通过;完成初赛进入决赛者,根据决赛成绩给予优秀、良好或百分制分数;决赛优胜者另外还给予奖励。 教材及参考书: 《电子线路基础》,高文焕、李冬梅;《模拟电子技术》,华成英;《数字电子技术》,阎石;《EDA技术实用教程》,潘松;《电子系统设计与实践》,贾立新;《电子设计自动化技术及应用》,李明方
主教材:
参考书:
合开教师: 杨耕, 韦思健, 卓晴, 曹丽, 阎捷, 任艳频, 高文焕, 杨兴华, 杨帆, 罗嵘 选课指导: 无学科专业限制,具有电子技术基础与计算机编程经验者优先。欢迎现在大三、大二上学生踊跃选课,也欢迎对电设非常感兴趣的学生参加。
先修要求: 教师教学特色:
Office Hour: 成绩评定标准:
教学日历: 查看教学日历

第25届电子设计大赛规则

赛题

起床战争是Minecraft中一种非常受欢迎的多人在线对战游戏模式,游戏的主要目标是保护自己的床,同时试图摧毁其他玩家的床。床在这里是你的生命线,只要你的床还在,你就可以无限次地重生。

游戏在由多个岛屿组成的地图上进行,每个岛屿内都有一张床。

游戏开始时,所有玩家都会出生在自己的岛屿中,然后开始收集矿物,购买物品,升级属性,加固岛屿,以及建造桥梁到矿脉或其他玩家的岛屿。

当你的床被摧毁后,你就不能再重生了。如果你死亡,你就会被淘汰出游戏。游戏的最后一位存活玩家就是胜利者。

起床战争是一种策略和技巧的游戏,需要玩家在攻防之间找到平衡。你需要合理使用矿物,制定策略,与队友合作,同时还要灵活应对敌人的攻击。

流程

比赛分为三个阶段,分别为赛前准备阶段、比赛阶段、比赛结束阶段。比赛不分回合,各方小车同时在两个不同的场地参与比赛,在上位机中视为同一地图上的两个玩家。

  • 赛前准备阶段

    玩家应当停留在己方岛屿内。

  • 比赛阶段

    玩家需要摧毁对方的床和消灭对方。为了增强自己的战斗力,玩家可以收集矿物,升级属性。

    • 比赛进行10分钟后,各方的床将同时被破坏,且所有矿脉停止生成矿物,交易停止。此后每5秒,各方生命值同时减少1点。
    • 如果某方小车出现问题无法自行恢复,比赛不会暂停,选手应将小车取出至场地外,待上位机将小车判定为死亡后,方可将小车放回到己方基地处继续进行比赛。
  • 比赛结束阶段

    除了某一玩家外,所有其他玩家的床都被摧毁,且所有其他玩家都死亡时,该玩家获胜。

细则

地图

本次比赛的地图是256cm×256cm的正方形,分成8×8个宽度为32cm×32cm的小正方形,具体可以参见下图。

Untitled

  • 蓝色和红色方块代表双方出生岛屿;
  • 金色方块代表金矿,淡蓝色方块代表钻石矿,每场比赛位置随机刷新,铁矿始终位于出生岛屿;
  • 黑色矩形代表比赛开始时卫星图所在位置,选手需要识别处理卫星地图得到矿脉位置;
  • 区块上的数字代表高度,可以通过放置羊毛增加高度;

注:实际比赛时两组选手位于两块256cm×256cm正方形场地运行,由上位机采集位置信息后映射到一块虚拟场地。

行为

进入比赛阶段后,玩家可以进行以下行为:

  • 移动:选手可以前往任何高度不为0的区块。如果玩家移动到高度为0的区块,生命值将会立即变为0。
    • 玩家可以在毫无阻碍地在不同高度的方块间移动
  • 收集:选手可以前往各个矿脉收集矿物,收集到的矿物会自动按一定比例转换为绿宝石。
  • 挖掘:选手可以挖掘附近的区块,削减其高度直至0。若挖掘的区块为岛屿,则当区块高度首次变为0时,该岛屿上的床被摧毁。两次挖掘行为之间至少间隔一定时间。若对应区块处有玩家,则无法挖掘对应区块。
  • 放置:选手可以在附近的区块放置方块,提高其高度。两次放置行为之间无间隔。
  • 攻击:选手可以攻击附近的玩家。两次攻击行为之间至少间隔一定时间。若攻击到对方,则对方生命值减少等同于己方攻击力的点数。
  • 交易:选手可以在自己的岛屿处使用绿宝石购买物品。即使床已经被摧毁,也能够进行交易。
  • 复活:当选手死亡后,若床仍存在,则可以在死亡15秒后前往己方岛屿处复活。复活后生命值全部恢复。
  • 死亡:若选手生命值变为0,则玩家死亡。

矿脉

地图中分布有多个矿脉,每个矿脉处都会以10秒为周期生成一个对应的矿物。铁矿位于各方岛屿所在区块,其余矿脉需要自己识别位于己方岛屿的卫星地图获得。

矿物生成后,将会堆积在矿脉处,玩家进入矿脉所在区块后,可以立即获得该矿脉堆积的所有矿物。

  • 矿脉不能被破坏,但是矿脉所在区块的高度可以为0;
  • 堆积的矿物不会因为高度为0消失;
  • 采集矿物需要移动到矿脉所在的区块;

物品

玩家收集铁锭、金锭、钻石后,会按照其价值,转换为对应数量的绿宝石。玩家花费绿宝石购买物品后,对应的物品将会被收纳在玩家的背包。每种物品最多持有64个。

所有物品及其介绍如下:

  • 铁锭:一种用途广泛的金属合成材料,价值1绿宝石。
  • 金锭:一种用于制作多种物品的金属锭,价值4绿宝石。
  • 钻石:一种稀有矿物,价值16绿宝石。
  • 羊毛:一种软塌塌的建筑材料,可以为区块增加1点高度,价值2绿宝石。
  • 生命药水:一种浓郁的液体,可以增加1点生命值,当玩家购买后立即自动使用,价值4绿宝石。

初始状态下,每个玩家都有8个羊毛。

属性

玩家具有各种属性,包括:

  • 生命值上限:比赛开始时,玩家生命值上限为20点。
  • 生命值:比赛开始时,玩家生命值为20点。当生命值上限发生变化时,生命值也会发生相同数量的变化。
  • 攻击力:比赛开始时,玩家攻击力为1点。
  • 急迫值:比赛开始时,玩家急迫值为0点。设行动值为$X$ ,则玩家两次挖掘、两次攻击、挖掘和攻击行为之间间隔时间的最小值为$max({{8.5-0.25X, 0.5}})$ 秒。

部分属性可以通过在岛屿花费绿宝石提升,包括:

  • 生命值上限:每次提升3点,耗费32个绿宝石
  • 攻击力:每次提升1点,耗费64个绿宝石
  • 急迫值:每次提升1点,耗费32个绿宝石

硬件和设施

建议使用官方提供的套件。

  • 尺寸

    小车在比赛的赛前准备必须能被置于长、宽、高为32厘米的正方体空间内,否则将不能进行比赛。

  • 电源

    小车的电源电压不得高于14伏。

  • 控制器

    主控模块只能使用STM32F103RCT6、k210、k230、ArduinoMega开发板。其中k210和k230必须任选其一使用。

  • 外围设备

    小车允许自行更换外围设备。比赛时,小车上不允许承载除用于与上位机通讯的通讯模块外的任何通讯模块和线缆。除控制器上自带的设备外,小车上不允许承载任何光源、任何饱和度较高的色块或其它可能对上位机色块识别产生干扰的物品。

    禁止使用有可能对比赛环境造成任何不可逆的破坏的设备,例如锐器、水墨喷射装置等。

  • 场地

    各方场地规格相同,均为边长约为2.5米的正方形。

    协议

    Slave API 0.1.0 documentation

Releases

No releases published

Packages

No packages published

Languages