STM32单片机中国象棋TFT触摸屏小游戏

2023-09-21 09:16:48

实践制作DIY- GC0167-中国象棋  

 

一、功能说明:

基于STM32单片机设计-中国象棋

二、功能介绍:

硬件组成:STM32F103RCT6最小系统+2.8寸TFT电阻触摸屏+24C02存储器+1个按键(悔棋)

游戏规则:

1.有悔棋键,点击后悔棋一步。

2.有绿色提示线,提示当前该哪一方走棋了。

3.不按照游戏规则走棋时,比如让马走到走不到的地方则会提示无效。

4.将军时会提示将军。如果对方将军后无法走棋后,则自动判定游戏胜利。显示红胜或者黑胜。

5.中国象棋游戏规则:有32颗棋子,分为红黑方,各16颗棋。

*.车走棋没有限制,沿着直线走即可,吃子也没有限制,在它路径上的子都可以吃掉,

*.炮和车一样没有限制,可以直线前后左右走;但是炮在吃子的时候有限制,需要有“炮架子”才能,进行吃子*.马是走“日”字,沿着“日”字的对角线走,马走棋还有“蹩脚马”的规则。

*.象走“田”字的对角线,象的另外一个规则,当“田”字的中间有子时,象是不能跳的。

*.士只能在“宫殿”里行走,且只能走斜线,每次只能走一格。

*.帅将只能在“宫殿”里走,不能离开。只能沿直线走一格。

*.兵只能一格一格的走,只能前不能退,在己方不能往左右,了楚河汉界,可以左右。

三、详情介绍:

视频讲解:哔哩哔哩搜索UP主“爱搞单片机”在其空间搜索关键词中国象棋观看该视频详解讲解

功能演示操作

这是一款基于STM32单片机中国象棋硬件组成:STM32F103RCT6最小系统+2.8寸TFT电阻触摸屏+24C02存储器+1个按键(悔棋)

游戏规则:

1.有悔棋键,点击后悔棋一步。

2.有绿色提示线,提示当前该哪一方走棋了。

3.不按照游戏规则走棋时,比如让马走到走不到的地方则会提示无效。

4.将军时会提示将军。如果对方将军后无法走棋后,则自动判定游戏胜利。显示红胜或者黑胜。

5.中国象棋游戏规则:有32颗棋子,分为红黑方,各16颗棋。

*.车走棋没有限制,沿着直线走即可,吃子也没有限制,在它路径上的子都可以吃掉,

*.炮和车一样没有限制,可以直线前后左右走;但是炮在吃子的时候有限制,需要有“炮架子”才能,进行吃子*.马是走“日”字,沿着“日”字的对角线走,马走棋还有“蹩脚马”的规则。

*.象走“田”字的对角线,象的另外一个规则,当“田”字的中间有子时,象是不能跳的。

*.士只能在“宫殿”里行走,且只能走斜线,每次只能走一格。

*.帅将只能在“宫殿”里走,不能离开。只能沿直线走一格。

*.兵只能一格一格的走,只能前不能退,在己方不能往左右,了楚河汉界,可以左右。

具体测试方法观看视频详细介绍。。。

了解更多尽请观看视频讲解。。。

更多推荐

【Vue】路由与Node.js下载安装及环境配置教程

🎉🎉欢迎来到我的CSDN主页!🎉🎉🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚🌟推荐给大家我的专栏《Vue快速入门》。🎯🎯👉点击这里,就可以查看我的主页啦!👇👇Java方文山的个人主页🎁如果感觉还不错的话请给我点赞吧!🎁🎁💖期待你的加入,一起学习,一起进步!💖💖目录前言

访问学者申请一定要会说英语吗?

访问学者申请一定要会说英语吗?显然,出国做访问学者,外语是出国的关键,这是毋庸置疑,而且必须严格对待的。下面就随知识人网小编一起来深入探讨一下。首先,我们需要明确的是,访问学者申请通常要求申请者具备一定的英语能力。这是因为访问学者在国外学术机构或大学进行研究工作时,需要与导师、同事以及学生进行有效的沟通,而英语通常是国

go工具类的封装——(一)配置文件工具类封装

使用方式在后端开发中,我们经常会使用配置文件,所以我想封装出一个工具类出来,能够提供简洁的接口,让我们很方便地读取配置文件并从配置文件中提取信息。我封装了一个工具类ConfigManager,主要有以下功能:根据配置文件的路径和文件名读取配置信息通过一系列Get函数,可以根据key查询配置项的值自动将配置项写入缓存,提

Python Subprocess介绍:基础和示例

PythonSubprocess介绍:基础和示例探索PythonSubprocess模块的逐步指南,包括示例。目录什么是PythonSubprocess何时使用PythonSubprocessPythonSubprocess示例PythonSubprocess管道结论PythonSubprocess常见问题什么是Pyt

数据结构--哈希表,哈希函数(或者散列表、散列函数)

目录哈希表的定义处理冲突的方法--拉链法散列查找常见的散列函数(构造哈希函数)除留余数法直接定址法数字分析法平方取中法处理冲突的方法--开放定址法(1)线性探测法:(2)平方探测法(3)伪随机序列发处理冲突的方法--再散列法总结哈希表的定义处理冲突的方法--拉链法散列查找圈出来部分,分别是除了第一层查找1次,其他每个元

【算法】二分答案

文章目录相关链接什么时候使用二分答案?题目列表最大化最小化相关题目列表📕2439.最小化数组中的最大值解法1——二分答案解法2——分类讨论O(n)2513.最小化两个数组中的最大值(二分答案+lcm+容斥原理)🐂好题!相似题目(容斥原理+二分查找)878.第N个神奇数字1201.丑数III2517.礼盒的最大甜蜜度

Golang并发的循环

本节中,我们会探索一些用来在并行时循环迭代的常见并发模型。我们会探究从全尺寸图片生成一些缩略图的问题。gopl.io/ch8/thumbnail包提供了ImageFile函数来帮我们拉伸图片。我们不会说明这个函数的实现,只需要从gopl.io下载它。gopl.io/ch8/thumbnailpackagethumbna

爬虫使用代理IP不会被限的原因解析

在网络爬虫的世界中,使用代理IP可以为您带来许多好处,其中之一就是能够避免被目标网站限制或封锁。本文将解析爬虫使用代理IP不会被限的原因,帮助您突破封锁,高效抓取所需数据!IP匿名性:代理IP可以隐藏爬虫程序的真实IP地址,使目标网站无法准确获取您的真实身份和位置信息。目标网站通常会根据IP地址进行访问限制或封锁,尤其

【MySQL】基础SQL语句——库的操作

文章目录一.创建数据库1.1基础语句1.2字符集和校验规则1.3校验规则对读取数据的影响二.查看数据库三.修改数据库四.删除数据库及备份4.1删除4.2备份和还原结束语一.创建数据库1.1基础语句最简洁的创建数据库的SQL语句是:createdatabasedb_name;db_name是数据库的名称创建一个数据库,本

mysql中server_id的作用

在MySQL中,server_id是一个重要的配置参数,用于唯一标识MySQL服务器实例。server_id的配置和使用在MySQL复制和高可用性(HA)方案中至关重要,因为它允许不同的MySQL服务器之间进行数据同步和复制,并确保数据的一致性。以下是关于server_id的配置和使用的一些重要信息:1.配置serve

【pyinstaller 一步步学会打包教程 】

文章目录基础语法参数必选的参数可选的参数:打包详细步骤打包多文件打包的资源路径问题基础语法此处参考官网说明:pyinstaller[options]script[script…]|specfile所以最简单的用法如下,即可打包pyinstallermyscript.py这个操作即可完成打包,会执行如下操作:Writes

热文推荐