【发布时间】:2014-01-07 13:50:39
【问题描述】:
我正在开发一个具有获胜组合数组的游戏:
var allwinning = [
['000','010','020'],
['000','100','200'],
['000','001','002'],
['000','101','202'],
['000','011','022'],
['000','110','220']];
玩家需要随机选择 3 个以上的数字。如果所有数字都在allwinning 中的任意组合之内,则玩家获胜。
例如,如果玩家选择'111','110','000','220',玩家将获胜,因为allwinning[5] 的组合是['000','110','220']。
我的问题是,完成这个获胜循环的最佳方法是什么?我想不出这样做的最佳方法。
目前,我有一个 playerpick 数组来保存玩家选择的内容和 possiblewin 数组:
var playerpick = new Array(['111','110','000','220']);
var playerpicksingle = playerpick[0];
var possiblewin = new Array([]);
然后我通过一个循环首先捕获可能的获胜组合:
for(var i=0 ; i < allwinning.length - 1 ; i++)
{
for(var j=0 ; j <3 ; j++)
{
if(allwinning[i][j]==playerpicksingle)
{
possiblewin.Push(allwinning[i]);
}
}
}
然后我被困在这一点上。我真的不知道还能做什么。
【问题讨论】:
-
那么,到目前为止你有什么,是什么让你认为这不是最佳方式?
-
@FelixKling 阅读了我的编辑。谢谢!
标签: arrays unity3d unityscript