2015-07-22 158 views
-1

我一直在網上查找關於此問題的直接答案,以及我嘗試過的所有示例都不適合我。我需要從List中隨機選擇一個元素,然後將兩個字段分配給兩個單獨的Text組件,然後將第三個字符串分配給一個變量,我將使用該變量修改文件名(對於動物類型的屏幕截圖在我的列表中)。這是我迄今爲止的,但我得到了錯誤的隨機部分,我得到的錯誤「錯誤CS0119:表示一個type', where a變量',value' or方法組''的預期」。我如何解決這個問題?從列表中隨機選擇並將字段分配給變量

AnimalDescription.cs

public string name; 
public string description; 
public string screenshotPrefix; 

// Constructor to allocate string values 
public AnimalDescription(string newName, string newDescription, string newScreenshotPrefix) 
{ 
    name = newName; 
    description = newDescription; 
    screenshotPrefix = newScreenshotPrefix; 
} 

GameSetup.cs

void Start() 
{ 
    List<AnimalDescription> animalDescriptions = new List<AnimalDescription>(); 

    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "Of the Bear-Ape ARCTOPITHECUS.", 
     // animal description 
     "There is in America a very deformed beast which the inhabitants call Haut or Hauti, and the Frenchmen, Guenon, " + 
     "as big as a great African Munkey. His belly hangeth very low, his head and face like unto a childs, as may be seen by " + 
     "this lively picture, and being taken it will fight like a young child. His skin is of an ash-colour, and hairy like a Bear; " + 
     "he hath but three claws on a foot, as long as four fingers, and like the thornes of Privet, where-by he climeth up into the " + 
     "highest trees, and for the most part liveth of the leaves of a certain tree being of an exceeding height, which the Americans " + 
     "call Amahut, and thereof this beast is called Haut. Their tail is about three fingers long, having very little hair there-on; " + 
     "I observed, that although it often rained, yet was that beast never wet.", 
     // screenshot prefix 
     "ARCTOPITHECUS_" 
     )); 
    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "Of the SIMIVULPA, or Apifb-Fox.", 
     // animal description 
     "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
     "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
     "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
     "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
     "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
     "as if she has no burden. It hath a tail like a Munkey…", 
     // screenshot prefix 
     "SIMIVULPA_" 
     )); 
    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "The SCYTHIAN WOLF.", 
     // animal description 
     "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
     "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
     "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
     "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
     "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
     "as if she has no burden. It hath a tail like a Munkey…", 
     // screenshot prefix 
     "SCYTHIAN_WOLF_" 
     )); 
    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "Of the TATUS, or Guinean Beast.", 
     // animal description 
     "This is a four-footed strange Beast, it is naturally covered with a hard shell, divided and interlined like the fins of fishes, " + 
     "outwardly seeming buckled to the back like Coat-armor, within which the beast draweth up his body, as a Hedge-hog doth within his " + 
     "prickled skin; and therefore I take it to be a Brasilian Hedge-hog. It is not much greater than a little Pig, and by the snout, ears, " + 
     "legs, and feet thereof, it seemeth to be of that kind, saving that the snout is a little broader, and shorter than a Pigs, and the " + 
     "tail very long like a Lizards or Rats, and one of these being brought into France, did live upon the eating of seeds, and fruits of " + 
     "the Gardens, but it appeareth by that picture, or rather the stuffed, which Adriausus Mercellus the Apothecary…that the feet thereof " + 
     "are not cloven into two parts like Swine, but rather into many like Dogs, for upon the hinderfeet there are five toes, and upon the " + 
     "fore feet four, whereof two are so small that they are scarce visible. The breadth of that same skin was about seven fingers, and the " + 
     "length of it two spans, the shell or crust upon the back of it did not reach down unto the rump or tail, but broke off as it were upon " + 
     "the hips, some four fingers from the tail.", 
     // screenshot prefix 
     "TATUS_" 
     )); 
    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "Of the GULON", 
     // animal description 
     "This Beast was not known by the Ancients, but hath been since discovered in the Northern parts of the World, and because of the " + 
     "voracity thereof, it is called (Gula)…is thought to be engendered by a Hyena and a Lioness, for the quality it resembleth a Hiena, " + 
     "and it is the same which is called (Crocuta;) it is a devouring and an unprofitable creature, having sharper teeth than other creatures. " + 
     "Some think it is derived of a Wolf and a Dog, for it is about the bigness of a Dog; it hath the face of Cat, the body and tail of a Fox; " + 
     "being black of colour; his feet and nails be most sharp, his skin rusty, the hair very sharp, and it feedeth upon dead carkases. When it " + 
     "hath found a dead carcass he eateth thereof so violently, that his belly standeth out like a bell; then he seeketh for some narrow passage " + 
     "betwixt two trees, and there draweth through his body, by pressing whereof, he driveth out the meat which he had eaten; and being so emptied " + 
     "returneth and devoureth as much as he did before, and goeth again and emptieth himself as in former manner; and so continueth eating and " + 
     "emptying till all be eaten.", 
     // screenshot prefix 
     "GULON_" 
     )); 
    animalDescriptions.Add(new AnimalDescription(
     // animal name 
     "Of the SUCCORATH", 
     // animal description 
     "…it is of a very deformed shape, and monstrous presence, a great ravener and untamable wilde Beast. When the Hunters that desire her " + 
     "skin set upon her, she flyeth very swift, carrying her young ones upon her back, and covering them with her broad tail: Hunters dig " + 
     "several pits or great holes in the earth, which they cover with boughs, sticks, and earth, so weakly that if the Beast chance at any " + 
     "time to come upon it, she and her young ones fall down into the pit and are taken. This cruel, untamable, impatient, violent, ravening, " + 
     "and bloudy beast, perceiving that her natural strength cannot deliver her from the wit and policy of men her hunters, (for being inclosed " + 
     "she can never get out again.)…she destroyeth them all with her own teeth; for there was never any of them taken alive…And this is all I " + 
     "finde recorded of this most savage Beast.", 
     // screenshot prefix 
     "SUCCORATH_" 
     )); 

    RandomizeAnimals(); 
} 

void RandomizeAnimals() 
{ 
    System.Random rand = new System.Random(); 
    AnimalDescription myElement = AnimalDescription[rand.Next(AnimalDescription.Count)]; 

} 
+1

所以,你已經找到'System.Random' - 你試圖以任何方式來使用它? – John3136

+0

在下面的鏈接中有類似的東西可能是可以幫助你使用隨機stuff..check這個http://stackoverflow.com/questions/16333861/how-to-select-a-random- element-from-listaction?rq = 1 – Megha

回答

2

如果你想保存啓動數據以XML試試這個

​using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.IO; 
using System.Xml; 
using System.Xml.Serialization; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     const string FILENAME = @"c:\temp\test.xml"; 
     static void Main(string[] args) 
     { 
      AnimalDescriptions animalDescriptions = new AnimalDescriptions(); 
      animalDescriptions.Start(); 
      animalDescriptions.Serialize(FILENAME); 
      AnimalDescriptions newAnimalDescriptions = animalDescriptions.DeSerialize(FILENAME); 

     } 
    } 
    [XmlRoot("animalDescriptions")] 
    public class AnimalDescriptions 
    { 
     [XmlElement("animalDescription")] 
     public List<AnimalDescription> animalDescriptions { get; set; } 

     public void Start() 
     { 
      animalDescriptions = new List<AnimalDescription>() { 
       new AnimalDescription() { 
        name = "Of the Bear-Ape ARCTOPITHECUS.", 
        description = "There is in America a very deformed beast which the inhabitants call Haut or Hauti, and the Frenchmen, Guenon, " + 
        "as big as a great African Munkey. His belly hangeth very low, his head and face like unto a childs, as may be seen by " + 
        "this lively picture, and being taken it will fight like a young child. His skin is of an ash-colour, and hairy like a Bear; " + 
        "he hath but three claws on a foot, as long as four fingers, and like the thornes of Privet, where-by he climeth up into the " + 
        "highest trees, and for the most part liveth of the leaves of a certain tree being of an exceeding height, which the Americans " + 
        "call Amahut, and thereof this beast is called Haut. Their tail is about three fingers long, having very little hair there-on; " + 
        "I observed, that although it often rained, yet was that beast never wet.", 
        screenshotPrefix = "ARCTOPITHECUS_" 
       }, 
       new AnimalDescription() { 
        name = "Of the SIMIVULPA, or Apifb-Fox.", 
        description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
        "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
        "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
        "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
        "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
        "as if she has no burden. It hath a tail like a Munkey…", 
        screenshotPrefix = "SIMIVULPA_" 
       }, 
       new AnimalDescription() { 
        name = "The SCYTHIAN WOLF.", 
        description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
        "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
        "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
        "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
        "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
        "as if she has no burden. It hath a tail like a Munkey…", 
        screenshotPrefix = "SCYTHIAN_WOLF_" 
       }, 
       new AnimalDescription() { 
        name = "Of the TATUS, or Guinean Beast.", 
        description = "This is a four-footed strange Beast, it is naturally covered with a hard shell, divided and interlined like the fins of fishes, " + 
        "outwardly seeming buckled to the back like Coat-armor, within which the beast draweth up his body, as a Hedge-hog doth within his " + 
        "prickled skin; and therefore I take it to be a Brasilian Hedge-hog. It is not much greater than a little Pig, and by the snout, ears, " + 
        "legs, and feet thereof, it seemeth to be of that kind, saving that the snout is a little broader, and shorter than a Pigs, and the " + 
        "tail very long like a Lizards or Rats, and one of these being brought into France, did live upon the eating of seeds, and fruits of " + 
        "the Gardens, but it appeareth by that picture, or rather the stuffed, which Adriausus Mercellus the Apothecary…that the feet thereof " + 
        "are not cloven into two parts like Swine, but rather into many like Dogs, for upon the hinderfeet there are five toes, and upon the " + 
        "fore feet four, whereof two are so small that they are scarce visible. The breadth of that same skin was about seven fingers, and the " + 
        "length of it two spans, the shell or crust upon the back of it did not reach down unto the rump or tail, but broke off as it were upon " + 
        "the hips, some four fingers from the tail.", 
        screenshotPrefix = "TATUS_" 
       }, 
       new AnimalDescription() { 
        name = "Of the GULON", 
        description = "This Beast was not known by the Ancients, but hath been since discovered in the Northern parts of the World, and because of the " + 
        "voracity thereof, it is called (Gula)…is thought to be engendered by a Hyena and a Lioness, for the quality it resembleth a Hiena, " + 
        "and it is the same which is called (Crocuta;) it is a devouring and an unprofitable creature, having sharper teeth than other creatures. " + 
        "Some think it is derived of a Wolf and a Dog, for it is about the bigness of a Dog; it hath the face of Cat, the body and tail of a Fox; " + 
        "being black of colour; his feet and nails be most sharp, his skin rusty, the hair very sharp, and it feedeth upon dead carkases. When it " + 
        "hath found a dead carcass he eateth thereof so violently, that his belly standeth out like a bell; then he seeketh for some narrow passage " + 
        "betwixt two trees, and there draweth through his body, by pressing whereof, he driveth out the meat which he had eaten; and being so emptied " + 
        "returneth and devoureth as much as he did before, and goeth again and emptieth himself as in former manner; and so continueth eating and " + 
        "emptying till all be eaten.", 
        screenshotPrefix = "GULON_" 
       }, 
       new AnimalDescription() { 
        name = "Of the SUCCORATH", 
        description = "…it is of a very deformed shape, and monstrous presence, a great ravener and untamable wilde Beast. When the Hunters that desire her " + 
        "skin set upon her, she flyeth very swift, carrying her young ones upon her back, and covering them with her broad tail: Hunters dig " + 
        "several pits or great holes in the earth, which they cover with boughs, sticks, and earth, so weakly that if the Beast chance at any " + 
        "time to come upon it, she and her young ones fall down into the pit and are taken. This cruel, untamable, impatient, violent, ravening, " + 
        "and bloudy beast, perceiving that her natural strength cannot deliver her from the wit and policy of men her hunters, (for being inclosed " + 
        "she can never get out again.)…she destroyeth them all with her own teeth; for there was never any of them taken alive…And this is all I " + 
        "finde recorded of this most savage Beast.", 
        screenshotPrefix = "SUCCORATH_" 
       } 
      }; 

      RandomizeAnimals(); 
     } 
     public void Serialize(string filename) 
     { 
      XmlSerializer serializer = new XmlSerializer(typeof(AnimalDescriptions)); 

      StreamWriter writer = new StreamWriter(filename); 
      serializer.Serialize(writer, this); 
      writer.Flush(); 
      writer.Close(); 
      writer.Dispose(); 
     } 
     public AnimalDescriptions DeSerialize(string filename) 
     { 
      XmlSerializer xs = new XmlSerializer(typeof(AnimalDescriptions)); 
      XmlTextReader reader = new XmlTextReader(filename); 
      AnimalDescriptions animalDescriptions = (AnimalDescriptions)xs.Deserialize(reader); 
      animalDescriptions.RandomizeAnimals(); 
      return animalDescriptions; 
     } 

     void RandomizeAnimals() 
     { 
      System.Random rand = new System.Random(); 
      foreach (AnimalDescription animalDescription in animalDescriptions) 
      { 
       animalDescription.randomNumber = rand.Next(); 
      } 

      animalDescriptions.Sort((firstObj, secondObj) => 
      { 
       return firstObj.randomNumber.CompareTo(secondObj.randomNumber); 
      }); 

      //or 
      //animalDescriptions = animalDescriptions.OrderBy(x => x.randomNumber).ToList(); 

     } 

    } 
    [XmlRoot("animalDescription")] 
    public class AnimalDescription 
    { 
     [XmlAttribute("name")] 
     public string name { get; set; } 
     [XmlAttribute("description")] 
     public string description { get; set; } 
     [XmlAttribute("screenshotPrefix")] 
     public string screenshotPrefix { get; set; } 
     [XmlIgnore] 
     public int randomNumber; 

    } 
} 
1

試試這個。完整解決方案我有兩種不同的解決方法,在Start()方法中略有不同。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      AnimalDescription animalDescription = new AnimalDescription(); 
      animalDescription.Start(); 
     } 
    } 
    public class AnimalDescription 
    { 
     public string name { get; set; } 
     public string description { get; set; } 
     public string screenshotPrefix { get; set; } 
     private int randomNumber; 
     static List<AnimalDescription> animalDescriptions = new List<AnimalDescription>(); 


     public void Start() 
     { 

      animalDescriptions.Add(new AnimalDescription() { 

       name = "Of the Bear-Ape ARCTOPITHECUS.", 
       description = "There is in America a very deformed beast which the inhabitants call Haut or Hauti, and the Frenchmen, Guenon, " + 
       "as big as a great African Munkey. His belly hangeth very low, his head and face like unto a childs, as may be seen by " + 
       "this lively picture, and being taken it will fight like a young child. His skin is of an ash-colour, and hairy like a Bear; " + 
       "he hath but three claws on a foot, as long as four fingers, and like the thornes of Privet, where-by he climeth up into the " + 
       "highest trees, and for the most part liveth of the leaves of a certain tree being of an exceeding height, which the Americans " + 
       "call Amahut, and thereof this beast is called Haut. Their tail is about three fingers long, having very little hair there-on; " + 
       "I observed, that although it often rained, yet was that beast never wet.", 
       screenshotPrefix = "ARCTOPITHECUS_" 
      }); 
      animalDescriptions.Add(new AnimalDescription(){ 
       name = "Of the SIMIVULPA, or Apifb-Fox.", 
       description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
       "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
       "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
       "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
       "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
       "as if she has no burden. It hath a tail like a Munkey…", 
       screenshotPrefix = "SIMIVULPA_" 
      }); 
      animalDescriptions.Add(new AnimalDescription() { 
       name = "The SCYTHIAN WOLF.", 
       description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
       "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
       "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
       "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
       "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
       "as if she has no burden. It hath a tail like a Munkey…", 
       screenshotPrefix = "SCYTHIAN_WOLF_" 
      }); 
      animalDescriptions.Add(new AnimalDescription() { 
       name = "Of the TATUS, or Guinean Beast.", 
       description = "This is a four-footed strange Beast, it is naturally covered with a hard shell, divided and interlined like the fins of fishes, " + 
       "outwardly seeming buckled to the back like Coat-armor, within which the beast draweth up his body, as a Hedge-hog doth within his " + 
       "prickled skin; and therefore I take it to be a Brasilian Hedge-hog. It is not much greater than a little Pig, and by the snout, ears, " + 
       "legs, and feet thereof, it seemeth to be of that kind, saving that the snout is a little broader, and shorter than a Pigs, and the " + 
       "tail very long like a Lizards or Rats, and one of these being brought into France, did live upon the eating of seeds, and fruits of " + 
       "the Gardens, but it appeareth by that picture, or rather the stuffed, which Adriausus Mercellus the Apothecary…that the feet thereof " + 
       "are not cloven into two parts like Swine, but rather into many like Dogs, for upon the hinderfeet there are five toes, and upon the " + 
       "fore feet four, whereof two are so small that they are scarce visible. The breadth of that same skin was about seven fingers, and the " + 
       "length of it two spans, the shell or crust upon the back of it did not reach down unto the rump or tail, but broke off as it were upon " + 
       "the hips, some four fingers from the tail.", 
       screenshotPrefix = "TATUS_" 
      }); 
      animalDescriptions.Add(new AnimalDescription() { 
       name = "Of the GULON", 
       description = "This Beast was not known by the Ancients, but hath been since discovered in the Northern parts of the World, and because of the " + 
       "voracity thereof, it is called (Gula)…is thought to be engendered by a Hyena and a Lioness, for the quality it resembleth a Hiena, " + 
       "and it is the same which is called (Crocuta;) it is a devouring and an unprofitable creature, having sharper teeth than other creatures. " + 
       "Some think it is derived of a Wolf and a Dog, for it is about the bigness of a Dog; it hath the face of Cat, the body and tail of a Fox; " + 
       "being black of colour; his feet and nails be most sharp, his skin rusty, the hair very sharp, and it feedeth upon dead carkases. When it " + 
       "hath found a dead carcass he eateth thereof so violently, that his belly standeth out like a bell; then he seeketh for some narrow passage " + 
       "betwixt two trees, and there draweth through his body, by pressing whereof, he driveth out the meat which he had eaten; and being so emptied " + 
       "returneth and devoureth as much as he did before, and goeth again and emptieth himself as in former manner; and so continueth eating and " + 
       "emptying till all be eaten.", 
       screenshotPrefix = "GULON_" 
      }); 
      animalDescriptions.Add(new AnimalDescription() { 
       name = "Of the SUCCORATH", 
       description = "…it is of a very deformed shape, and monstrous presence, a great ravener and untamable wilde Beast. When the Hunters that desire her " + 
       "skin set upon her, she flyeth very swift, carrying her young ones upon her back, and covering them with her broad tail: Hunters dig " + 
       "several pits or great holes in the earth, which they cover with boughs, sticks, and earth, so weakly that if the Beast chance at any " + 
       "time to come upon it, she and her young ones fall down into the pit and are taken. This cruel, untamable, impatient, violent, ravening, " + 
       "and bloudy beast, perceiving that her natural strength cannot deliver her from the wit and policy of men her hunters, (for being inclosed " + 
       "she can never get out again.)…she destroyeth them all with her own teeth; for there was never any of them taken alive…And this is all I " + 
       "finde recorded of this most savage Beast.", 
       screenshotPrefix = "SUCCORATH_" 
      }); 

      RandomizeAnimals(); 
     } 

     void RandomizeAnimals() 
     { 
      System.Random rand = new System.Random(); 
      foreach (AnimalDescription animalDescription in animalDescriptions) 
      { 
       animalDescription.randomNumber = rand.Next(); 
      } 

      animalDescriptions.Sort((firstObj, secondObj) => 
      { 
       return firstObj.randomNumber.CompareTo(secondObj.randomNumber); 
      }); 

      //or 
      //animalDescriptions = animalDescriptions.OrderBy(x => x.randomNumber).ToList(); 

     } 


    } 
} 
​ 

消除了加()的啓動方法

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      AnimalDescription animalDescription = new AnimalDescription(); 
      animalDescription.Start(); 
     } 
    } 
    public class AnimalDescription 
    { 
     public string name { get; set; } 
     public string description { get; set; } 
     public string screenshotPrefix { get; set; } 
     private int randomNumber; 
     static List<AnimalDescription> animalDescriptions = new List<AnimalDescription>(); 


     public void Start() 
     { 
      animalDescriptions = new List<AnimalDescription>() { 
       new AnimalDescription() { 
        name = "Of the Bear-Ape ARCTOPITHECUS.", 
        description = "There is in America a very deformed beast which the inhabitants call Haut or Hauti, and the Frenchmen, Guenon, " + 
        "as big as a great African Munkey. His belly hangeth very low, his head and face like unto a childs, as may be seen by " + 
        "this lively picture, and being taken it will fight like a young child. His skin is of an ash-colour, and hairy like a Bear; " + 
        "he hath but three claws on a foot, as long as four fingers, and like the thornes of Privet, where-by he climeth up into the " + 
        "highest trees, and for the most part liveth of the leaves of a certain tree being of an exceeding height, which the Americans " + 
        "call Amahut, and thereof this beast is called Haut. Their tail is about three fingers long, having very little hair there-on; " + 
        "I observed, that although it often rained, yet was that beast never wet.", 
        screenshotPrefix = "ARCTOPITHECUS_" 
       }, 
       new AnimalDescription() { 
        name = "Of the SIMIVULPA, or Apifb-Fox.", 
        description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
        "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
        "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
        "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
        "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
        "as if she has no burden. It hath a tail like a Munkey…", 
        screenshotPrefix = "SIMIVULPA_" 
       }, 
       new AnimalDescription() { 
        name = "The SCYTHIAN WOLF.", 
        description = "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
        "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
        "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
        "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
        "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
        "as if she has no burden. It hath a tail like a Munkey…", 
        screenshotPrefix = "SCYTHIAN_WOLF_" 
       }, 
       new AnimalDescription() { 
        name = "Of the TATUS, or Guinean Beast.", 
        description = "This is a four-footed strange Beast, it is naturally covered with a hard shell, divided and interlined like the fins of fishes, " + 
        "outwardly seeming buckled to the back like Coat-armor, within which the beast draweth up his body, as a Hedge-hog doth within his " + 
        "prickled skin; and therefore I take it to be a Brasilian Hedge-hog. It is not much greater than a little Pig, and by the snout, ears, " + 
        "legs, and feet thereof, it seemeth to be of that kind, saving that the snout is a little broader, and shorter than a Pigs, and the " + 
        "tail very long like a Lizards or Rats, and one of these being brought into France, did live upon the eating of seeds, and fruits of " + 
        "the Gardens, but it appeareth by that picture, or rather the stuffed, which Adriausus Mercellus the Apothecary…that the feet thereof " + 
        "are not cloven into two parts like Swine, but rather into many like Dogs, for upon the hinderfeet there are five toes, and upon the " + 
        "fore feet four, whereof two are so small that they are scarce visible. The breadth of that same skin was about seven fingers, and the " + 
        "length of it two spans, the shell or crust upon the back of it did not reach down unto the rump or tail, but broke off as it were upon " + 
        "the hips, some four fingers from the tail.", 
        screenshotPrefix = "TATUS_" 
       }, 
       new AnimalDescription() { 
        name = "Of the GULON", 
        description = "This Beast was not known by the Ancients, but hath been since discovered in the Northern parts of the World, and because of the " + 
        "voracity thereof, it is called (Gula)…is thought to be engendered by a Hyena and a Lioness, for the quality it resembleth a Hiena, " + 
        "and it is the same which is called (Crocuta;) it is a devouring and an unprofitable creature, having sharper teeth than other creatures. " + 
        "Some think it is derived of a Wolf and a Dog, for it is about the bigness of a Dog; it hath the face of Cat, the body and tail of a Fox; " + 
        "being black of colour; his feet and nails be most sharp, his skin rusty, the hair very sharp, and it feedeth upon dead carkases. When it " + 
        "hath found a dead carcass he eateth thereof so violently, that his belly standeth out like a bell; then he seeketh for some narrow passage " + 
        "betwixt two trees, and there draweth through his body, by pressing whereof, he driveth out the meat which he had eaten; and being so emptied " + 
        "returneth and devoureth as much as he did before, and goeth again and emptieth himself as in former manner; and so continueth eating and " + 
        "emptying till all be eaten.", 
        screenshotPrefix = "GULON_" 
       }, 
       new AnimalDescription() { 
        name = "Of the SUCCORATH", 
        description = "…it is of a very deformed shape, and monstrous presence, a great ravener and untamable wilde Beast. When the Hunters that desire her " + 
        "skin set upon her, she flyeth very swift, carrying her young ones upon her back, and covering them with her broad tail: Hunters dig " + 
        "several pits or great holes in the earth, which they cover with boughs, sticks, and earth, so weakly that if the Beast chance at any " + 
        "time to come upon it, she and her young ones fall down into the pit and are taken. This cruel, untamable, impatient, violent, ravening, " + 
        "and bloudy beast, perceiving that her natural strength cannot deliver her from the wit and policy of men her hunters, (for being inclosed " + 
        "she can never get out again.)…she destroyeth them all with her own teeth; for there was never any of them taken alive…And this is all I " + 
        "finde recorded of this most savage Beast.", 
        screenshotPrefix = "SUCCORATH_" 
       } 
      }; 

      RandomizeAnimals(); 
     } 

     void RandomizeAnimals() 
     { 
      System.Random rand = new System.Random(); 
      foreach (AnimalDescription animalDescription in animalDescriptions) 
      { 
       animalDescription.randomNumber = rand.Next(); 
      } 

      animalDescriptions.Sort((firstObj, secondObj) => 
      { 
       return firstObj.randomNumber.CompareTo(secondObj.randomNumber); 
      }); 

      //or 
      //animalDescriptions = animalDescriptions.OrderBy(x => x.randomNumber).ToList(); 

     } 


    } 
} 
​ 
+0

感謝您的支持!我有一個問題,雖然 - 當我拖動腳本到一個GameObject我得到的錯誤:無法添加腳本行爲AnimalDescription。腳本需要從MonoBehaviour派生!我怎樣才能解決這個問題? – greyBow

+0

不是Java專家。修改了使List <>爲靜態的代碼。 – jdweng

+0

我做了屬性{get;組;}。然後將您的評論「名稱」,「描述」,「截圖前綴」更改爲屬性名稱。刪除的構造函數 – jdweng

1

我就已經添加了這個評論,但比,所以我已經修改了代碼(由jdweng)我沒有在這裏的聲譽是嗎。

using UnityEngine; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ConsoleApplication1 
{ 
    class Program : MonoBehaviour 
    { 
     static void Main(string[] args) 
     { 
      AnimalDescription animalDescription = new AnimalDescription(); 
      animalDescription.Start(); 
     } 
    } 
    public class AnimalDescription 
    { 
     public string name; 
     public string description; 
     public string screenshotPrefix; 
     private int randomNumber; 
     List<AnimalDescription> animalDescriptions = new List<AnimalDescription>(); 

     public AnimalDescription() 
     { 
     } 
     // Constructor to allocate string values 
     public AnimalDescription(string newName, string newDescription, string newScreenshotPrefix) 
     { 
      name = newName; 
      description = newDescription; 
      screenshotPrefix = newScreenshotPrefix; 
     } 

     public void Start() 
     { 

      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "Of the Bear-Ape ARCTOPITHECUS.", 
       // animal description 
       "There is in America a very deformed beast which the inhabitants call Haut or Hauti, and the Frenchmen, Guenon, " + 
       "as big as a great African Munkey. His belly hangeth very low, his head and face like unto a childs, as may be seen by " + 
       "this lively picture, and being taken it will fight like a young child. His skin is of an ash-colour, and hairy like a Bear; " + 
       "he hath but three claws on a foot, as long as four fingers, and like the thornes of Privet, where-by he climeth up into the " + 
       "highest trees, and for the most part liveth of the leaves of a certain tree being of an exceeding height, which the Americans " + 
       "call Amahut, and thereof this beast is called Haut. Their tail is about three fingers long, having very little hair there-on; " + 
       "I observed, that although it often rained, yet was that beast never wet.", 
       // screenshot prefix 
       "ARCTOPITHECUS_" 
       )); 
      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "Of the SIMIVULPA, or Apifb-Fox.", 
       // animal description 
       "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
       "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
       "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
       "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
       "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
       "as if she has no burden. It hath a tail like a Munkey…", 
       // screenshot prefix 
       "SIMIVULPA_" 
       )); 
      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "The SCYTHIAN WOLF.", 
       // animal description 
       "…they have seen a four-footed beast, the forepart like a Fox, and in the hinder part like an Ape, except that it had a mans " + 
       "feet, and ears like a Bat, and underneath the common belly, there was a skin like a bag or scrip, where-in she keepeth, lodgeth, " + 
       "and carryeth her young ones, until they are able to provide for themselves, without the help of their dam; neither do they come " + 
       "forth of that receptacle, except it be to suck milk, or sport themselves, so that the same under-belly is her best remedy against " + 
       "the furious Hunters, and other ravening beasts, to preserve her young ones, for she is incredibly swift, running with that carriage " + 
       "as if she has no burden. It hath a tail like a Munkey…", 
       // screenshot prefix 
       "SCYTHIAN_WOLF_" 
       )); 
      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "Of the TATUS, or Guinean Beast.", 
       // animal description 
       "This is a four-footed strange Beast, it is naturally covered with a hard shell, divided and interlined like the fins of fishes, " + 
       "outwardly seeming buckled to the back like Coat-armor, within which the beast draweth up his body, as a Hedge-hog doth within his " + 
       "prickled skin; and therefore I take it to be a Brasilian Hedge-hog. It is not much greater than a little Pig, and by the snout, ears, " + 
       "legs, and feet thereof, it seemeth to be of that kind, saving that the snout is a little broader, and shorter than a Pigs, and the " + 
       "tail very long like a Lizards or Rats, and one of these being brought into France, did live upon the eating of seeds, and fruits of " + 
       "the Gardens, but it appeareth by that picture, or rather the stuffed, which Adriausus Mercellus the Apothecary…that the feet thereof " + 
       "are not cloven into two parts like Swine, but rather into many like Dogs, for upon the hinderfeet there are five toes, and upon the " + 
       "fore feet four, whereof two are so small that they are scarce visible. The breadth of that same skin was about seven fingers, and the " + 
       "length of it two spans, the shell or crust upon the back of it did not reach down unto the rump or tail, but broke off as it were upon " + 
       "the hips, some four fingers from the tail.", 
       // screenshot prefix 
       "TATUS_" 
       )); 
      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "Of the GULON", 
       // animal description 
       "This Beast was not known by the Ancients, but hath been since discovered in the Northern parts of the World, and because of the " + 
       "voracity thereof, it is called (Gula)…is thought to be engendered by a Hyena and a Lioness, for the quality it resembleth a Hiena, " + 
       "and it is the same which is called (Crocuta;) it is a devouring and an unprofitable creature, having sharper teeth than other creatures. " + 
       "Some think it is derived of a Wolf and a Dog, for it is about the bigness of a Dog; it hath the face of Cat, the body and tail of a Fox; " + 
       "being black of colour; his feet and nails be most sharp, his skin rusty, the hair very sharp, and it feedeth upon dead carkases. When it " + 
       "hath found a dead carcass he eateth thereof so violently, that his belly standeth out like a bell; then he seeketh for some narrow passage " + 
       "betwixt two trees, and there draweth through his body, by pressing whereof, he driveth out the meat which he had eaten; and being so emptied " + 
       "returneth and devoureth as much as he did before, and goeth again and emptieth himself as in former manner; and so continueth eating and " + 
       "emptying till all be eaten.", 
       // screenshot prefix 
       "GULON_" 
       )); 
      animalDescriptions.Add(new AnimalDescription(
       // animal name 
       "Of the SUCCORATH", 
       // animal description 
       "…it is of a very deformed shape, and monstrous presence, a great ravener and untamable wilde Beast. When the Hunters that desire her " + 
       "skin set upon her, she flyeth very swift, carrying her young ones upon her back, and covering them with her broad tail: Hunters dig " + 
       "several pits or great holes in the earth, which they cover with boughs, sticks, and earth, so weakly that if the Beast chance at any " + 
       "time to come upon it, she and her young ones fall down into the pit and are taken. This cruel, untamable, impatient, violent, ravening, " + 
       "and bloudy beast, perceiving that her natural strength cannot deliver her from the wit and policy of men her hunters, (for being inclosed " + 
       "she can never get out again.)…she destroyeth them all with her own teeth; for there was never any of them taken alive…And this is all I " + 
       "finde recorded of this most savage Beast.", 
       // screenshot prefix 
       "SUCCORATH_" 
       )); 

      RandomizeAnimals(); 
     } 

     void RandomizeAnimals() 
     { 
      System.Random rand = new System.Random(); 
      foreach (AnimalDescription animalDescription in animalDescriptions) 
      { 
       animalDescription.randomNumber = rand.Next(); 
      } 

      animalDescriptions.Sort((firstObj, secondObj) => { 
       return firstObj.randomNumber.CompareTo(secondObj.randomNumber); 
      }); 

      //or 
      //animalDescriptions = animalDescriptions.OrderBy(x => x.randomNumber).ToList(); 

     } 


    } 
} 

嘗試在gameobject上廣告這將工作。

+0

感謝您的糾正。你能告訴我的意義是空的方法是什麼:\t \t公共AnimalDescription() \t \t { \t \t}?這在事物的宏偉計劃中如何運作?我該如何運行這個腳本?我以前沒有使用過命名空間。我試圖把:void Start(){ \t \t ConsoleApplication1.Program(); \t}在另一個腳本運行該腳本,但它給出的錯誤:錯誤CS0119:表達式表示一個'類型',其中'變量','價值'或'方法組'的預期。我怎樣才能解決這個問題? – greyBow

+0

在這個腳本中,我只修復了「無法添加腳本行爲AnimalDescription,腳本需要從MonoBehaviour派生!」只有錯誤。這個錯誤是因爲,要添加任何腳本到任何gameobject你必須從MonoBehaviour類派生它。關於空方法:public AnimalDescription(){},我會說,你應該拿「jdweng」更新的腳本,因爲在你的情況下它沒有意義。關於命名空間,如果你想避免使用命名空間,那麼你應該在這裏閱讀統一文檔[鏈接](http://docs.unity3d.com/Manual/Namespaces.html) –

+0

,你可以,它仍然會像魅力一樣工作。 –

相關問題