0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

街机弹球机的模拟设计实现

友晶FPGA 来源:友晶Terasic 2024-04-09 11:30 次阅读

1. 项目概述

项目说明

该项目是实现经典的街机游戏——弹球机。使用DE1-SOC开发板上的滑动开关,玩家可以设置球的初始速度。然后,按下按钮将球释放到柜子中,球将根据其当前的速度和方向与周围的物体进行碰撞交互。玩家可以按下另外两个按钮来控制左右两个拨片,以尝试将移动的球保持在柜子中。分数根据球的比赛时长进行记录,当球离开柜子/显示器时游戏结束。此外,玩家还可以切换 DE1-SOC上的开关来启用/禁用艺术模式,艺术模式是让玩家可以根据球的路径在柜子上进行绘画。

8047519c-f61d-11ee-a297-92fbcf53809c.jpg

805ec5ca-f61d-11ee-a297-92fbcf53809c.png

2. 物理原理

将速度分解为 x 和 y 分量,负速度表示向显示屏上的 0,0 或屏幕的左上角移动,正速度表示向屏幕右下角移动。

807e8d60-f61d-11ee-a297-92fbcf53809c.png

发射球时系统会根据滑动开关的设定来给球一个 y 方向的初速度,球的运动过程中要考虑重力对球的影响。比如在玩实际机器时,如果球没有足够的速度,由于箱体的角度,它会落回到弹簧上。

当球沿斜面向下移动,若不考虑摩擦、滚动、滑动等其他因素时,加速度方程只基于箱体的倾斜度。如下图所示,加速度的方向是朝向柜子的底部,大小等于重力乘以倾斜角的正弦值。这意味着需要在一定数量的循环后将 y 方向(即朝向显示屏底部)的速度增加 1。

8094c2c4-f61d-11ee-a297-92fbcf53809c.png

当球绕柜子移动与物体发生碰撞时,速度会在 x 和 y 方向上发生变化。当球从静止物体上弹起时,它会以与该物体撞击时相同的角度离开。

80a944ec-f61d-11ee-a297-92fbcf53809c.png

为有效计算,只考虑当前速度矢量 [x 速度,y 速度] 和正在撞击的物体的单位法线矢量。然后将使用以下方程计算新的速度矢量:v' = 2*(n dot v)*n + v。

80bc7fc6-f61d-11ee-a297-92fbcf53809c.png



审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4915

    浏览量

    139701
  • 速度矢量
    +关注

    关注

    0

    文章

    2

    浏览量

    1289

原文标题:街机弹球机的模拟

文章出处:【微信号:友晶FPGA,微信公众号:友晶FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【招聘】射频/模拟、ASIC设计/验证、系统、模拟设计等

    【招聘】射频/模拟、ASIC设计/验证、系统、模拟设计等 射频集成电路工程师(TRX 方向)-BJ 射频/模拟集成电路工程师(RF/Analog IC Engineer)-BJ 射频IC工程师
    发表于 03-03 14:54

    模拟设计的原则有哪些

    模拟设计的100条圣经
    发表于 02-25 07:24

    stm32游戏模拟

    stm32游戏模拟器,2020年科协招新需要出训练题,让新生了解一下单片,所以我这边打算出一道游戏的题,让新生用单片
    发表于 07-14 06:18

    单片计算器模拟设计方案

    《【毕业设计】单片计算器模拟设计方案.doc》由会员分享,可免费在线阅读全文,更多与《毕业设计单片计算器模拟设计方案(V7.1)》相关文档资源请在帮帮文库数亿1、踪迹
    发表于 09-13 07:02

    如何用esp32制作无线VR弹球

    我想用 esp32 制作无线 VR 弹球 我玩的游戏是 VR FX2 pinball 它需要像 L_shift 这样的输入用于左脚蹼和 R_shift 用于右脚蹼它还需要一个启动按钮 A 和 B
    发表于 03-01 08:27

    基于开源虚拟模拟设备的设计与实现

    在研究了QEMU虚拟的工作原理及其I/O框架基础上,设计并实现模拟QBUS设备之间,基于socket设备组通信模型,模拟QBUS设备与物理设备之间,基于虚
    发表于 10-08 15:09 30次下载
    基于开源虚拟<b class='flag-5'>机</b>的<b class='flag-5'>模拟设</b>备的设计与<b class='flag-5'>实现</b>

    国内搞模拟设计可能缺乏的是传承

    国内搞模拟设计可能缺乏的是传承,感兴趣的小伙伴们可以瞧一瞧。
    发表于 09-18 17:15 0次下载

    精密模拟设计中的噪声分析

    精密模拟设计中的噪声分析
    发表于 01-14 15:09 17次下载

    TI各种模拟设计工具介绍

    TI各种模拟设计工具介绍
    发表于 10-16 12:56 7次下载
    TI各种<b class='flag-5'>模拟设</b>计工具介绍

    Cadence教程之如何使用VieloSo模拟设计环境进行设计

    本手册描述如何使用VieloSo模拟设计环境来模拟模拟设计。VieloSo模拟设计环境被记录在一系列在线手册中。下面的文件给你更多的信息。 FieloSo高级分析工具用户指南提供有关蒙
    发表于 09-20 08:00 0次下载
    Cadence教程之如何使用VieloSo<b class='flag-5'>模拟设</b>计环境进行设计

    PSoC Creator模拟设计:如何解决模拟电压问题

    本视频介绍了采用PSoC Creator进行模拟设计的各种技巧和注意事项。
    的头像 发表于 07-01 12:16 2078次阅读

    PSoC Creator模拟设计:Analog Device Viewer

    本视频介绍了采用PSoC Creator进行模拟设计的各种技巧和注意事项。
    的头像 发表于 07-01 12:41 2964次阅读

    PSoC Creator模拟设计:引脚放置的模拟及注意事项

    本视频介绍了采用PSoC Creator进行模拟设计的各种技巧和注意事项。
    的头像 发表于 07-01 12:04 3596次阅读

    AN639:模拟设备能耗(ADE)产品:常见问题

    AN639:模拟设备能耗(ADE)产品:常见问题
    发表于 04-24 14:32 2次下载
    AN639:<b class='flag-5'>模拟设</b>备能耗(ADE)产品:常见问题

    弹球ARDUINO转换开源分享

    电子发烧友网站提供《弹球ARDUINO转换开源分享.zip》资料免费下载
    发表于 11-07 10:21 0次下载
    <b class='flag-5'>弹球</b>ARDUINO转换开源分享