2013-03-31 2 views
1

나는 매우 기본적인 마술 8 공 프로그램을 학습 연습으로 만들었습니다. 현재 버튼을 클릭 할 때마다 0 - 9 사이의 난수가 출력됩니다. 이제 각 숫자를 "Outlook이 좋아 보인다"또는 "슬림 한 기회가있는 것"등으로 대체하여 마무리하고 싶습니다.배열을 사용하여 10 개의 무작위 정수를 해당 문자열로 대체하십시오.

나는 여기서 배열을 사용해야한다고 생각합니다. 어떤 종류의 배열이 필요한지 그리고 어디에 코드를 중첩시켜야하는지 잘 모르겠습니다.

누구나 올바른 방향으로 나를 가리킬 수 있습니다.

코드까지 ...

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace Magic8ball 
{ 
    public partial class Form1 : Form 
    { 
     private static int randomNumber; 
     private const int rangeNumberMin = 0; 
     private const int rangeNumberMax = 9; 



     public Form1() 
     { 
      InitializeComponent(); 
      randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax); 

     } 

     private int GenerateNumber(int min, int max) 
     { 
      Random random = new Random(); 
      return random.Next(min, max); 
     } 

     private void Ask_Click(object sender, EventArgs e) 
     { 

      int rn = randomNumber; 

      if (textBox1.Text.Trim().Length == 0) 
      { 
       MessageBox.Show("Please ask a question first", "No question was asked?"); 
      } 

      else 
      { 
      MessageBox.Show("Number is" +" " + rn, "your answer..."); 
      textBox1.Text=""; 
      randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax); 
      } 

     } 


    } 
} 

답변

3

는 그냥 클래스에 속하는 규칙적인 배열은 아마 길을 가야하는 것입니다. 임의 번호는 0부터 시작하므로 배열 인덱스 messages[randomNumber]으로 사용할 수 있습니다.

public partial class Form1 : Form 
{ 
    private static int randomNumber; 
    private const int rangeNumberMin = 0; 
    private const int rangeNumberMax = 9; 
    private readonly string[] messages = 
     { 
      "I don't think so", 
      "Maybe", 
      "I don't think so", 
      "Maybe", 
      "I don't think so", 
      "Maybe", 
      "I don't think so", 
      "Maybe", 
      "I don't think so", 
      "Yes", 
     }; 

    public Form1() 
    { 
     InitializeComponent(); 
     randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax); 
    } 

    private int GenerateNumber(int min, int max) 
    { 
     Random random = new Random(); 
     return random.Next(min, max); 
    } 

    private void Ask_Click(object sender, EventArgs e) 
    { 
     int rn = randomNumber; 

     if (textBox1.Text.Trim().Length == 0) 
     { 
      MessageBox.Show("Please ask a question first", "No question was asked?"); 
     } 

     else 
     { 
      MessageBox.Show("Number is" +" " + rn, "your answer..."); 
      randomNumber = GenerateNumber(rangeNumberMin, rangeNumberMax); 
      textBox1.Text = messages[randomNumber]; 
     } 
    } 
} 
+0

참고 : textBox1.Text = ""; 프로그램이 숫자/메시지를 보낸 후 텍스트를 지우는 것. 그래서 나는 당신의 메시지를 [random number]에 넣었습니다. 현재 "Number is"+ ""+ rn이 있고 그것을 처리합니다. 많은 감사합니다! – JsonStatham

관련 문제