2D和3D版本的重力游戏

这篇具有很好参考价值的文章主要介绍了2D和3D版本的重力游戏。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

描述 2D版本的重力游戏

如果你已经完成了该任务,并想要更大的挑战,紧接着介绍3D版本

在上物理课的时候很无聊,所以我给自己做了一个玩具箱来打发时间。这个盒子很特别,因为它有改变重力的能力。

盒子里有几列玩具方块,排成一列。第i列包含a_i个立方体。起初,盒子里的重力把方块往下拉。当鲍勃转换重力时,它开始把所有的立方体拉到盒子的某一侧,即d,它可以是'L'或'R'(左或右)。下面是一个例子,说明在切换重力之前和之后,一盒立方体可能是什么样子。

+---+ +---+
| | | |
+---+ +---+
+---++---+ +---+ +---++---++---+
| || | | | --> | || || |

+---++---++---++---+ +---++---++---++---+
| || || || | | || || || |
+---++---++---++---+ +---++---++---++---+

给出盒子里方块的初始配置,找出Bob切换重力后,n列中每列有多少个方块。

例子(输入->输出。

  • 'R', [3, 2, 1, 2] -> [1, 2, 2, 3]
  • 'L', [1, 4, 5, 3, 5 ] -> [5, 5, 4, 3, 1]
def flip(d, a):
    # Do some magic
    return sorted(a,reverse=d=='L')

d,a = 'L', [1, 4, 5, 3, 5] # [5, 5, 4, 3, 1]
print(flip(d,a))

重力翻转的一个稍难的版本。建议先做上面2D版。

鲍勃又一次在物理课上感到无聊,这一次,他带来了一个更复杂的重力变化箱。它是3D的,小方块排列在一个n×m列的矩阵中。它可以改变重力,向某个方向前进,可以是 "L"、"R"、"D "和 "U"(左、右、下和上)。

给出盒子里的立方体的初始配置是一个二维阵列,确定鲍勃切换重力后立方体是如何排列的。

请看测试样本的例子。

拼图阵列

步骤: 如果指令参数是 L R 逐行row 遍历,并判断是否倒序

如果指令参数是U D 转置二维数组 逐行 row 遍历,并判断是否倒序 转置👆二维数组输出

def flip(d, a):
    if d in ['L','R']:
        key = d == 'R'
        return [sorted(row,reverse=key) for row in a]

    elif d in ['U','D']:
        key = d == 'U'
        tran = list(map(list, (zip(*a))))
        out = [sorted(row,reverse=key) for row in tran]
        return list(map(list, (zip(*out))))

熟悉numpy的写法

推荐此写法,工整简洁易读!

import numpy as np

dir = {
    'L': lambda a: np.sort(a)[:, ::-1],
    'R': lambda a: np.sort(a),
    'U': lambda a: np.sort(a, axis=0)[::-1, :],
    'D': lambda a: np.sort(a, axis=0)
}

def flip(d, a):
    return dir[d](np.array(a)).tolist()

python高级函数,及nump、pandas库十分强悍,在大量数据处理中值得花费功夫熟练掌握 ,必然有事半功倍之效!

本文由 mdnice 多平台发布文章来源地址https://www.toymoban.com/news/detail-431206.html

到了这里,关于2D和3D版本的重力游戏的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kenney Assets - 提供数以万计免费商用的游戏制作素材下载,包括 2d、3d素材,游戏音效和游戏 UI

    来自荷兰的游戏公司开放了自家游戏的素材包,制作很精美,下载后无需取得授权就能直接商用。 关于 Kenney Assets Kenney Assets 是游戏公司 Kenney 为游戏开发者提供的游戏素材资源网站,主要包括游戏 2D / 3D 人物和场景素材,游戏 UI 界面素材以及游戏音效等资源,极大地提高游

    2024年02月09日
    浏览(31)
  • 【用unity实现100个游戏之4】手搓一个网格放置功能,及装修建造种植功能(2d3d通用,附源码)

    参考原视频链接 【视频】:https://www.youtube.com/watch?v=l0emsAHIBjU 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月13日
    浏览(29)
  • unity修改单个3D物体的重力的大小该怎么处理呢?

    在Unity中修改单个3D物体的重力大小可以通过以下步骤实现: 创建一个新的C#脚本来控制重力: 首先,创建一个新的C#脚本(例如:GravityModifier.cs)并将其附加到需要修改重力的3D物体上。在脚本中,你可以使用Rigidbody组件来控制物体的物理属性。 将脚本附加到物体上,取消勾

    2024年02月13日
    浏览(38)
  • 2022版本unity-2D游戏官方案例--带视频案例(1)(层级渲染,物理碰撞,粒子动画,UI等多位基础一体化)

      👨‍💻个人主页:@元宇宙-秩沅 hallo  欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由  秩沅  原创 收录于专栏 unity实战入门  ⭐相关文章⭐ ——————————————————— -[本站最全-unity常用API大全(万字详解),不信你不收藏] -[关于游戏剧情模式中用到的

    2024年02月03日
    浏览(53)
  • Unity3d2021版本 使用DOTween插件报错The type name ‘Rigidbody2D‘ could not be found in the namespace ‘****‘问题

    最近在升级项目至2021版本的过程中发现了诸多这种问题,今天就遇到这样的报错: AssetsPluginsDemigiantDOTweenModulesDOTweenModulePhysics2D.cs(143,18): error CS1069: The type name ‘Rigidbody2D’ could not be found in the namespace ‘UnityEngine’. This type has been forwarded to assembly ‘UnityEngine.Physics2DModule,

    2024年02月11日
    浏览(43)
  • unity 2d游戏开发教程(2d战棋)

    unity 2d 游戏开发教程(2d战棋) 类似的游戏有:火焰纹章,梦幻模拟战 素材下载地址: 人物 https://brullov.itch.io/generic-char-asset 场景 https://anokolisa.itch.io/sidescroller-pixelart-sprites-asset-pack-forest-16x16 场景2:https://anokolisa.itch.io/dungeon-crawler-pixel-art-asset-pack/devlog/447513/12th-road-map-for-pi

    2024年02月13日
    浏览(40)
  • 2D-3D配准指南[方法汇总]【入门指导向】(二)2D-3D MatchNet +pointnet

    近年来,采用三维和二维数据的应用层出不穷,它们都需要将 三维模型 与 二维图像 进行匹配。大型定位识别系统可以估算出照片拍摄的位置。在全球定位系统可能失灵的情况下,地理定位系统可以进行地点识别,对自动驾驶非常有用。此外,法医警察也可以利用该系统破案

    2024年02月05日
    浏览(32)
  • 【Web2D/3D】CSS3的2D/3D转换、过渡、动画(第一篇)

    1. 前言         本篇开始介绍Web2D和3D相关基础知识,会从CSS3的2D/3D转换、过渡、动画,讲到Canvas 2D图形绘制,再到SVG,最后到WebGL。         坐标系:左上点是坐标原点(0,0),x轴正方向向右,y轴正方向向下,z轴正方向向外(垂直屏幕向外)。 2. 2D转换         CSS3的2D/3D旋

    2024年02月04日
    浏览(37)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(102)
  • 《游戏-02_2D-开发》

    基于《游戏-01_2D-开发》, 继续制作游戏: 首先给人物添加一个2D重力效果 在编辑的项目设置中, 可以看出unity默认给的2D重力数值是-9.81,模拟现实社会中的重力效果 下方可以设置帧率 而Gravity Scale代表 这个数值会 * 重力  还需要将玩家添加碰撞器Collider,而一般人物均添加

    2024年01月21日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包