2013-01-07 4 views
1

첫 번째 함수에서 팩의 수를 설정하고 두 번째 함수에서 팩의 일치 수를 "삽입"하여 일치하는 팩을 채우는 작은 앱을 작성합니다. 계속해서 "같은 키를 가진 항목이 이미 추가되었습니다."라고 말하면서 계속 실행하려고합니다. 왜 그런가, 어떻게 수정합니까?루프를 사용하여 사전에 값 추가

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

namespace Drill 
{ 
    public class NewMatchesGame2 
    { 
     Dictionary<int, int> dictionaryPack = new Dictionary<int, int>(); 

     public void manageGame() 
     { 
      Console.WriteLine("how many packs? : "); 
      string p = Console.ReadLine(); 
      int packs = Convert.ToInt32(p); 


      for (int i = 0; i < packs; i++) 
      { 
       dictionaryPack.Add(i, 0); 
      } 

      InitializeGame(); 
     } 

     public void InitializeGame() 
     { 
      string s = dictionaryPack.Count.ToString(); 
      int Pa = Convert.ToInt32(s); 
      int minPack = Pa/Pa; 
      int dmin = minPack; 

      while (Pa > minPack) 
      { 

       Console.Write("how many matches in pack number :" + minPack + " : "); 
       string a = Console.ReadLine(); 
       int matchNumber = Convert.ToInt32(a); 
       int val = matchNumber; 

       for (int x = 0; x < minPack; x++) 
       { 
        dictionaryPack.Add(minPack , matchNumber); 
       } 
       minPack++; 

       /// Print(matchNumber); 
       /// computerPlay(matchNumber); 
      } 

     } 
    } 
} 
+1

이것은 무엇입니까? 'int minPack = Pa/Pa;' –

+0

'InitializeGame'의 처음 네 줄에서 무슨 일이 일어나는지 설명해야합니다. 카운트를 문자열로 변환하고 int로 다시 변환하고 1로 결과를 나눕니다. – Rotem

+0

첫 번째 팩을 얻으려면 – sortof

답변

0
모두 당신의 기능 manageGame에서

Initialize, 당신은 같은 dictionaryPack를 사용합니다.

dictionaryPack.Add("KEY","VALUE")을 삽입하면 키가 고유해야합니다. 고유 값을 사용하지 않는 것은 분명합니다.

팩을 업데이트하려고합니다. 대신 Add 메서드를 사용하십시오!

+0

을 입력하십시오. 고맙습니다. – sortof

+0

당신은 환영합니다. –

+0

캔트가 아직 나와 있지 않습니다. :(업데이트 방법이 있습니까? like : dictionaryPack.???? (key, valueue) – sortof