作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有这个代码
string[,] table = new string[104, 15];
int xIndex = -1;
int yIndex = 0;
string newPrevious = "placeholder";
//P = BLUE, B = RED, T = GREEN
string[] strData = {"P ,B ,P ,P B,B ,P ,B ,T ,P ,P "};
//conditions
string[] scoreBoard = new string[]
{"P ", "B ", "T ",
"P B","B P" };
string OriginalData = "";
void Start(){
StartCoroutine ("Win_Log");
}
IEnumerator Win_Log(){
yield return new WaitForEndOfFrame ();
for (int i = 0; i < strData.Length; i++) {
OriginalData += strData [i];
OriginalData += ",";
}
string[] newNewData = OriginalData.Split (',');
string result = "";
foreach (string newStrData in newNewData) {
Debug.Log ("This is the data : " + newStrData);
GameObject o = Instantiate (prefab_gameobject) as GameObject;
o.transform.SetParent (pos_big_road);
o.transform.localScale = Vector3.one;
img = (RawImage)o.GetComponent<RawImage> ();
//check the length so that it won't throw an exception
if (newStrData.Length > 1) {
//get only the first letter of the value P,B,T
result = newStrData.Substring (0, 1);
}
else {
result = "";
}
#region BIG ROAD
if(table.GetLength(0) < xIndex){
break;
}
if (result.Equals (newPrevious) || result.Equals("T") && yIndex < table.GetLength (1)) {
yIndex += 1;
table [xIndex, yIndex] = result;
}
else if(newPrevious.Equals("T") && yIndex < table.GetLength (1)){
yIndex += 1;
table [xIndex, yIndex] = result;
}
else
{
xIndex += 1;
yIndex = 0;
table [xIndex, yIndex] = result;
}
newPrevious = result ;
o.transform.localPosition = new Vector3 (xIndex * 93, yIndex * -93, 0f);
我的问题是这个
正如您在最后一列中看到的那样
RED,GREEN,BLUE,BLUE
它的值是
//P = BLUE, B = RED, T = GREEN
string[] strData = {"P ,B ,P ,P B,B ,P ,B ,T ,P ,P "};
BLUE, BLUE
必须在下一行,因为它不等于 newPrevious
变量,这意味着我在谈论 RED
高于 GREEN
值。所以你一定对此感到困惑,但是 GREEN
值更像是被忽视我所说的被忽视的意思是这样的
现在最后一列的值为
BLUE, BLUE, GREEN, RED, RED
它的值是什么
//P = BLUE, B = RED, T = GREEN
string[] strData = {"P ,B ,P ,P B,B ,P ,P ,T ,B ,B "};
正如您在图像中看到的那样,RED, RED
必须在下一行,因为它不等于 newPrevious
变量,这意味着我在谈论BLUE
高于 GREEN
值。
我在这里无法实现的是将 newPrevious
的值放入一个变量中,它将存储 GREEN
之前的值,以便我可以比较它使用新的 newPrevious
值。
例如上图有值
RED, GREEN, BLUE, BLUE
我想保存 RED
值,以便我可以将它与 BLUE
值进行比较,以便我可以使用 xIndex
递增它而不是 yIndex
预期输出的第一个图像必须是这个
而第二张图片预期的输出必须是这样的
最佳答案
取另一个变量“previous”。像现在一样将它设置为 newPrevious 的值,并在下一次迭代中检查它是否已更改。
替换这个
newPrevious = result ;
有了这个
if(!result.Equals("T"))
newPrevious = result ;
关于c# - 如何将第二个值存储到最后一个值以与新值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50383116/
我是一名优秀的程序员,十分优秀!