使用程序自动生成不同是一件几乎不可能的任务 因此找茬游戏的图片还是需要作者自己PS 但是一对图只能使用一次实在是太浪费了

今天看了下Win8版的美女找茬的文件结构 搞清楚了他们的设计

首先处理图片

在原图片的基础上尽可能的修改多的地方 每个修改后的区域另存为图片

用JSON XML或者文本文件记录每个区域的坐标

保存的形式可以用 左上坐标+长宽 或者左上坐标+右下坐标 或者中心坐标+长宽的1/2

无论哪个都是4个整型 =.= 而最后一种格式 似乎于在应用中标识不同之处的矩形中更方便一些 但是生成数据难一点

这个应用使用的是文本文件保存区域的左上和右下坐标

范围以用矩形区域内的图片替换原文件相同区域不会有问题为准

使用图片时

假定 游戏设定中每一关的不同数量相同 为N个 某一对图中修改的数量为M

从一对图像的M个不同点中随机选取N个 同时随机生成N个Boolean

读取源图像为并显示到左右窗口中 然后读取已选中的不同点的信息 (图像和坐标)

如果N个随机Boolean第i个为true 将此区域的图像通过坐标重叠显示在左屏幕的对应位置 如果是false 显示在右屏幕 (或者反之 true右 false左 这个不影响)

检测到鼠标点击事件(或者触屏的话是触摸事件)判断点击坐标是否在已选中的不同点的区域中

是就(通过已读取到的坐标)在左右屏幕同时标识 否就出现错误提示

JAVA语言的伪代码如下:

     int imageId =  getARandomImageId(MAX_USEABLE_IMAGE_ID); // 随机获得一个图像的IDImage src = new Image(imageId);  // 获得原图片ImageInfo info = new ImageInfo(imageId);  //获得此图片的信息 包括不同的坐标啊什么的drawIntoScreen(src,LEFT_SCREEN);  // 将源图片绘制到左屏幕drawIntoScreen(src,RIGHT_SCREEN);  // 将源图片绘制到右屏幕int [] diffList = getARandomDiffList(info.getDiffList(),DIFF_NUM_PER_STAGE);  // 获得一个随机的图片的N个不同点的列表Random r = new Random();for (int i = 0; i < diffList.length; i++) {drawIntoScreen(info.getDiffImage(i),r.nextBoolean(),info.getDiffX(i),info.getDiffY(i));  // 将不同点的图片绘制到屏幕上}startGame(); // 开始游戏 注册计时器 Lisenter什么的

基本上就是这样 剩下的就是计时啊 道具啊什么的...

至于不同点区域的坐标 指望美工人工搞似乎工作量有点大 美工修图完了之后 还得量像素啊 位置啊什么的 然后切下来

可以写个程序自动分析处理完了的图片和原图片 对每个像素逐一进行对比 差异超过阈值为1否则为0  得到差异map

然后对差异map进行分析 获得差异的宽高和中心点 计算出需要切割的坐标和宽高 自动切割存储图片

找茬游戏中是如何设计两个图片的不同之处的相关推荐

  1. 图片找茬游戏——使用OpenCV查找两张图像的不同处并标记

    前言 有个小游戏,就是给出两张只有轻微的几处差异的图像,让大家来找出图像中的不同之处,之前曾经玩过,发现游戏明明告诉你有几处不同,但你什么也找不全,比如下面的几组图像,这几组图像每组都有三个不同的地方 ...

  2. 从游戏中学习产品设计2:消费篇

    上一期,我们介绍了游戏中的诱导充值套路,没有看的朋友可点击 从游戏中学习产品设计1:充值篇!了解游戏中是如何引诱玩家充值的,今天我们来聊一聊游戏中的消费套路,上文介绍了游戏中的三类货币:金币,钱币和时 ...

  3. 游戏中支线任务的设计Pt.1: 如龙0——海量支线搭建起来的不夜城

    目录 前言 支线任务!为什么我们需要它们? 多少支线任务算多? 成为环境叙事一部分 缓和打斗玩法的审美疲劳 系统之间环环紧扣 结语 前言 如果将优秀的游戏比作一桌华丽的宴席,主线任务就是宴席上的菜肴, ...

  4. “QQ找茬”游戏的识别小软件JAVA源码

    "QQ找茬"游戏识别很简单,只包含查找定位.定位比较和显示三部分,作者设计两个类: 1.GUI类:frmZC类,包含"定位"和"查询"两个按 ...

  5. 比较不错的一个ios找茬游戏源码

    找茬游戏源码 ,这个是一款非常不错的ios找茬游戏源码,该游戏的兼容性非常好的,并且还可以支持ipad和iphone,UI界面设计得也很漂亮,游戏源码真的是一款非常完美,而且又很完整的一款休闲类的游戏 ...

  6. 由于找不到appvisvsubsystems32.dll_找茬游戏大全:我找东西贼快!小清新找茬游戏小程序,点开既玩...

    50000+游戏爱好者已加入我们! 每天推荐好玩游戏! 关注我们,沐沐带你发现好游戏! <我找东西贼快>游戏小程序好玩吗? <我找东西贼快>小游戏怎么玩? 怎么进入<我找 ...

  7. 使用Wwise在3D RPG游戏中的声音设计思路

    使用Wwise在3D RPG游戏中的声音设计思路 https://blog.audiokinetic.com/zh/how-to-use-wwise-in-3d-rpg-game/ 大家好,随着Wwi ...

  8. 动手制作QQ找茬游戏外挂

    周末闲来无事,玩了腾讯的qq游戏,名字叫大家来找茬,游戏就是在两幅相同的图片寻找不同五处不同的地方,你和对手谁发现的快就赢,无奈自己眼睛不够尖,总是比对手慢,好在俺是名程序员,只好想点别的办法,一直都 ...

  9. 从游戏中学习产品设计1:充值篇

    游戏,是人类文明的最基本组成部分之一,已知的最古老的数字游戏,是早在公元前15世纪到公元前11世纪的计数游戏<宝石棋>,第一部记述游戏的历史书是3000多年前希罗多德编著的<历史&g ...

最新文章

  1. AngularJS 指令实践
  2. 国庆广州(羊城)之旅
  3. python和php-PHP和Python如何选择?或许可以考虑这三个问题
  4. 使用jQuery for Asp.Net 我的开发环境配置
  5. 借力阿里云存储产品 延锋彼欧加速数字化重塑
  6. PyTorch 深度学习:32分钟快速入门——ResNet
  7. laravel 跨域解决方案
  8. python输出26个大写字母怎么读_26个大写字母怎么读?
  9. 西部数据移动硬盘哪个型号好_西部数据移动硬盘怎么样(西数移动硬盘系列区别)...
  10. ubuntu 安装caj阅读器
  11. vs2010c语言一闪而过,[转载]关于vs2010运行C程序时,运行结果窗口一闪而过的问题...
  12. 磁盘配额和raid配置
  13. Cocos Creator模拟砸金蛋3d旋转效果 | 附代码
  14. 数据分析岗位面试准备请看这篇!
  15. vue渲染动态渲染图片_动态/动态渲染视频和音频
  16. Internet History, Technology and Security (Week5.1)
  17. 2019年英国央行利率决议时间表以及发布规则
  18. Visual C++网络编程经典案例详解 第9章 实用播放器 数据读取与播放控制 识别数据文件信息
  19. SSD初识与闪存颗粒结构
  20. HDU6599多校第二场 Longest Subarray -- 线段树

热门文章

  1. 全球及中国舷外电动中央控制台船行业竞争调查分析及策略规划报告2022-2027年
  2. 通讯录(文件版)程序编写(C语言版)
  3. MySQL 的主从架构
  4. Intel CPU的CPUID指令(转载)
  5. 江苏省计算机考试准考证号找回
  6. URAL 2099 Space Invader题解 (计算几何)
  7. 物流APP开发同城速递第一品牌,达达向 C 端市场进发
  8. 需求工程——药材管理系统
  9. ubuntu 永久 设置 降低N显卡功率 nvidia-smi
  10. 微信向下滑动怎么传参服务器,微信小程序 - 传参的几种方式