双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

EE308 LAB4

Ye_Qixin Ye_Qixin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
The Link Your Classhttps://bbs.csdn.net/forums/MUEE308FZ
The Link of Requirement of This Assignmenthttps://bbs.csdn.net/topics/601188617
MU STU ID and FZU STU ID19104928&831902108
Teammate's MU STU ID and FZU STU ID19104219&831902103
Teammate's blog linkhttps://bbs.csdn.net/topics/601417296
GitHub linkhttps://github.com/yyqqxxx/bobing.git
Video demo linkhttps://vedu.csdnimg.cn/original/2887f8369c7b404a80a03f8d1b637cef/4b3391a2-17c6460e4c7.mp4

1.PSP Form

Personal Software Process StagesEstimated Time/minutesCompleted Time/minutes
Planning2020
Estimate1515
Development7070
Analysis1010
Design Spec1010
Design Review1010
Coding Standard1030
Design2010
Coding80105
Code Review Planning3020
Test1010
Reporting4040
Test Report1015
Size Measurement--
Postmortem&Process Improvement3045
total365410

2、Difficulties encountered and solutions

Difficulties encountered:
1.We have never been exposed to Wechat Applet program development applications befor.
2.New programming languages need to be learned and users need to be considered.
3.This task is completed by two people, which requires two people to cooperate through GitHub. It takes time to discuss and coordinate.

Solutions:
1.We quickly learned the development process of Wechat Applet by learning online materials and videos, and used "Wechat Developer tools" to program and develop the prototype we have done in last lab work.
2.We tried to cooperate with each other through offline communication and remote warehouse cooperation on GitHub.
3.In the process, we found that some of the original ideas were difficult to implement or worth improving, so we simplified and optimized the ideas of the prototype.


3.User Interface Presentation

“Game center“

You can choose your game mode here

img

 

“Friends”

You can post comments and see what other friends are doing here

 

img

 

“Myself”

You can view and edit personal information

 

img

 

4.Key code and feature demonstrations

Single player mode

This mode allows you to roll dice online and count the results


 
  1. /**

  2. *对结果保存到list列表中,并合成每个图片路径保存到listsrc列表,countList用来保存个点数的统计个数

  3. */

  4. result() {

  5. var list = [];//初始化

  6. var listsrc = [];//初始化

  7. var countList=[0,0,0,0,0,0,0];//初始化

  8. for (var i = 0; i < 6; i++) {

  9. var t = this.random(1,6);

  10. list.push(t);

  11. countList[t]++;

  12.  
  13. }

  14. this.setData({

  15. result: list

  16. })

  17. for (var i = 0; i < 6; i++) {

  18. var dicesrc = "/assets/images/dice/d" + this.data.result[i] + ".png"

  19. listsrc.push(dicesrc)

  20. }

  21. this.setData({

  22. dicelist: listsrc,

  23. })

  24. var flag = 0;

  25. if ( countList[1] == 1 && countList[2] == 1 && countList[3] == 1 && countList[4] == 1 && countList[5]== 1 && countList[6] == 1) {

  26. this.setData({

  27. determine: "对堂!",

  28. })

  29. flag = 1

  30. } else {

  31. if ( countList[1] == 6){

  32. this.setData({

  33. determine:"遍地锦!",

  34. })

  35. }

  36. if ( countList[4]== 1) {

  37. this.setData({

  38. determine: "一秀!",

  39. })

  40. flag = 1

  41. }

  42. if ( countList[4]== 2) {

  43. this.setData({

  44. determine: "二举!",

  45. })

  46. flag = 1

  47. }

  48. if ( countList[4] == 3) {

  49. this.setData({

  50. determine: "三红!",

  51. })

  52. flag = 1

  53. }

  54. if ( countList[4] == 5) {

  55. this.setData({

  56. determine: "五王!",

  57. })

  58. flag = 1

  59. }

  60. if ( countList[4] == 4) {

  61. if ( countList[1] == 2) {

  62. this.setData({

  63. determine: "状元插金花!",

  64. })

  65. flag = 1

  66. } else {

  67. this.setData({

  68. determine: "状元!",

  69. })

  70. flag = 1

  71. }

  72. }

  73. if ( countList[4] == 6) {

  74. this.setData({

  75. determine: "六杯红!",

  76. })

  77. flag = 1

  78. }

  79. if ( countList[1] == 4 || countList[2]== 4 || countList[3] == 4 || countList[5] == 4 || countList[6] == 4) {

  80. this.setData({

  81. determine: "四进!",

  82. })

  83. flag = 1

  84. }

  85. if ( countList[1] == 5 || countList[2] == 5 || countList[3] == 5 || countList[5] == 5 || countList[6] == 5) {

  86. this.setData({

  87. determine: "五子登科!",

  88. })

  89. flag = 1

  90. }

  91. if ( countList[2] == 6 || countList[3] == 6 || countList[5] == 6 || countList[6]== 6) {

  92. this.setData({

  93. determine: "六杯黑!",

  94. })

  95. flag = 1

  96. }

  97. }

  98. if (flag == 0) {

  99. this.setData({

  100. determine: "可惜",

  101. })

  102. }

  103. console.log("输出投掷结果:", this.data.determine)

  104. },

  105.  

Mutiple player mode

“start game” button


 
  1.  
  2.  
  3. //开始游戏

  4. click(){

  5. console.log("确定房间人数:", num)

  6. if(!this.data.num){

  7. this.setData({

  8. infoMess:'请选择玩家人数!',

  9. })

  10. }else{

  11. this.setData({

  12. infoMess:'',

  13. statu:1

  14. })

  15. console.log("创建成功!")

  16. }

  17. },

“start” and “stop” button


 
  1. click1(){

  2. console.log("点击投掷")

  3. this.setData({

  4. statu: 2,

  5. finallydetermine:[]

  6. })

  7. },

  8.  
  9. click2(){

  10. console.log("停!")

  11. this.setData({

  12. statu: 3

  13. })

  14. this.result();

  15. },

  16.  

next player and come out result fuctions


 
  1. next2(){ //轮到玩家2

  2. this.setData({

  3. p:2,

  4. statu:1,

  5. determine1:determine,

  6. })

  7. },

  8. next3(){ //轮到玩家3

  9. this.setData({

  10. p:3,

  11. statu:1,

  12. determine2:determine,

  13. })

  14. },

  15. next4(){//轮到玩家4

  16. this.setData({

  17. p:4,

  18. statu:1,

  19. determine3:determine,

  20. })

  21. },

  22.  
  23. finish(){ //点击生成结果

  24. this.setData({

  25. p:0

  26. })

  27. if(num=='2人'){

  28. this.setData({

  29. determine2:determine,

  30. })

  31. }

  32. if(num=='3人'){

  33. this.setData({

  34. determine3:determine,

  35. })

  36. }

  37. if(num=='4人'){

  38. this.setData({

  39. determine4:determine,

  40. })

  41. }

  42. console.log("排名完成")

  43. },

  44. }

  45.  

5.Learning progress bar

4th labNew code (line)Cumulative code (line)Learning time this week (hours)Total Learning Time (hours)Important growth
1------22Learn how to blog
210010035Learn about Git and Github and basic operations、 learn more about PyCharm、 learn about unit testing and performance testing
320030038Learned the prototype design tool MockingBot roughly use method, know the formation process of a prototype
4500800513Learn and apply the knowledge related to Wechat Applet programming 、better cooperate with others

6.Demonstration Video Link

 

 

 


7.Teamwork photo

 

img

 

 

img

 


8.Summary

This applet development is undoubtedly is a challenge for us, we paid a lot of time also harvest a lot, such as: WeChat small program development process, programming, front-end design, etc., the most important thing is that we implemented a from idea to prototype to program the whole process of implementation, also learned how to communicate and cooperate, and his team-mates to overcome various difficulties and challenges. The work also improved our capabilities and our understanding of software development!

 

img

...全文

相关推荐

EE-308 LAB4 final version.7z

这是本次实验的压缩包

晨起剪桃花

EE308-Lab8-AlphaSprint-Day4

EE308-Lab8-AlphaSprint-Day4Feedback From Members1. Beichen, ZhouModulePersonal SummaryCode &amp; Results2. Yuwei, JiangModulePersonal SummaryCode &amp; Results3. Yifan, ZhuModulePersonal Summary4. Yifan, ShenModulePersonal SummaryCode &amp; Results5. Shenk

调参侠鱼尾

双闭环PWM整流器VOC控制 +SVPWM调制仿真(Simulink仿真实现)

内容概要:本文围绕城市空中交通环境下多无人机协同路径规划问题展开深入研究,重点探讨了在包含建筑物、禁飞区、动态威胁等复杂约束条件下,如何利用仿生优化算法(如布谷鲶鱼优化算法CCO、灰雁优化算法GGO、田忌赛马优化算法THRO)实现安全、高效的多无人机路径规划。文章提出了一种分层规划策略,融合全局路径规划与局部动态避障机制,构建了综合考虑路径长度、威胁暴露度、高度变化及地形碰撞风险的多目标优化模型。通过Matlab仿真平台对多种算法进行对比实验,系统评估了各算法在路径安全性、收敛速度、优化性能和鲁棒性方面的表现,并深入分析了现有方法的局限性,对未来研究方向如动态环境适应、通信受限下的分布式协同等进行了展望。; 适合人群:具备一定编程基础,熟悉Matlab/Simulink仿真环境,从事无人机系统设计、智能交通、自动化控制、路径规划算法研究等相关领域的科研人员及高校研究生。; 使用场景及目标:①应用于城市空中交通系统中多无人机的协同任务执行与动态避障;②为复杂威胁环境下多智能体系统的路径规划提供先进算法支持与仿真验证框架;③辅助研究人员深入理解并复现仿生优化算法在高维、多约束路径规划问题中的具体实现与性能差异。; 阅读建议:此资源以Matlab代码实现为核心,紧密结合理论建模与仿真实验,建议读者在学习过程中重点关注算法的设计原理、参数调优策略及仿真结果的可视化分析,结合文中提供的实验数据进行横向对比,以深刻把握不同仿生算法的搜索机制、适用场景及其在实际工程应用中的潜力与挑战。

稷下科研社

仿真+课设Multisim直流可调稳压电源(0-15V)仿真设计基于LM317+LM337【仿真+课程报告】

内容概要:本文详细介绍了一种基于LM317(正压调节)和LM337(负压调节)芯片的Multisim直流可调稳压电源仿真设计方案,输出电压范围为0-15V,具备完整的电路仿真模型与课程设计报告。设计涵盖线性稳压电源的核心原理,包括电压调节机制、元件参数配置、双极性电源构建及仿真测试流程,突出理论与实践结合。文档还附带丰富的扩展资源,如三相PWM整流器、函数信号发生器等仿真项目,并提供百度网盘链接用于获取全套资料,适用于电子类课程设计与自主学习。整体内容系统性强,注重仿真操作指导与工程实践能力培养。; 适合人群:电子信息工程、自动化、电气工程及其相关专业的本科生、专科生,以及正在进行模拟电子技术课程设计或毕业设计的学生。; 使用场景及目标:①深入理解线性稳压电源的工作原理与设计方法;②掌握Multisim软件在电路仿真中的实际应用;③完成基于LM317/LM337的可调稳压电源课程设计任务;④提升模拟电路系统的设计、仿真与分析综合能力; 阅读建议:建议结合Multisim软件同步实践,按照文档电路图逐步搭建仿真模型,重点关注电压调节电路的实现细节与参数设置,并参考所提供的其他仿真资源拓展知识广度,强化工程思维训练。

优化算法侠_科研

阻尼器磁流变阻尼器MR Damper非线性(阻尼、滞回)特性研究(Matlab代码实现)

内容概要:本文围绕磁流变阻尼器(MR Damper)的非线性特性开展深入研究,重点剖析其在动态载荷作用下的阻尼力响应与滞回行为所表现出的强非线性特征,并基于Matlab平台进行系统建模与数值仿真。通过建立能够准确描述MR阻尼器非线性力学行为的数学模型,模拟其在不同激励条件、电流强度和运动频率下的动态响应过程,进而对系统的非线性特性进行定性与定量分析。研究涵盖了模型构建、参数设定、仿真执行与结果可视化等全过程,突出了Matlab在处理复杂非线性系统仿真中的强大功能与工程实用性,为智能材料器件在振动控制领域的应用提供了坚实的理论支撑与技术路径。; 适合人群:具备一定控制理论、机械动力学或智能材料基础知识,熟悉Matlab编程环境的研究生、科研人员及从事振动控制、结构工程等相关领域的工程技术人员。; 使用场景及目标:①用于智能材料与结构领域的科研与教学,帮助深入理解磁流变阻尼器的工作机理与非线性动力学特性;②为车辆半主动悬架系统、建筑结构抗震减震、桥梁风振抑制等实际工程中的振动控制系统设计、仿真验证与参数优化提供技术支持;③作为非线性系统建模、动力学仿真与Matlab编程实践的经典案例,有效提升使用者的系统分析能力和工程软件应用水平。; 阅读建议:建议读者结合文中提供的Matlab代码进行动手实践,通过调整模型参数(如电流、激励幅值与频率)观察系统响应的变化规律,深入探究非线性特性的形成原因与影响因素,并可尝试将该建模方法迁移至其他智能阻尼器件(如压电、电流变阻尼器)的研究中,以拓展应用视野。

程序猿鑫
评论
收藏 已收藏
分享
返回顶部