【发布时间】:2016-10-26 15:30:14
【问题描述】:
我目前正在尝试将一个列表的部分复制到另一个列表,但我遇到了困难。
我对使用列表很陌生。
我已经创建了一个构造函数。
然后我创建了一个列表,其中包含我需要的所有项目。 我想将我的第一个列表中的一个随机片段复制到我的第二个列表中。 然后我想删除我从原始列表中复制的部分。
这是我拥有的当前代码。
我的构造函数代码
using UnityEngine;
using System.Collections;
public class Character_Setup {
// Declare Attributes
public int Agility = 1;
public int Stamina = 1;
public int Strength = 1;
public int Critical_Hit = 1;
public string Weapon ="";
// Declare Stats
public int Speed = 1;
public int Health= 2;
public int Damage = 3;
public int Acuity = 4;
public Character_Setup(string _name)
{
Weapon = _name;
Speed = Agility * Random.Range (1,10);
Health = Stamina * Random.Range (1,10);
Damage = Strength * Random.Range (1,10);
Critical_Hit = Acuity * Random.Range (1,10);
}
}
这是我目前尝试将代码从一组复制到另一组。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Game_Play : MonoBehaviour {
public int Num_Players = 11;
public int Players = 1;
// Use this for initialization
void Start () {
//Create a list
// Using Character_Setup
//add 10 characters to list
List <Character_Setup> Characters = new List<Character_Setup> ();
Characters.Add (new Character_Setup ("Flamethrower"));
Characters.Add (new Character_Setup ("Shotgun"));
Characters.Add (new Character_Setup ("Rifle"));
Characters.Add (new Character_Setup ("Pistol"));
Characters.Add (new Character_Setup ("Machine Gun"));
Characters.Add (new Character_Setup ("Grenade Launcher"));
Characters.Add (new Character_Setup ("Knife"));
Characters.Add (new Character_Setup ("Rocket Launcher"));
Characters.Add (new Character_Setup ("Throwing Star"));
Characters.Add (new Character_Setup ("Sling Shot"));
/*foreach (Character_Setup character in Characters) {
print (character.Weapon);
}*/
// Create 2 teams Off 3 Players
// Team 1
// Create Blue Team
List<Character_Setup> Blue_Team = new List<Character_Setup> ();
Blue_Team.AddRange (Characters);
foreach (Character_Setup character in Blue_Team)
{
print (character.Weapon);
}
// Team 2
//Create Red Team
//List<Character_Setup> Red_Team = new List<Character_Setup> ();
//Red_Team.AddRange (Characters);
}
// Update is called once per frame
void Update () {
}
}
此代码当前复制所有内容。我希望能够在 Characters 中选择某些内容并将其复制到 Blue_Team。
我一直在上网,我现在有点迷茫。
如何从字符列表中仅复制一个部分然后将其删除?
【问题讨论】:
-
您对应复制列表的哪个部分的标准是什么?应该复制多少项目?它们可以是顺序的,还是需要随机选择?复制/删除部分很简单,但是您没有提供足够的细节来说明您希望如何实现它。