基于 FPGA 的机器博弈五子棋游戏
基于 FPGA 的机器博弈五子棋游戏
一,设计目的
五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性
和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机,
电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身
体健康(见下图 1)。同时,移动互联网设备受限于 I/O 设备的数量(如鼠标
等),无法实现双人同屏在线游戏,丧失了游戏的一部分趣味性和体验性。因此
我们在体感游戏的启发下,设计了可以远程遥控的蓝牙笔和对应的云端平台,
给用户提供双人同屏、双人异地等优秀的游戏体验。
二、系统组成及功能说明
1,系统介绍
本系统主要由 FPGA 中央控制模块、蓝牙笔模块和云端平台组成,玩家可以通
过蓝牙笔或云端平台进行游戏操作,同时游戏的画面会实时显示在 HDMI 显示
器上和云端平台。
FPGA 中央控制模块主要负责加速计算五子棋的 AI 算法、对五子棋游戏的流程
控制、接收蓝牙笔传来的数据、控制 HDMI 显示,通过 WIFI 发送数据给云端平
台,从而实现。
如下图:
2.2 各模块介绍
控制模块:
五子棋的流程我们 ZYNQ 核来控制。五子棋游戏有三种模式:人机对战、人人
相关文章:
基于 FPGA 的机器博弈五子棋游戏
基于 FPGA 的机器博弈五子棋游戏 一,设计目的 五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性 和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机, 电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身 体健康…...
uCOSIII实时操作系统 三 移植
目录 uCOSIII简介: 准备工作: 准备基础工程: UCOSIII工程源码: UCOSIII移植: 向基础工程中添加相应的文件夹 向工程中添加分组 常见问题: 下载验证: uCOSIII简介: UCOS-I…...
机器学习之SGD, Batch, and Mini Batch的简单介绍
文章目录 总述SGD(Stochastic Gradient Descent)(随机梯度下降)Batch (批量)mini Batch (迷你批量) 总述 SGD, Batch, and Mini Batch是可用于神经网络的监督学习计算权重更新的方案,即∆wij。 SGD(Stochastic Gradi…...
Windows电脑上的多开器与分布式存储系统的关系
Windows电脑上的多开器和分布式存储系统是两个不同的概念,二者之间没有直接的关系。 多开器是一种软件,它可以在Windows电脑上让用户同时运行多个同一应用程序的实例。多开器通常用于游戏玩家和应用程序测试人员等需要同时运行多个实例的用户。 分布式…...
积分球可以用于什么光谱光学检测
积分球是光测量的主要工具之一。积分球可以同时捕获一个光源发出的所有辐射。 1.光源测量 积分球可以用于测量光源的光通量、色温、光效等参数。通过将光源放置在积分球的入口处,球内的光线经过多次反射后形成均匀的照度分布,然后使用光度计或光谱仪对光…...
【力扣面试题】URL化
👑专栏内容:力扣刷题⛪个人主页:子夜的星的主页💕座右铭:前路未远,步履不停 目录 一、题目描述二、题目分析1、使用String内部方法2、使用StringBuilder 一、题目描述 题目链接:URL化 编写一种…...
计算机网络基础(二):物理层、数据链路层及网络层
一、物理层 1.物理层 物理层面的通信标准可以概括划分为与网络基础设施有关的标准和与被传输物理信号有关的标准两类。 网络基础设施的标准:鉴于物理层面的消息互通也是物理层应该兑现的服务,因此物理层的标准还会包括针脚的用途、线缆的材料与设计等…...
小白自学—网络安全(黑客技术)笔记
目录 一、自学网络安全学习的误区和陷阱 二、学习网络安全的一些前期准备 三、网络安全学习路线 四、学习资料的推荐 想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类…...
2.2.3 vim操作合集
1 vim VIM 是 Linux 系统上一款文本编辑器,学习 VIM 最好的文档,应该是阅读学习 VIM 的帮助文档,可以使用本地的帮助文件(vim--->:help),或者使用在线帮助文档。同时针对vim的使用,相应的相书籍也很多,如下 2 vim操作模式 命令模式:默认模式,该模式下可以移动光标…...
解决 Jenkins 性能缓慢的问题~转
解决 Jenkins 性能缓慢的问题 Docker中文社区 计算机技术与软件专业技术资格持证人 2 人赞同了该文章 没有什么比缓慢的持续集成系统更令人沮丧的了。它减慢了反馈循环并阻止代码快速投入生产。虽然像使用性能更好的服务器可以为您争取时间,但您最终必须投资…...
Matrix卡顿优化之IdleHandlerLagTracer源码分析
前言 IdleHandler是Android系统为开发者提供的一种在消息队列空闲时运行任务的机制,通过IdleHandler执行的任务优先级低于主线程优先级,会在主线程任务执行完成后再执行,所以适用于一些实时性要求不高的任务,通常用于Android启动…...
(ubuntu)Docker 安装linux 详情过程
文章目录 前言Docker 安装linux第一步:使用dokcker 拉取镜像:第二步:创建本地目录(用于挂载)第三步:(上传配置文件)修改配置文件第四步:创建docker容器第五步: 测试本地连…...
ArcMap:第二届全国大学生GIS技能大赛(广西师范学院)详解-上午题
目录 01 题目 1.1 第一小题 1.2 第二小题 1.3 第三小题 1.4 数据展示 02 思路和实操 2.1 第一问思路 2.2 第一问操作过程 2.2.1 地理配准 2.2.2 镶嵌 2.2.2.1 第一种镶嵌方法 2.2.2.2 第二种镶嵌方法 2.2.3 裁剪 2.2.4 DEM信息提取 2.2.5 分类 2.3 第二问思路 …...
Blender 导出 fbx 到虚幻引擎中丢失材质!!!(使用Blender导出内嵌材质的fbx即可解决)
目录 0 引言1 Blender导出内嵌纹理的fbx模型 0 引言 我在Blender处理了一些fbx模型后再次导出到UE中就经常出现,材质空白的情况(如下图所示),今天终于找到问题原因,记录下来,让大家避免踩坑。 其实原因很简…...
C++交换a和b的方法
以下是用C编写的交换a和b的六种方法: 1. 方法一:使用临时变量 #include <iostream>int main() {int a 5;int b 10;std::cout << "Before swapping: a " << a << ", b " << b << std::end…...
3D孪生场景搭建:模拟仿真
前面几期文章介绍如何使用NSDT 编辑器 搭建3D应用场景,本期介绍下孪生场景中一个一个非常重要的功能:模拟仿真。 1、什么是模拟仿真 模拟仿真是一种用于描述、分析和模拟现实世界中系统、过程或事件的计算机模型和程序。仿真通过输入各种参数和条件&am…...
美国各流域边界下载,并利用arcgis提取与处理
一、边界数据的下载 一般使用最普遍的流域边界数据是从HydroSHEDS官网下载: HydroBASINS代表一系列矢量多边形图层,以全球尺度呈现次级流域边界。该产品的目标是提供一种无缝的全球覆盖,其中包含了不同尺度(从数十到数百万平方千米…...
A Survey and Framework of Cooperative Perception 论文阅读
论文链接 A Survey and Framework of Cooperative Perception: From Heterogeneous Singleton to Hierarchical Cooperation 0. Abstract 首次提出统一的 CP(Cooperative Percepetion) 框架回顾了基于不同类型传感器的 CP 系统与分类对节点结构&#x…...
【SkyWalking】SkyWalking是如何实现跨进程传播链路数据?
文章目录 一、简介1 为什么写这篇文章2 跨进程传播协议-简介 二、协议1 Standard Header项2 Extension Header项3 Correlation Header项 三、跨进程传播协议的源码分析1 OpenTracing规范2 通过dubbo插件分析跨进程数据传播3 分析跨进程传播协议的核心源码 四、小结参考 一、简介…...
px4仿真实现无人机自主飞行
一,确定消息类型 无人机通过即在电脑是现自主飞行:思路如下。 通过Mavros功能包,将ROS消息转换为Mavlink消息。实现对无人机的控制。 几种消息之间的关系如下: 对于ROS数据,就是我们机载电脑执行ROS系统的数据。 对于Mavros消息,就是Mavros功能包内部的消息。查询网站…...
详解Linux的系统调用fork()函数
在Linux系统中,fork()是一个非常重要的系统调用,它的作用是创建一个新的进程。具体来说,fork()函数会在当前进程的地址空间中复制一份子进程,并且这个子进程几乎完全与父进程相同,包括进程代码、数据、堆栈以及打开的文…...
构建捡垃圾机器人的 ROS 2 项目
一、说明 本系列是关于学习如何使用 ROS2、Docker 和 Github 设计、设置和维护机器人项目。 先决条件 — ROS2 软件包的基本知识、实现发布者、订阅者、操作并连接它们。 我们之前在 ROS2 中了解了不同的部分。但是,在我们转向实际的基于硬件的项目之前,…...
Spring常用注解(2)
6、切面(AOP)相关注解 Spring AOP详细介绍 Spring支持AspectJ的注解式切面编程。 Aspect 声明一个切面 After 在方法执行之后执行(方法上) Before 在方法执行之前执行(方法上) Around 在方法执行之前与之后…...
upload-labs靶场通关
文章目录 Pass-01 前端检测(JS检测)1.1 原理分析1.2 实验 Pass-02 后端检测(MIME检测)2.1 原理分析2.2 实验 Pass-03 后端检测(黑名单绕过,特殊后缀名)3.1 原理分析3.2 实验 Pass-04 后端检测&a…...
git拉取代码过程
第一步:先在本地创建文件夹 ,比如我这里的文件夹名称是 fengkgong_zntjfx 第二步:执行命令:git init 第三步:git clone 第四步:git fetch 第五步:git branch -a 第六步:cd 项目 【…...
Swift | 属性包装器
Swift | 属性包装器 1. 什么是 Swift Property Wrapper? Swift Property Wrapper 是一种特性,它允许我们在声明属性时添加自定义的包装逻辑。通过使用属性包装器,我们可以在不修改类或结构体定义的情况下,定制属性的访问和存储方…...
Android改造CardView为圆形View,Kotlin
Android改造CardView为圆形View,Kotlin 可以利用androidx.cardview.widget.CardView的cardCornerRadius特性,将CardView改造成一个圆形的View,技术实现的关键首先设定CardView为一个宽高相等的View(正方形),…...
Idea下面git的使用:变基、合并、优选、还原提交、重置、回滚、补丁
多分支和分支切换 变基和合并 变基是把本项目的所有提交都列出来按顺序一个个提交到目标分支上去 而合并是把两个分支合并起来,但是旧的分支还是可以启动其他分支,在旧的分支上继续开发 master: A -- B -- C -- M/ feature: D -- Emaster: A -…...
【数据结构】什么是算法
🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 目录 一.算法的定义 1.算法的概念 2.数据结构与算法的关系 二.算法的特性 输入 输出 有穷性 确定性 可行性 三.算法的设计要求 1.正确性 2.可读性 3.健壮性 4.效…...
复旦大学EMBA:揭秘科创企业,领略未来战略!
智能制造,国之重器。作为制造强国建设的主攻方向,智能制造的发展水平关系到我国未来制造业在全球的地位与影响力。发展智能制造,是加快建设现代化产业体系的重要手段,提升供给体系适配性的有力抓手,也是建设数字中国的…...
重庆点优建设网站公司/信息流优化师没经验可以做吗
给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们…...
互联网网站开发发展/网络公关公司收费
#代码: def perm(data, begin, end):if begin end: # 递归结束条件,当交换到最后一个元素的时候不需要交换,1的全排列还是1。print(data) # 打印一次排列完成后的数组。else:j beginfor i in range(begin, end): # 从begin到end全排列。da…...
网站怎么做?/查询网站服务器
百分点是一个推荐服务的提供商,但是已经转型为大数据解决方案的提供商。 首先看一下大数据与应用画像的关系,现在大数据是炙手可热的,大数据的4个V都比较了解,大数据应该说是信息技术的自然延伸,意味的无所不在的数据…...
网页设计网站设计欣赏/阿里巴巴关键词排名优化
oracle数据库根据不同条件给同一字段修改相应的值:例如:根据职务调整雇员的工资,如果职务为“SALESMAN”或者“ANALYST”工资上调100元,如果职务为“MANAGER”工资上调200元,其它职务工资上调50元。update empset sal(casewhen jo…...
铁岭网站建设/网站推广的概念
和List类型不同的是,Set集合中不允许出现重复的元素Set可包含的最大元素数量是4294967259存储Set的常用命令: 添加/删除元素获得集合中的元素集合中的差集运算集合中的交集运算集合中的并集运算扩展命令> sadd myset a b c //向集合中添加元素 (integ…...
网站建设新疆/网站如何做推广
257. 二叉树的所有路径 - 力扣(LeetCode) 回溯法枚举,或者dfs就可以: class Solution { public:vector<string> res;string t "->";void backtrack(TreeNode* root, string s){if(!root->left &&…...