2013-12-10 2 views
0

У меня есть следующая проблема: Я пишу какую-нибудь программу, которая использует случайные числа. У меня есть кости с шестью сторонами, и этот кубик используется многими объектами в нескольких классах. Я хочу, чтобы создать одну глобальную переменную DICE, которая будет использоваться всеми объектами.Как получить глобальную переменную в классах с помощью программы

То есть: у меня есть класс Player, который использует кости, и классовую позицию, которая использует кости и т.д.

Конфигурация программы хранится в файле XML, и когда я читаю, я должен был бы пройти объект DICE до конца до элемента, который находится глубоко внутри структуры XML.

Так что я хотел бы сделать, это что-то вроде:

public class Item 
    { 
    public string Name {get; private set;} 

    public const Dice dice = GLOBAL.VARIABLE.DICE; 

    public Item (string name) 
     { 
     this.Name = name; 
     } 
} 

и DICE будет инициализирован один раз для всей программы.

Проблема со случайными числами заключается в том, что если я создам несколько Dices за одно и то же время, все они производят одинаковые числа, поэтому создание нового Dice для каждого объекта, считанного из XML, приведет к нескольким генераторам случайных чисел, производящих одни и те же результаты ,

+4

Research 'static' –

+0

Прочитайте [это] (http://msdn.microsoft.com/en-us/library/98f28cdx.aspx) и [это] (http://msdn.microsoft.com/en-us/library/79b3xss3.aspx). – Brian

+0

Спасибо, что дал мне какое-то направление. – Zbynek

ответ

1
public class Dice 
{ 
    public static int Roll() 
    { 
     // Your Code 
    } 
} 

Вам нужно будет только ссылаться на него, как Dice.Roll

Смежные вопросы