2011-12-12 66 views
3

我需要一些幫助一個簡單的測驗應用程序開始使用Windows上的簡單的測驗應用程序的手機7. 用戶將不得不猜測是在圖片中展示的我的城市某個地點的名稱。 會有屏幕上的圖像和正下方也將有4個答案,如果用戶點擊正確的,他將notifed正確答案,然後他就可以去另外一個問題,同樣有不正確asnwer場景。我需要跟蹤正確的答案。所以我需要幫助或指導如何設置這樣的問題/答案遊戲。我需要所有的問題都是隨機產生的(每個問題4個隨機數),並且假設我每場比賽有10個問題。創造了Windows Phone 7的

我打算有將舉行我市地方

cityList = new List<string>(); 

     cityList.Add("answer1"); 
     cityList.Add("answer2"); 
     cityList.Add("asnwer3"); 
     cityList.Add("answer4"); 

名單,我卡住了,任何人都做過類似的事情之前,請大家幫幫忙,謝謝

回答

2

這樣的事情。我在答案框中鍵入了它,它可能不會像現在這樣complile,但肯定會讓你開始。

class Question 

{ 
    string ImageURI { get; set; } 
    string Text { get; set; } 
    ObservableCollection<Answer> Answers { get; set; } 
    Answer CorrectAnswer { get; set; } 

    bool MakeGuess(Answer a) { UserGuess = a; if (a.Equals(CorrectAnswer)) { return true; } return false; } 

    bool AnsweredSuccessfully { get { return UserGuess != null && UserGuess.Equals(CorrectAnswer); } } 
    Answer UserGuess { get; set; } 

} 

class Answer 
{ 
    string text { get; set; } 
} 
class Game 
{ 
    public Game() 
    { 
     Questions = new ObservableCollection<Question>(); 
     for (int i = 0; i < 10; i++) { Questions.Add(GenerateQuestion()); } 
    } 
    public Question GenerateQuestion() 
    { 
     Question q = new Question(); 
     q.ImageURI = your link to image//; 
     q.Text = your image text//; 
     q.Answers = new ObservableCollection<Answer>(); 
     q.CorrectAnswer = the correct answer//; 
     q.Answers.Add(CorrectAnswer); 

     for (int i = 0; i < 5; i++) { q.Answers.Add(GenerateAnswer(q.CorrectAnswer)); } 

     return q; 
    } 
    public Answer GenerateAnswer(Answer ignore) 
{ 
    List<Answer> answers = DataStore.Answers;//go to your main list of answers. 

    Random rand = new Random(); 

    Answer a = answers[Random.Next(0,answers.Size())]; 
    while (a == null || a.Equals(ignore) { a = answers[Random.Next(0,answers.Size())];} 
    return a; 
} 
    public ObservableCollection<Question> Questions { get; set; }  
} 
+0

非常感謝我的朋友 –

+0

@AlanBudzinski肯定,祝你好運! –

1

我會做我自己的類益智它看起來像這樣的:如果你使用一個,也許有些接口

public class Puzzle 
{ 
    List<string> answers = new List<string>(4); 

    public Puzzle(string question, List<string> answers, int correctAnswer) 
    { 
      Question = question; 
      Answers = answers; 
      CorrectAnswer = correctAnswer; 
    } 
    public string Question {get; private set;} 
    public int CorrectAnswer {get; private set;} //or you can make CorrectAnswer a string 
    public List<string> Answers { get { return answers;} } 

} 

這個類需要dataBiding邏輯。

你的名單應該是這樣的:

cityPlaces = new List<string>(); //guess that's a better name 
var answersOne = new List<string>() { "bla1", "bla2", "bla3", "bla4"}; 
cityPlaces .Add("What is the blabla blabla?",answersOne,2); 

我心存疑慮,「我需要的問題是所有隨機生成的」。我認爲這不是這種遊戲的最佳主意。更好的是讓問題和答案以隨機順序顯示。使用Fisher–Yates shuffle向他們展示隨機順序(here is a C# example,第一個,第二個是錯的,GUID是唯一不是隨機的和排序算法可以做這種比較F.E.崩潰的東西)。

這應該幫助你。