关于游戏开发中背包物品的整理算法的问题

问题描述

关于游戏开发中背包物品的整理算法的问题

场景是游戏中的背包里面要整理物品,每个物品在格子中方的量是一定的(假设99),
要求相同的东西放在一块做整理,位置顺序是按照原始背包的顺序,
比如:O O A(50) B(22) A(50) 排好后是 A(99) A(1) B(22 )
比如:O O B(50)A(50)B (50) A(36)摆好后是 B(99)B( 1) A(86)
我的想法比较low是先合再一起 再分开,效果不太好,请教一下各路大神是否有更好的算法实现

解决方案

建议是先合在一起进行排序,然后根据数据再分开,然后再显示到背包里,不知道你说的效果不好是什么?

时间: 2024-08-02 07:21:26

关于游戏开发中背包物品的整理算法的问题的相关文章

Android 游戏开发中绘制游戏触摸轨迹的曲线图_Android

       本篇文章主要来讲解怎样绘制游戏触摸轨迹的曲线图.        我们在onTouchEvent方法中,可以获取到触摸屏幕时手指触摸点的x.y坐标,如何用这些点形成一条无规则轨迹并把这条无规则轨迹曲线显示在屏幕上就是本篇文章的主旨内容.        Android Path类        Android提供了一个Path类 , 顾名思义这个类可以设置曲线路径轨迹.任何无规则的曲线实际上都是由若干条线段组成,而线段的定义为两点之间最短的一条线.path类就 可以记录这两点之间的轨迹

Android 重力传感器在游戏开发中的应用_Android

      手势操作可以说是智能手机的一种魅力所在,前两节给大家讲解了两种有趣的手势操作,将它们置于游戏当中,大大提升了游戏的可玩性和趣味性.本节将继续介绍智能手机的另一种神奇之处:传感器.        一.何为传感器        所谓传感器就是能够探测如光.热.温度.重力.方向等等的装置.        二.Android提供了哪些传感器        1.加速度传感器(重力传感器)        2.陀螺仪传感器        3.光传感器        4.恒定磁场传感器       

Redis在游戏开发中的典型应用

1. 摘要 Redis作为目前最流行的键值对存储数据库,有着丰富的数据结构支持,在民生.金融.游戏.直播等诸多领域都有广泛的应用,大大提升了开发者的开发效率.今天我们主要介绍Redis在游戏开发中的几个典型应用场景:用户数据缓存.持久化功能的消息队列.乐观锁功能. 2. 典型应用场景 下面我们一一来介绍上述几个场景下是如何应用Redis的. 2.1 Redis作为DB的缓存 通常来说,每个注册的用户在后台数据库中都会保留一些和这个用户关联的信息,譬如说用户名.加密后的密码.昵称等等,然后用户在玩

Android 重力传感器在游戏开发中的应用

手势操作可以说是智能手机的一种魅力所在,前两节给大家讲解了两种有趣的手势操作,将它们置于游戏当中,大大提升了游戏的可玩性和趣味性.本节将继续介绍智能手机的另一种神奇之处:传感器. 一.何为传感器 所谓传感器就是能够探测如光.热.温度.重力.方向等等的装置. 二.Android提供了哪些传感器 1.加速度传感器(重力传感器) 2.陀螺仪传感器 3.光传感器 4.恒定磁场传感器 5.方向传感器 6.恒定的压力传感器 7.接近传感器 8.温度传感器 今天我们给大家介绍的是游戏开发中最最常见的,用到的频

监听器在游戏开发中的应用----消息回调

我一向是不太喜欢给一些东西强加上个名字.但为了随波逐流,我还是这样做了. 在我们的游戏开发中,通常会遇到两个模块之间的通信. 回调估计是最常用的方式了. 回调的设计思想很简单,就是两个对象相互注册,然后在需要的时候调用对方的函数. 如下: class B;   class A   {   public:       void RegisterCallback(B* pB)       {           m_pB = pB;       }       void ActiveA()     

J2ME游戏开发中时钟的简单实现

时钟 在游戏开发中,有时候我们需要一个时钟来记录游戏的时间,如果时间结束则结束游戏.本文介绍如何在J2ME中使用Timer和TimerTask来实现这样一个时钟,并给出具体代码实例. 在java.util包中有一个TimerTask类,你可以扩展这个类并且实现他的run()方法,在run()方法中编写我们的逻辑代码.如果我们想制作一个游戏时钟,那么非常简单我们编写一个GameClock类扩展TimerTask,GameClock需要维持一个实例变量timeLeft,这样我们就可以记录游戏剩余的时

Java游戏开发中应始终坚持的10项基本原则

关于文章中涉及的两个杜撰概念: 一.绘图器:众所周知,Java GUI以paint进行绘图,以repaint进行图像刷新,而完成repaint及paint这一连贯过程中所用到绘图组件,我将其称为绘图器.就我个人的体会,绘图器的调用时机应始终处于repaint之后paint之前,即通过repaint触发刷新后执行,当其中的具体逻辑完成其对应的图像绘制后,再通过统一接口将其图像插入paint中,为了匹配需要,绘图器应始终以接口方式实现. 二.监听器:这里所说的监听器,并不是特指某个Listener组

3D数学基础:图形与游戏开发中四元数用以旋转时的疑问

问题描述 3D数学基础:图形与游戏开发中四元数用以旋转时的疑问 书中在10.4.8节 四元数的乘法(叉乘)中定义四元数乘法时出了一个错误(最后四元数虚向量部分应该是W1*V1+W2*V2+V1×V2但是它却"强行"说标准乘法定义最后是V2×V1) 然后在书中提示"本书使用结尾为V1×V2的乘法定义"(非原文,简略表达) 接着在用四元数进行点旋转时说,定义一个四元数p=(0,(x,y,z))对应3D点p(x,y,z),然后通过旋转四元数q对其进行乘法: p1= qpq

Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化

  关于Android 游戏开发中 OnTouchEvent() 触屏事件的性能优化笔记! 原文地址:http://blog.csdn.net/xiaominghimi/archive/2011/01/10/6127578.aspx 先上一段代码大家来看一下: view plaincopy to clipboardprint? ·········10········20········30········40········50········60········70········80····