문제

1 개의 플레이어 모드에서 재생할 수있는 Silverlight에서 Tic Tac Toe 게임을 만들려고합니다. 따라서 어떤 버튼을 클릭하면 "X"또는 "O"로 내용을 변경 한 후 임의의 버튼의 내용을 변경해야합니다.

모든 버튼 목록을 만들고 임의의 값을 얻으려고 시도했습니다.

    public List<string> avail = new List<string>() { "button1", "button2", "button3", "button4", "button5", "button6", "button7", "button8", "button9" };

    public string Ran()
    {
        Random b1 = new Random();
        int index = b1.Next(avail.Count); 
        if (index > 0)
            return avail[index];
        else
            return null;
    }
.

그러나 나는 다음과 같은 방법을 호출 할 수 있도록 내 임의의 문자열을 버튼으로 만드는 방법을 모른다.

    public void buttonchange(Button b)
    {
        if (b.Content.ToString() == "")
            if (x == true)
            {
                x = false;
                b.Content = "X";
            }
            else
            {
                x = true;
                b.Content = "O";
            }
        if(b.Name!=null)
            avail.Remove(b.Name);
    }
.

아이디어가 있습니까? 고맙습니다!

도움이 되었습니까?

해결책

대신 단추 참조 목록을 만드십시오 :

public List<Button> avail = new List<Button>() { button1, button2, button3, button4, button5, button6, button7, button8, button9 };

public Button Ran()
{
    Random b1 = new Random();
    int index = b1.Next(avail.Count); 
    if (index > 0) {
        return avail[index];
    } else {
        return null;
    }
}

public void buttonchange(Button b)
{
    if(b != null) {
        if (b.Content.ToString() == "") {
            b.Content = x ? "X" : "O";
            x = !x;
        }
        avail.Remove(b);
    }
}
.

인덱스 제로가있는 버튼이 사용되지 않아야하는지 모르겠습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top