Articles of algorithm

计算基于时间的能量的最简单的方法是什么?

玩家有0点能量,每15分钟增加5点,但最多有100点能量。 我怎样才能将这个数据存储在数据库中,然后再调用这些数据来计算玩家现在有多less能量? 我能想到的唯一办法就是保存上次更新的时间以及上次更新时的能量级别,但是这样感觉不是最好的方法。 有没有其他替代scheme更有效率或“更好”,感觉更less?

在游戏创建中使用的基本algorithm和框架的一些例子

我知道这听起来像一个广泛的话题,我被要求从我的应用工作描述之一有这些技能。 问题是我已经使用Unity3d 2到3年了,但是我不确定他们要求什么,如果你能给我一个名字列表或者一些例子,最好的办法就是开始。 谢谢。

Ruby:对井字游戏进行alpha-beta修剪

所以,alpha-beta修剪似乎是除了硬编码之外的最有效的algorithm(针对tic tac toe)。 但是,我有问题转换algorithm从链接中提供的C + +示例: http : //www.webkinesia.com/games/gametree.php 玩家是1或0,所以做1人玩家将会切换玩家 WIN = 1 LOSS = -1 DRAW = 0 INFINITY = 100 def calculate_ai_next_move best_move = -1 best_score = -INFINITY cur_player = COMPUTER self.remaining_moves.each do |move| self.make_move_with_index(move, cur_player) score = -self.alphabeta(-INFINITY,INFINITY, 1 – cur_player) self.undo_move(move) if score > best_score best_score = score best_move = move […]

你如何将3D场景映射到一个立体图像对?

我是新手。 我正在用简单的模型在XNA工作室工作。 如何将3D图像分别转换为左右眼的两个图像? 注意:我不是指“魔术眼” – 我想知道如何计算从3D场景信息开始的左侧和右侧图像。

MiniMax函数抛出空指针exception

我正在做一个学校项目,我必须用基于MiniMaxalgorithm的AI来构建一个tic tac toe游戏。 这两个玩家模式是应该的。 我遵循http://ethangunderson.com/blog/minimax-algorithm-in-c/上的代码示例。 唯一的是我运行代码时得到一个NullPointerexception。 而且我不能用手指包裹它。 我在引发exception的代码中放置了注释。 recursion调用返回一个空指针,这是非常奇怪的,因为它不能。当我在一个if语句的帮助下,在空返回一个断点,然后我看到,仍然有2到3个空的地方。我可能忽略了一些东西。 希望有人能告诉我我做错了什么。 这里是MiniMax代码(tic tac脚本代码不重要): /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package MiniMax; import Game.Block; import Game.Board; import java.util.ArrayList; public class MiniMax { public static Place getBestMove(Board gameBoard, Block.TYPE player) { Place bestPlace = null; […]

XNA“我的世界”地形引擎中的大块地块

我在XNA中创建了一个Minecraft Terrain引擎,并且想要在随机排列的blob中创建一个大的blob / block块,形状有点像以下页面的Volume Rendering标题下的东西: http://paulbourke.net/geometry/blob/ 这篇文章可能有点像我的文章我怎么能为一个类似Minecraft的引擎产生浮动的地块? 但我相信这是一个完全不同的,因为这是更多的3D方法,而不是2D,也更喜欢没有火山口位;)。

调整一个固定长宽比的dynamicresize的部件?

我一直在试图弄清楚这个好几个小时。 解释有点棘手,但我会尽力解释它。 我正在制作一个游戏,在那里有一个3个面板的窗口。 3个面板必须是正方形(宽度与高度相同)。 考虑到宽度,我可以计算出框架的高度来满足这个约束条件。 棘手的部分是,我在游戏中有一张桌子。 桌子在屏幕的中心。 表格的大小与OS游戏窗口的高度成正比。 这意味着当游戏在宽度上resize时,表格不会变小,因此窗口的可用空间减less。 该窗口将显示在左下角。 窗口需要尽可能大,而不必触摸桌子。 从窗口左上角到游戏窗口边缘的距离必须与从窗口右上角到表格边缘的距离相同,并且与操作系统游戏窗口底部的距离相同窗口的底部。 这里是一个例子: 在这个例子中,你可以看到右边的表格边缘。 你也可以看到3帧的窗口和角落之间的距离是如何相同(或尽可能接近我可以得到它)。 鉴于我知道表的大小和位置,以及操作系统窗口的宽度和高度,我怎么能做到这一点? 我不一定需要代码或任何东西,但我更可能寻找关于如何在math上做到这一点的主要想法。 正如你可以在图像中看到的,大约15%的空间是填充,我需要能够填充,以便它不消耗最大面积。 谢谢

向目标投掷一个2D球来模拟3D效果

你将如何更新面向目标向前(用弧)向前抛出的2D对象的状态来模拟3D(深度)效果? var ball; //2D ball from a sprite sheet ball.x = 0; ball.y = 0; ball.scaleX = 1; ball.scaleY = 1; ball.throw(); //set ball to a throwing state ball.update(); //update the ball's positon and depth by calculating its current coordinates and scale. ball.render();

通过非线性问题列表线性查询的algorithm

对于一款多人游戏琐事游戏,我需要在每场比赛开始时向用户提供一个所需主题(科学,math,利特等)中的新奇点。 我已经为每个主题产生了大约5K的测验,并填充了我的数据库。 所以我的“测验”数据库看起来像这样: |ID |Subject |Question +—–+————+———————————- | 23 |Science | What's water? | 42 |Maths | What's 2+2? | 99 |Litt. | Who wrote "Pride and Prejudice"? | 123 |Litt. | Who wrote "On The Road"? | 146 |Maths | What's 2*2? | 599 |Science | You know what's cool? |1042 |Maths | What's […]

创建随机平台游戏 – 游戏世界

晚间。 我创造了一个像iOS平台游戏“Banana Kong”的xna游戏。 关卡层目前保存为XML文件。 例: <level> <layer1> <tile type="0" x="50" y="70"></tile> .. And so on </layer1> .. And so on </level> 它是一个临时的解决scheme,是的,但是当我销售/释放它时,静态水平不是很好。 那么我怎样才能随机创建关卡? 发动机将不得不支付注意力,不要创建瓦片,玩家不能到达,或创建其他瓦片的瓦片。 我目前的观点是,只要瓦片适合每种情况,引擎就可以创建随机瓦片,但这种情况不太可能发生,我认为有更好的方法可以做到这一点。 所以,我希望有人能给我一些资源,理论或任何东西,什么可以帮助我。