tiao-yi-tiao

所属分类:VHDL/FPGA/Verilog
开发工具:SystemVerilog
文件大小:42KB
下载次数:0
上传日期:2019-12-24 10:49:18
上 传 者sh-1993
说明:  来自微信的“跳一跳”游戏的verilog版本
(a verilog version of "tiao-yi-tiao" game from WeChat)

文件列表:
pic (0, 2019-12-24)
pic\dead.bmp (1440056, 2019-12-24)
pic\dead.coe (2400065, 2019-12-24)
pic\start.bmp (1440056, 2019-12-24)
pic\start.coe (2400065, 2019-12-24)
src (0, 2019-12-24)
src\LFSR10bit.v (1084, 2019-12-24)
src\VGA.sv (2090, 2019-12-24)
src\check.sv (618, 2019-12-24)
src\control.v (4297, 2019-12-24)
src\counting.v (842, 2019-12-24)
src\create.v (703, 2019-12-24)
src\display.sv (5428, 2019-12-24)
src\jump.v (2760, 2019-12-24)
src\move.sv (719, 2019-12-24)
src\parameter.v (110, 2019-12-24)
src\pressing.v (453, 2019-12-24)
src\segdisplay.v (1384, 2019-12-24)
src\stagefall.v (1103, 2019-12-24)
src\top.sv (4350, 2019-12-24)
src\update.sv (1223, 2019-12-24)

# Verilog版微信“跳一跳” 使用verilog实现了2017年末上线的微信小程序游戏“跳一跳”,为魔术实验设计课程的大作业。 主要以**状态机为核心**,实现了**蓄力、跳动效果、掉落方块、加分、死亡判断**等功能,并且利用rom存储显示图片,简单地做了开始和死亡界面。 大致的示意图如下: **游戏规则为:** > 1. 按键蓄力,松开后小人跳动,落到方块台子上获得加分。 > 2. 台子(stage)有红橙绿蓝四色,对应不同的分数。 > 3. 台子还有不同的宽度(三种),在一开始台子均较宽,随着分数提高难度增高,出现窄的台子,增加跳跃难度。 > 4. 落到台子中心部分,有额外的加分。 **从实验报告里选了部分内容简单介绍下:** ## 状态机 定义了**10**个状态,分别为: - START:开始界面 - WAIT:等待玩家按键蓄力 - PRESSING:开始蓄力 - JUMP:蓄力结束 - CHECK:死亡判断 - UPDATE:更新方块 - FALL:用于为新的方块产生从上方落下的动画效果 - MOVE:移动视角,回到左侧 - DEAD:死亡状态,rst键重新开始 流程图如下: ## 模块设计 总设计图: 因为模块间传递信号较多,为了避免杂乱,只标注了control(控制)模块的控制信号以及总体的input、output信号。模块间具体信号传递直接见源码。 **注:** rom1、rom2以及clk_wiz利用vivado ip核直接生成即可。rom1&2为480000x3,分别载入pic中的start/dead.coe文件(使用bmptomif生成后,再python简单处理成coe文件);clk生成40MHz。 ## 演示 1. 进入开始界面: 2. 等待玩家按键: 3. 蓄力: 4. 跳动: 由于手机相机快门速度太低,故拍出来有重影,实际运行中动画较为流畅。 5. 分数计算: 6. 方块下落效果: 同样由于手机相机快门速度所限,有重影,实际过程中流畅: 7. 死亡界面: 8. 随着分数提高调整难度: 开始出现窄方块。

近期下载者

相关文件


收藏者