2단계: 임의의 개체 및 아이콘 목록 추가Step 2: Add a Random object and a list of icons

이 단계에서는 게임에 사용할 일치하는 기호의 집합을 만듭니다.In this step, you create a set of matching symbols for the game. 각 기호는 폼의 TableLayoutPanel에 있는 임의의 두 셀에 추가됩니다.Each symbol is added to two random cells in the TableLayoutPanel on the form. 이렇게 하려면 두 개의 new 문을 사용하여 두 개체를 만듭니다.To do this, you use two new statements to create two objects. 첫 번째 개체는 수학 퀴즈 게임에서 사용한 것과 비슷한 Random 개체입니다.The first is a Random object, like the one you used in the math quiz game. 이 개체는 TableLayoutPanel의 셀을 임의로 선택하기 위해 이 코드에 사용됩니다.It is used in this code to randomly choose cells in the TableLayoutPanel. 두 번째 개체는 사용자에게 새로울 수도 있는데, 임의로 선택한 기호를 저장하는 데 사용되는 List<T> 개체입니다.The second object, which may be new to you, is a List<T> object which is used to store the randomly-chosen symbols.

임의의 개체 및 아이콘 목록을 추가하려면To add a random object and a list of icons

  1. 솔루션 탐색기에서, Visual C#을 사용 중인 경우 Form1.cs를 선택하고 Visual Basic을 사용 중인 경우 Form1.vb를 선택한 다음, 메뉴 모음에서 보기 > 코드를 선택합니다.In Solution Explorer, choose Form1.cs if you're using Visual C#, or Form1.vb if you're using Visual Basic, and then on the menu bar, choose View > Code. 또는 F7 키를 선택하거나 솔루션 탐색기에서 Form1을 두 번 클릭하면 됩니다.As an alternative, you can choose the F7 key or double-click Form1 in Solution Explorer.

    이렇게 하면 Form1 뒤의 코드 모듈이 표시됩니다.This displays the code module behind Form1.

  2. 기존 코드에 다음 코드를 추가합니다.In the existing code, add the following code.

    public partial class Form1 : Form
    {
        // Use this Random object to choose random icons for the squares
        Random random = new Random();
    
        // Each of these letters is an interesting icon
        // in the Webdings font,
        // and each icon appears twice in this list
        List<string> icons = new List<string>() 
        { 
            "!", "!", "N", "N", ",", ",", "k", "k",
            "b", "b", "v", "v", "w", "w", "z", "z"
        };
    
    Public Class Form1
    
        ' Use this Random object to choose random icons for the squares
        Private random As New Random
    
        ' Each of these letters is an interesting icon
        ' in the Webdings font,
        ' and each icon appears twice in this list
        Private icons =
          New List(Of String) From {"!", "!", "N", "N", ",", ",", "k", "k",
                                    "b", "b", "v", "v", "w", "w", "z", "z"}
    

    Visual C#을 사용 중인 경우 클래스 선언(public partial class Form1 : Form) 바로 다음에 여는 중괄호를 먼저 입력하고 코드를 추가해야 합니다.If you're using Visual C#, be sure you put the code after the opening curly brace and just after the class declaration (public partial class Form1 : Form). Visual Basic을 사용 중인 경우에는 클래스 선언(Public Class Form1) 바로 다음에 코드를 추가합니다.If you're using Visual Basic, put the code right after the class declaration (Public Class Form1).

  3. List 개체를 추가하는 경우 IntelliSense 창이 열리는 것을 확인할 수 있습니다.When adding the List object, notice the IntelliSense window that opens. 다음은 Visual C# 예제이지만 Visual Basic에서 목록을 추가할 때에도 이와 비슷한 텍스트가 나타납니다.The following is a Visual C# example, but similar text appears when you add a list in Visual Basic.

    Click 이벤트가 표시된 속성 창 IntelliSense 창Properties window showing Click event IntelliSense window

    참고

    IntelliSense 창은 코드를 수동으로 입력하는 경우에만 나타납니다.The IntelliSense window appears only when you enter code manually. 복사한 코드를 붙여 넣는 경우에는 표시되지 않습니다.If you copy and paste the code, it doesn't appear.

    작은 섹션의 코드(및 설명)를 보면 더 쉽게 이해할 수 있습니다.If you look at the code (and remarks) in small sections, it's easier to understand. 프로그램에서는 목록 개체를 사용하여 서로 다른 형식의 여러 항목을 추적할 수 있습니다.Your programs can use list objects to keep track of many different types of items. 목록에는 숫자, true/false 값, 텍스트 또는 다른 개체가 포함될 수 있습니다.A list can hold numbers, true/false values, text, or other objects. 목록 개체에 다른 목록 개체가 포함될 수도 있습니다.You can even have a list object that holds other list objects. 목록의 항목은 요소라고 하며 각 목록에는 같은 형식의 요소만 포함됩니다.The items in a list are called elements, and each list only holds one type of element. 따라서 숫자 목록에는 숫자만 포함될 수 있으며 해당 목록에 텍스트를 추가할 수 없습니다.So, a list of numbers can only hold numbers—you can't add text to that list. 마찬가지로 true/false 값 목록에 숫자를 추가할 수 없습니다.Similarly, you can't add numbers to a list of true/false values.

    List 문을 사용하여 new 개체를 만드는 경우 목록에 저장할 데이터의 종류를 지정해야 합니다.When you create a List object using a new statement, you need to specify the kind of data you want to store in it. 이를 위해 IntelliSense 창의 맨 위에 있는 도구 설명에서 목록의 요소 형식을 보여 줍니다.That's why the tooltip at the top of the IntelliSense window shows the types of elements in the list. 또한 List<string>(Visual C#의 경우) 및 List(Of String)(Visual Basic의 경우)는 List 데이터 형식의 요소를 포함하는 string 개체임을 나타냅니다.Also, that's what List<string> (in Visual C#) and List(Of String) (in Visual Basic) means: It's a List object that holds elements of string data type. 문자열은 IntelliSense 창 오른쪽에 있는 도구 설명에서 알려 주는 텍스트를 저장하기 위해 프로그램에서 사용합니다.A string is what your program uses to store text, which is what the tooltip to the right of the IntelliSense window is telling you.

  4. Visual Basic에서는 먼저 임시 배열을 만들어야 하지만 Visual C#에서는 하나의 문으로 목록을 만들 수 있습니다.Consider why in Visual Basic a temporary array must be created first, but in Visual C#, the list can be created with one statement. 이는 Visual C# 언어에 값을 받아들이는 목록을 준비하는 컬렉션 이니셜라이저가 포함되어 있기 때문입니다.This is because the Visual C# language has collection initializers, which prepare the list to accept values. Visual Basic에서도 컬렉션 이니셜라이저를 사용할 수 있습니다.In Visual Basic, you can use a collection initializer. 그러나 이전 버전의 Visual Basic과의 호환성을 위해 위의 코드를 사용하는 것이 좋습니다.However, for compatibility with the previous version of Visual Basic, we recommend using the preceding code.

    new 문에 컬렉션 이니셜라이저를 사용하면 새 List 개체가 만들어진 후 프로그램에서 중괄호 내에 있는 사용자 제공 데이터로 개체를 채웁니다.When you use a collection initializer with a new statement, after the new List object is created, the program fills it with the data you provided inside the curly braces. 이 경우에는 아이콘이라는 문자열 목록이 만들어지고 이 목록은 16개의 문자열이 포함되도록 초기화됩니다.In this case, you get a list of strings named icons, and that list will be initialized so that it contains sixteen strings. 각 문자열은 단일 문자이며 모두 레이블에 포함될 아이콘에 해당합니다.Each of those strings is a single letter, and they all correspond to the icons that will be in the labels. 따라서 이 게임에는 느낌표, 대문자 N, 쉼표 등이 각각 쌍으로 포함됩니다.So, the game will have a pair of exclamation points, a pair of uppercase N letters, a pair of commas, and so on. 이러한 문자는 Webdings 글꼴로 설정되며, 버스, 오토바이, 거미 등의 기호로 나타납니다. 목록 개체에는 TableLayoutPanel 패널의 각 셀에 하나씩 모두 16개의 문자열이 포함됩니다.(When these characters are set to the Webdings font, they will appear as symbols, such as a bus, a bike, a spider, and so forth.) Your list object will have sixteen strings in all, one for each cell in the TableLayoutPanel panel.

    참고

    Visual Basic에서도 같은 결과가 나타나지만 먼저 문자열이 임시 배열에 추가된 다음, 목록 개체로 변환됩니다.In Visual Basic, you get the same result, but first the strings are put into a temporary array, which is then converted into a list object. 배열은 목록과 비슷하지만 고정 크기로 만들어진다는 차이가 있습니다.An array is similar to a list, except, for example, arrays are created with a fixed size. 목록은 필요에 따라 축소 또는 확장할 수 있으며 이는 프로그램에서 중요한 내용입니다.Lists can shrink and grow as needed, which is important in this program.

계속하거나 검토하려면To continue or review