写一个识别扑克牌花色和点数的小程序(三)

写一个识别扑克牌花色和点数的小程序(三),第1张

上一篇文章已经实现了如何识别花色和点数,这篇文章主要是用QT给程序加一个可视化界面。

由于我之前完全没有接触过QT,所以编写出来的界面很丑,QT在VS里自带一个界面设计师,类似于下图,编写个界面还是很方便的,对相关的控制直接写响应函数就可以了。

添加菜单和标签栏

实现一个从本地文件选取一张要识别图片的效果

对扑克牌图片进行识别,调用到前两章写到的函数

对识别结果进行显示

最后的效果如下

多张有些误差,将红桃10识别成了红桃9,梅花7识别成了黑桃7,其余正确,因为模板数量较小的问题,所以这个误差我还是可以接受的。

到这就完成了整个小程序的开发。现将程序的源码链接放在下面

//download.csdn.net/download/fyueqiao/12072016

近日微软官方在网上发起了Microsoft Solitaire(微软纸牌)30周年纪念活动,这款原本是Windows系统内置的小 游戏 ,现已成为包括iOS和Android等众多平台上饱受欢迎的休闲益智 游戏 之一,根据微软统计的数据,《微软纸牌》全球月活跃用户数达到了3500万人,玩家每天完成的局数超过1亿局,可以说是一颗常青树

微软纸牌和扫雷、红心大战、三维d球等Windows内置 游戏 ,可以说是很多人最早接触电脑(更早时候叫电子计算机)的启蒙老师,这几款无需安装开机即玩的 游戏 ,让我们面对 *** 作系统不再单调枯燥,像笔者上学时家用电脑还不普及,学校里的计算机课是为数不多可以接触电脑的机会,在老师眼皮底下偷玩 游戏 ,也是学生时期经典回忆之一

其实从1985年微软Windows推出1.0版本开始,系统内置 游戏 一直是重要组成部分,也是备受用户喜爱的内容,其意义不仅是给用户提供免费即玩的 游戏 娱乐 ,还有一层更深的意义,那就是利用这些简单吸引人的形式,来让用户掌握Windows系统的核心功能,本文就来回顾下《微软纸牌》的来龙去脉

时间回到35年前,正值Windows 1.0正在开发之时,那时候适用于个人用户的 *** 作系统还处于萌芽阶段,电脑还只是服务于极少数技术人员的工具,黑底白字的命令行 *** 作难度令人却步。微软Windows和苹果Macintosh等产品出现则让人们开始关注GUI *** 作(Graphical User Interface,图形用户界面)

Windows团队决定将这几个小程序加入到系统中,让它们成为推广GUI *** 作的第一方范例样本,这也拉开了后续所有平台 *** 作系统几乎都有第一方内置应用的序幕,这些官方的内容成为了展示系统功能和满足用户最基本需求的利器

黑白棋是一种双人棋类 游戏 ,最早起源已不可考,1971年,一名日本商人对这款 游戏 的规则进行了改进和细化,并成功申请了专利,将这个长期以来劳动人民智慧结晶的公共创作据为己有,将其改名为Othello(奥赛罗)进行对外授权,1977年首次发布了计算机程序版 游戏 ,被国内玩家熟知则是1988年推出的FC家用机版本,俗称“翻子棋”

Windows 1.0版在1985年11月推出,限于容量限制和玩法局限,内置的黑白棋 游戏 并没有给玩家留下深刻印象,但还是让人们看到了Windows系统开发 游戏 的潜力,给未来发展打下了良好基础

随后几年的发展,让Windows逐渐成熟,很快成长为当时最受欢迎的家用电脑 *** 作系统,1988年,最新的Windows 3.0版正在紧锣密鼓地开发中,微软试图打造出开创新时代的产品,投入了大量人力,其中就包括一位名叫Wes Cherry的大学实习生

Cherry当时正在微软公司实习,作为一个菜鸟自然不会委以重任,于是他决定把自己喜欢玩的Solitaire纸牌 游戏 制作成Windows版本,经过不懈努力终于成为一个完全还原规则可玩的 游戏 ,还让自己的女友Leslie Kooy绘制了扑克背面的图案,短暂的暑假实习结束后,Cherry将写好的纸牌 游戏 放在一个服务器上,这里装满了各种实验性 游戏 和小程序,随后便回到了大学中

几个月后,微软决定在最新版Windows中添加更有趣的内容,于是发现了Cherry写的纸牌 游戏 很符合需求,于是又把Cherry找来修复BUG完善,当时负责MacOS外观的著名设计师Susan Kare也转投到微软工作,她把Cherry女朋友设计的纸牌背面进行了改良,至此Windows纸牌 游戏 彻底完成,Cherry得到了一台IBM电脑作为回报

1990年5月,Windows 3.0正式发布,Solitaire纸牌立刻成为了最受欢迎的内置 游戏 (扫雷则是Windows 3.1才开始出现),根据微软的说法,内置这款 游戏 的目的,是为了用有趣的形式让用户掌握Windows常用的GUI *** 作,在 *** 作系统中内置 游戏 显然是为了吸引用户体验,那么在当时众多的 游戏 中,各种棋类以及俄罗斯方块等都很经典,为什么偏偏选中了纸牌呢?

首先说明一个概念,Solitaire其实是指所有单人扑克牌 游戏 的统称,深层意思还可以指“戒指上的单颗宝石”、“高贵的独居者”等,中文涵义就是“钻石王老五”,单人扑克 游戏 中Klondike是最为经典的,其它像我们熟悉的Spider(蜘蛛纸牌)、FreeCell(空当接龙)等玩法均源自Klondike,而Windows 3.0中出现的Solitaire,其实指的就是Klondike一种玩法

Klondike(克朗代克)是加拿大西北部一座城市的名称,位于克朗代克河畔故此得名,19世纪末期曾有开采黄金热潮,传说当时众多淘金者为了在紧张工作中短暂休息,发明了Klondike这种单人自娱自乐的扑克 游戏 ,每局不超过10分钟且单人随时可玩,可以说是利用碎片时间的好方式。1922年,美国推出了以香草冰淇淋和外层巧克力薄皮为特色的甜品Klondike,商标是一只经典的白色北极熊(和北京特产北冰洋商标神似),慢慢的Klondike这个词就成了扑克 游戏 和著名甜品的代名,在最新版本的微软纸牌中,我们可以看到Klondike叫做“经典单人纸牌”,图标则是白色北极熊

Klonike的基本玩法想必大家都很熟悉,这里不再介绍,微软当时为什么选中纸牌作为内置 游戏 ,我认为有3点原因:

首先,纸牌玩法虽然简单,但由于52张扑克牌(不含大小王)经过多次洗牌后随机分布,发牌后产生的牌局可以有无数种,玩家每次都会面临不同的牌局,和现在流行的Roguelike理念很像。玩过纸牌 游戏 的朋友都知道,电脑上玩虽然分成多种难度,但系统分配的牌局是经过科学筛选保证有解,人工玩法完全随机的话,则很有可能完全无法解出,而且仅凭开局时露出的牌是不能判断是否有解,玩家必须玩到中后期才能发现无法解出,另外很难判断出是理论上无解还是有解但解法不对。这样的玩法设定实际上和人们现实生活,特别是当时的淘金生活很像,你不能一上来就知道事情能否成功,必须努力干下去才有可能成功,同时很有可能努力到底也无法成功,由于种种原因这局玩了很久无法解开不得不放弃掉重开一局,这种玩法的本质实际上是人和自然进行的PVE赌博,跟人生经历颇有几分相似,解牌成功不仅需要技术也需要运气,这种独特的体验和棋类完全凭借智力对抗是不同的,加上美国浓厚的扑克牌文化,人们很容易沉浸在其中

其次,大家都知道,在Windows系统中,鼠标拖拽是重要的 *** 作,微软需要一款 游戏 让人们熟悉按住鼠标左键移动这个基本动作。考虑到人群基础,在经典 游戏 玩法中,只有国际象棋和单人扑克符合要求,对于普通人来说国际象棋需要学习规则,对局时间太长,当时的环境也不允许联网PVP对战,单人 游戏 体验远不如纸牌简单节奏快,纸牌 游戏 中玩家思考时间很短,但需要多次鼠标 *** 作,扑克牌的面积足够大,很适应当时低分辨率屏幕,几局牌玩下来就能把鼠标拖拽练熟,毫无疑问是最理想的选择

Windows 3.0发布后,纸牌迅速收到了人们的欢迎,和后来几年发布的扫雷等 游戏 一起,成为了众多新人学习Windows *** 作的好帮手,在后来的几代Windows中,又陆续加入了Spider(蜘蛛纸牌)、FreeCell(空当接龙)、Pyramid(金字塔纸牌)、TriPeaks(远古纸牌)等玩法,同时还丰富了难度和牌面等设定内容

纸牌 游戏 源自实物经典玩法,在电脑、显示器、鼠标这三项伟大发明基础上继续发扬光大,很多平时不玩 游戏 的人也沉迷在其中,我们也经常在新闻影视中看到工作人员上班偷懒玩纸牌 游戏 ,导致被批评甚至开除,有些大公司定制版本的Windows还删除了所有的内置 游戏 ,可见微软纸牌带来的巨大影响力

随着微软移动战略的发展,从Windows 8一直到目前最新的Windows 10,人们发现原本系统中自带的纸牌等 游戏 竟然不见了,其实微软将这些 游戏 从系统内置的形式,变为从Windows应用商店下载APP的形式,同当年为了推广鼠标 *** 作一样,这样的设计也是出于让人们熟悉微软主推的应用商店下载形式。众多用户对此意见很大,内置 游戏 的取消也成了很多人坚守Win7的理由,但是当大家真正体验APP版本的微软纸牌后,才发现这个经典内容已经脱胎换骨,成为一款真正现代意义的 游戏

最新版的《微软纸牌》,仍然保留了5种基本玩法,画面音效大幅提升,增加了联网每日挑战、联网锦标赛等内容,还有简单的RPG成长体系,玩家可以选择的难度和规则更加丰富,甚至包括可能无解的完全随机模式,无论是联网还是单机,不同水平的玩家都能找到自己的乐趣

最近几年微软的战略已经向跨平台服务转变,微软纸牌也不再是Windows系统专属,曾经的对手iOS和Android也可以玩到,借助微软的Xbox Live账号体系,玩家可以在多个设备上同步进度,还可以像主机 游戏 那样获得1000点全成就,除了很少的内置广告外没有氪金内容,可以说是不可多得的免费 游戏 精品

随着科学技术的不断进步,使用电脑和手机成为了越来越多的人工作生活必备技能,各种 *** 作系统的日益人性化设计,也使得上手难度越来越低,微软纸牌的“教学”意义也在慢慢地弱化,但是Solitaire作为一种经典棋牌 游戏 ,仍然是人们 娱乐 的重要工具,其它厂商也推出过很多同样玩法的纸牌 游戏 ,但无论画面表现、系统功能、流行程度,都远远不如微软纸牌,自从微软把这个 游戏 移植到iOS和Android之后,可以说在PC和移动领域把这个玩法一统天下了,很多人为了能在电脑和手机上同步 游戏 ,还专门新注册了Xbox Live账号,可以说是普及微软服务打了一手好牌,不过奇怪的是自家Xbox主机竟然没有移植,可能微软觉得主机玩家不屑于玩纸牌吧(笑)

微软纸牌诞生至今已经30年,当年的制作者Wes Cherry已经从大学实习生成为中年大叔,他已不再从事专门编程工作,之前一起制作纸牌画面的女友也早已分手,Cherry现在和家人一起经营着果酒品牌Dragon's Head,过着幸福美满的生活,我们可以想象:假设Cherry去机构办业务等待时间超长而生气时,发现工作人员正在上班摸鱼,玩着他亲手制作的微软纸牌,会是什么样的心情呢?

几乎所有发明的源动力都来自人类想偷懒,无数案例已经证明了这一点


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8084323.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存