首页/文章/ 详情

HyperMesh二次开发-数字网格华容道

3月前浏览1982


以前直板机上最经典的游戏之一,游戏还是以蒙拉丽莎的微笑作为背景图,那时候还不懂怎么玩,只知道瞎点,玩不过去。当然那时候还有麻将连连看和魔法寿司两款游戏,一样的好玩。


程序开发逻辑,

1、新建一个平板网格。

2、新建指定数量的comps。

3、取3X3的网格移动到指定的comps中。

4、释放网格节点,再对每个comps进行节点缝合。

5、在每个comps中心,创建tag标记。

6、打乱comps分布顺序。

7、用户选择comps与白色的comps交换空间位置。

8、while循环交互选择,每次交换位置检测tag是否满足有序的条件。


程序第一次运行模型会创建3x3规格的游戏,后续如果需要其他规格的,可以通过函数Klotski加游戏规格,例如Klotski 4 将创建4x4的游戏。

同样经典的数字游戏还有 数独

HyperMesh二次开发-数独

现在我们来看看在HyperMesh里面如何实现。由于软件的限制,我们在选择对应comps后需要按中键才能执行交换过程。

一开始我想的很简单,以为随机生成数组就可以了,结果在录制视频的时候才发现存在很大的问题,在最后四个单元格顺序不对,不管怎么移动都无法完成。后面搜索了才知道有逆序数的要求,算是开发过程中的小插曲。


程序获取方式,后台回复关键字 华容道


有的文章需要分享文章后,再回复关键字哦,所以需要发送分享的截图,只回复关键字是不行的哦。

来源:TodayCAEer
HyperMesh二次开发游戏
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2024-08-14
最近编辑:3月前
TodayCAEer
本科 签名征集中
获赞 18粉丝 32文章 252课程 0
点赞
收藏
作者推荐

ANSA二次开发_Python基础-矩阵

学习Numpy的必备知识矩阵的基本概念importnumpyasnp#定义一个矩阵matrix=np.array([[1,2],[3,4]])#定义一个向量vector=np.array([1,2])print("Matrix:\n",matrix)print("Vector:\n",vector)2.矩阵运算-矩阵点乘F=A*Bprint("Element-wiseMultiplication:\n",F)-矩阵叉乘#G=np.dot(A,B)print("MatrixMultiplication:\n",G)-逆矩阵#逆矩阵I=np.linalg.inv(A)print("InverseMatrix:\n",I)-行列式det=np.linalg.det(A)print("Determinant:",det)-其他运算#定义矩阵A=np.array([[1,2],[3,4]])B=np.array([[5,6],[7,8]])#矩阵加法C=A+Bprint("MatrixAddition:\n",C)#矩阵减法D=A-Bprint("MatrixSubtraction:\n",D)#标量乘法scalar=2E=A*scalarprint("ScalarMultiplication:\n",E)#矩阵转置H=A.Tprint("MatrixTranspose:\n",H)3.特殊矩阵-单位矩阵identity_matrix=np.eye(2)print("IdentityMatrix:\n",identity_matrix)[[1.0.0.0.0.][0.1.0.0.0.][0.0.1.0.0.][0.0.0.1.0.][0.0.0.0.1.]]-对角矩阵diagonal_matrix=np.diag([1,2])print("DiagonalMatrix:\n",diagonal_matrix)[[100][020][003]]-计算矩阵特征值eigenvalues,eigenvectors=np.linalg.eig(A)print(eigenvalues)#[-0.372281325.37228132]print(eigenvectors)#[[-0.82456484-0.41597356]#[0.56576746-0.90937671]]4、矩阵的实际应用案例tcl调用Python实现两组节点最近距离计算JinTian,公众号:TodayCAEertcl调用Python实现两组节点最近距离计算来源:TodayCAEer

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈