迪文科技论坛

 找回密码
 立即注册
搜索
查看: 8|回复: 0

【分享】2020智能工程学院孙中斌&王运泽&邢志浩 猜拳对决

[复制链接]

0

主题

0

回帖

17

积分

新手上路

Rank: 1

积分
17
发表于 前天 15:16 | 显示全部楼层 |阅读模式
一、作品简介
本作品是一款基于人机交互的“智能猜拳对决系统”,以单片机(如STM32或51)作为主控,搭配迪文DGUS串口屏,实现玩家与电脑的趣味博弈。系统具备玩家出拳输入、电脑随机出拳生成、以及实时胜负逻辑判定功能。界面采用卡通风设计,操作简单直观,按下对应按键即可实现剪刀、布、石头的即时对决,并在屏幕上方实时反馈“你赢了”、“你输了”或“平局”的判定结果,互动性强,运行稳定。
二、工作原理
1. 通讯架构:单片机作为主控,迪文串口屏作为人机交互终端,两者通过串口(UART)进行数据交互。
2. 指令下发:当玩家在屏幕上按下“剪刀”、“布”或“石头”按键时,屏幕主动向单片机发送对应的键值(如1、2、3)。
3. 随机数生成:单片机接收指令后,运行内部逻辑代码,利用 rand() 函数及伪随机种子生成电脑的出拳结果(1-3对应不同手势)。
4. 逻辑判定:单片机将玩家出拳与电脑出拳进行比对,根据规则判定胜负。
5. 状态显示:单片机将电脑出拳结果及胜负判定结果,通过串口写入屏幕指定的变量地址中,屏幕根据变量值自动刷新图标和文字,完成一次完整对决。
6. 安全保护:系统各变量独立,防止越界,保障程序稳定运行。
三、设计思路
本猜拳系统采用迪文触摸屏搭配单片机来实现,整体分为硬件、软件两个部分进行设计。
1. 硬件部分
硬件主要由迪文触摸屏、主控单片机开发板以及通讯线缆组成。系统通过单片机的串口与迪文屏的串口(如串口4)相连,实现底层数据的稳定传输。
2. 软件部分
· UI界面设计:使用DGUS组态软件进行人机界面的设计与布局。设计主要包括主界面区域划分:左侧为玩家出拳图标显示区,中间为按键操作区(剪刀、布、石头),右侧为电脑出拳图标显示区,顶部为胜负结果文本显示区。
· 底层逻辑设计:单片机程序主要负责接收屏幕发来的按键数据。代码逻辑中规避了传统time.h 导致的报错,采用变量自增等方式生成伪随机数,确保电脑出拳的随机性;利用基础条件判断语句(if-else)实现猜拳规则(如:剪刀赢布,布赢石头,石头赢剪刀);并调用串口发送函数,将结果实时反馈给屏幕的相应变量地址。)
四、界面展示
本项目使用DGUS组态软件完成人机界面的设计与布局,一共设计了一个核心主界面。
主界面直观展示了游戏状态:下方三个圆形按钮清晰指示“剪刀”、“布”、“石头”操作区;操作后,左侧与右侧的图形变量区会立即显示双方出拳的手势;顶部文本变量区根据对战逻辑实时更新判定结果。整套界面布局简洁,色彩明快,操作直观,完美满足了娱乐互动中快速反馈的需求。
演示视频:迪文屏二次开发猜拳小游戏
                [url=https://b23.tv/AItkX2O]【bili_68052929140的个人空间-哔哩哔哩】[/url]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-11-9 13:33 , Processed in 0.047693 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表