본문 바로가기

TECHIT 멋쟁이사자 강의 정리(유니티)

[멋쟁이사자처럼 유니티 게임 스쿨 TIL] 강의 1일차 C#네이티브 기초 문법 연습

c#의 역사 - B언어 → C++ → C++++

이 C++++을 모양을 가만보니 ++++의 모양쌓아보면 C#이 되어있음

 

everything - 파일찾기 프로그램

notepad++ - 메모장 상위호환

 

int - 정수

float - 실수

short - 작은수

long - 큰수(약 21억 까지 표현)

long long - 더 큰수(롱보다 더 큰수도 표현) ,빅인티저와 같은 개념이다. 128비트로 가면 개념이 약간 달라지지만 당장은 같은 개념이다.

char - 단일 문자 (한글자일 때는 일반 따옴표)

string - 문자열 (문자열일 경우 쌍따옴표)

1byte == 8bit

bit는 플래그를 표시하고 00000000 식으로 이진수를 표현한다 .

 

<aside> 💡 반복문의 등장

while, for, foreach

while - 조건값이 참이면 계속 돌아라 for - 내가 원하는 횟수를 정하고 그 횟수만큼 돌아라 foreach - 어떤 배열의 내부를 한바퀴 순회해서 그 엘리먼트마다 내부 함수를 적용시켜라

</aside>

 

 

네이티브 c#

consol.writeline : 매 명령이 끝날때마다 줄바꿈을 하고 콘솔창에 출력

consol.write : 줄바꿈 없이 바로 콘솔창에 출력

 

 

별찍기 기초

using System;
internal class Program
{
    public static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < i; j++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
    }
}

별찍기 상하좌우 반전

using System;
internal class Program
{
    public static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
            
            for (int j = i; j < 5; j++)
            {
                Console.Write(" ");
            }
            for (int j = 0; j < i; j++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
    }
}

별찍기 위로 삼각형

public static void Main(string[] args)
    {
        for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < 5-i ; j++)
            {
                Console.Write(" ");
            }
            for (int j = 0; j <= i*2; j++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
    }

별찍기 wasd에 따라 삼각형 방향이 바뀌게 하는데 계속 실행되게 하기

using System;
internal class Program
{
    private static ConsoleKeyInfo getkey;

    public static void Main(string[] args)
    {
        Console.Write("wasd키를 눌러 화살표를 생성해 주세요.");
        Console.WriteLine("");
        while ((getkey = Console.ReadKey()).Key != ConsoleKey.Escape)
        {
            
            
            
            switch (getkey.Key)
            {
                
                case ConsoleKey.W:
                    Console.WriteLine();
                    for (int i = 0; i < 5; i++)
                    {
                        for (int j = 1; j < 5 - i; j++)
                        {
                            Console.Write(" ");
                        }

                        for (int j = 0; j <= i * 2; j++)
                        {
                            Console.Write("*");
                        }

                        Console.WriteLine();
                    }
                    break;
                
                case ConsoleKey.S:
                    Console.WriteLine();
                    for (int i = 0; i < 5; i++)
                    {
                        for (int j = 1; j <= i; j++)
                        {
                            Console.Write(" ");
                        }

                        for (int j = 9; j > i*2; j--)
                        {
                            Console.Write("*");
                        }
                        Console.WriteLine();
                    }
                    break;
                case ConsoleKey.A:
                    Console.WriteLine();
                    for (int i = 0; i < 4; i++)
                    {
                        for (int j = 3; j > i; j--)
                        {
                            Console.Write(" ");
                        }
                        for (int j = 0; j <= i; j++)
                        {
                            Console.Write("*");
                        }
                        Console.WriteLine();
                    }
                    
                    for (int i = 0; i < 4; i++)
                    {
                        Console.Write(" ");
                        for (int j = 0; j < i; j++)
                        {
                            Console.Write(" ");
                        }

                        for (int j = 3; j > i; j--)
                        {
                            Console.Write("*");
                        }
                        Console.WriteLine();
                    }
                    break;
                
                case ConsoleKey.D:
                    Console.WriteLine();
                    for (int i = 0; i < 4; i++)
                    {
                        for (int j = 0; j <= i; j++)
                        {
                            Console.Write("*");
                        }
                        for (int j = 3; j > i; j--)
                        {
                            Console.Write(" ");
                        }
                        Console.WriteLine();
                    }
                    
                    for (int i = 0; i < 4; i++)
                    {
                        for (int j = 3; j > i; j--)
                        {
                            Console.Write("*");
                        }
                        for (int j = 0; j < i; j++)
                        {
                            Console.Write(" ");
                        }

                        
                        Console.WriteLine();
                    }
                    break;
                
                
                

            }
            Console.Write("wasd키를 눌러 화살표를 생성해 주세요.");
            Console.WriteLine(""); 
        }
    }
}

  

피보나치 수열

using System;
internal class Program
{
    public static void Main(string[] args)
    {
        int first = 0;
        int second = 1;

        Console.Write("피보나치 수열 : ");
        while (second <= 100)
        {
            Console.Write(second + " ");
            int temp = first + second;
            first = second;
            second = temp;
        }
    }
}