基础tips之前博文有。
先看题目:
思路:
数组中的数,我们用方块代替,【2,3,1,1,4】就是第一个位置两个方块,第二个位置就是3个方块,以此类推。
题目中的“你”用球代替,也就是球在一个个方块上跳跃的游戏,但是什么时候游戏获胜,什么时候游戏失败呢?
上个问题的关键在于,当你落在0的时候,你永远不可能到达最后一位,也就是你永远不可能获胜,还原成Unity问题就是,当一个球落在没有方块的地面上的时候,游戏失败(返回false),那么我们抓住这点就可以开始做了,因为是只需要达到将算法过程变成更好理解的方式,也就是如果你不想在大脑中想象数组从第0位跳到第1位的过程.
那就打开这个游戏,"原力就会与你同在"(doge)
演示:
获胜:
失败:
源码:
SphereJump类
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class SphereJump : MonoBehaviour
{
[SerializeField]
public Transform[] transforms;//记录九个位置的trs组,记得在Unity中赋值
public int step;//输入的步数
public GameObject Sphere;//球
public GameObject Text_1;//最大步数文本
public Button m_QueDingBtn;//确定按钮
private int curSetp;//当前步数
private int nums_1;//在数组中的位置
//public bool ground;
void Awake()
{
CreateNums();
curSetp = 0;
nums_1