백준 8393 : 합

C# 2020. 12. 23. 22:07

n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
1부터 n까지 합을 출력한다.

:: 성공

: 개선점 : 가우스 공식에 대한 이해 필요

>> 홀수일 경우 : ((1 + n) * n / 2) + ((n + 1) / 2) : 즉, 중간값을 더해야 한다.

using System;

namespace for01
{
    class Program
    {
        static void Main(string[] args)
        {
            // :: Input number and Parse
            int number = Int32.Parse(Console.ReadLine());

            // :: Calculate and Print
            Console.WriteLine("{0}", (1 + number) * (number / 2) +
                (number % 2 == 0 ? 0 : (number + 1) / 2));
        }
    }
}

'C#' 카테고리의 다른 글

백준 10818 : 최소, 최대  (0) 2021.01.04
백준 11022 : A+B - 8  (0) 2020.12.27
백준 2438 : 별 찍기 - 1  (0) 2020.12.21
백준 10950 : A+B - 3  (0) 2020.12.11
백준 2884 : 알람 시계  (0) 2020.12.10
블로그 이미지

RIsN

,

Sigma Project Number : 1

Game Name : Sigma : Summerfield / Run

Reference Game : Cookie Run

Start Date : 2020-12-11

 

==========

 

[Using Asset]

 

 

==========

 

youtu.be/eeWQqoNM6q8

 

2020-12-15

  • Fix 0.1 Version
    • Don't show up Zombies in first 3 tile maps
    • Move Zombies to Player when Lose
  • Design Floor Map
    • Make moving floor map
    • Stop the map slowly when Lose
  • Design Wall Map
    • Design wall map
    • Move it

==========

Testing APK : Test Version 0.1 | Risnworlds on Patreon

블로그 이미지

RIsN

,

백준 2438 : 별 찍기 - 1

C# 2020. 12. 21. 22:43

첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.
첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다.

:: 성공

: 학습

>> new string('문자(char)', 몇 번 반복할 수) // 반복할 숫자만큼 해당 문자(char)를 찍는다.

: 개선점 : 없음

using System;

namespace for01
{
    class Program
    {
        static void Main(string[] args)
        {
            // :: Input size and Parse
            int size = Int32.Parse(Console.ReadLine());

            // :: result Array
            string[] result = new string[size];

            // :: Loop with size
            for(int i = 1; i <= size; i++)
            {
                // :: Save Result
                result[i - 1] = new string('*', i);
            }

            // :: Print with "Wn" for Spped
            Console.WriteLine(string.Join("\n", result));
        }
    }
}

'C#' 카테고리의 다른 글

백준 11022 : A+B - 8  (0) 2020.12.27
백준 8393 : 합  (0) 2020.12.23
백준 10950 : A+B - 3  (0) 2020.12.11
백준 2884 : 알람 시계  (0) 2020.12.10
백준 14681 : 사분면 고르기  (0) 2020.12.09
블로그 이미지

RIsN

,

Sigma Project Number : 1

Game Name : Sigma : Summerfield / Run

Reference Game : Cookie Run

Start Date : 2020-12-11

 

==========

 

[Using Asset]

 

 

==========

 

youtu.be/C7cKV__zgP4

 

2020-12-14

  • Make to Lose when collide the zombie
    • Attatch colliders in Player and Zombies
    • Log lose status and Do animation die
  • Test & Fix something
    • Change zombie idle animation more dynamic
    • When player die, stop the moving tile maps

==========

Testing APK : Test Version 0.1 | Risnworlds on Patreon

블로그 이미지

RIsN

,

Sigma Project Number : 1

Game Name : Sigma : Summerfield / Run

Reference Game : Cookie Run

Start Date : 2020-12-11

 

==========

 

[Using Asset]

 

 

==========

 

 

2020-12-13

  • Decide Player character and Attach animation
    • Set up Assets(DoTween, Resources, Newtonsoft)
    • Decide Player character and Attach animation
  • Decide tile and design prototype map
    • Set 5 x 1 Line in Player tile map
    • Set 5 x 10 Line in Zombie tile map
  • Make to move tile map
    • Make to move Zombie tile map
    • Object pooling 3 Zombie tile maps
  • Make to move Player
    • Make button Left and Right
    • Make to move Player when button Clicked
  • Decide Zombie characters and Attach animation
    • Decide Zombie character and Attach animation
    • Make 2 Zombies
  • Make to show up zombies randomly
    • Show up Zombies randomly
    • Object pooling Zombies

 

==========

 

블로그 이미지

RIsN

,

Sigma Project Number : 1

Game Name : Sigma : Summerfield / Run

Reference Game : Cookie Run

Start Date : 2020-12-11

 

==========

 

1 Line Concept

This game is that character is running avoid the zombies.

Core Concept

The Character is running avoid the zombie.

There is Boss zombie.

Camera will be changed randomly for difficulty control.

 

==========

 

블로그 이미지

RIsN

,

[Unity Tutorial] 3Dキャラクターにアニメーションを追加する

:Unityの3Dアセットは色々と良いものがありますがアニメーションがいない時があります、

:その時AdobeのMixamoを使ってAnimationを簡単に入れるのが可能です。

:これはその方法の記録です。

 

[使用したアセット]

 

=====

 

1. Unityのアセットを買ったら、プロジェクトに追加(Import)しましょう。

2. そうしたらプロジェクトに該当アセットが見れるはず、

>> その中でキャラクター(Character)モデルを探しましょう。

>> Synty StudioのアセットならModelsにCharacter.fbxがあります。 

3. まずそれをフォルダーウィンドウで確認してください。

4. さ、確認(.fbx)したなら、今回はAdobeのMixamoサイトに行きましょう。

>> [Mixamo]

>> Mixamoに到着したら、まずAdobeログインしてAnimationsを開けてください。

5. そうすると下記の通り見えます。

>> そこで右のUPLOAD CHARACTERを押して、

>> さっき確認したキャラクターをアップロードしてください。

6. それじゃ右にキャラが見えます。

>> その状況で左のアニメーションを選択するとキャラが動きます。

>> アニメーションが気に入ったなら右のDOWNLOADを押してください。

7. それじゃ下記の通りDOWNLOAD SETTINGS出ます。

>> ここで重要なものはSkinです。

>> 最初にダウンロードするアニメーションはキャラクターSkinと一緒にDOWNLOADしましょう。

>> 2回目のアニメーションからはwith Skinではなくても良いんです。

>> さ、DOWNLOADしましょう。

8. そしてそのダウンロードしたファイルをプロジェクトに入れてください。

9. 入れたファイルを今回はHierarchyに入れます。

10. Synty Studioの場合すべてのキャラが重なっています。

>> 必要ないキャラはOffしましょう。

11. そうするとキャラが見えますが、白く見えます。

>> Materialが別のものなのでこう見えます。

>> キャラに合ったMaterialを入れましょう。

>> Synty Studioの場合アセット名にMaterial01~04などになっています。

12. さ、アニメーションを入れましょう。

>> キャラにアニメーションを動くアニメーター(Animator)を追加してください。

 

13. 次はアニメーターに入れるAnimator Controllerを生成します。

14. 作ったAnimator ControllerはキャラのAnimatorに入れます。

15. まだAnimator Controllerには何もありません。

16. 今回はAnimator Controllerに入れるAnimationを作ります。

17. だがこれも開けても何もありません。

>> さっきMixamoからダウンロードしてプロジェクトに追加したファイルを開けるとmixamo.comと言うアニメーションがあります。

>> これを開けてください。

18. そのアニメーションを全部コピーします。

19. コピーしたら、さっき新しく作ったアニメーションを開けて貼り付けてください。

20. さ、アニメーションは完了です。

>> さっき作ったAnimator Controllerを開けてそのAnimationをドラグして入れます。

21. 参考ですが、このアニメーション(New Animation)のInspectorでLoop Timeをチェックするとループで動きます。

22. さ、実行してみましょう。

23. キャラが動いたら成功です!

 

 

==========

 

블로그 이미지

RIsN

,

[유니티] 캐릭터 3D 모델 에셋에 애니메이션 입히기 with Synty Studio Asset

 

[사용 에셋]

 

=====

 

1. 유니티 에셋을 구매하셨으면, 해당 에셋을 프로젝트에 추가(Import) 합니다

2. 그러면 이제 해당 에셋들이 프로젝트에 추가되어 있을 겁니다.

>> 그 속에서 캐릭터(Character) 모델을 찾습니다.

>> Synty Studio 에셋들이라면 폴더의 Models에 Character에 있습니다. 

3. 그것을 우선 탐색창(윈도우 폴더)에서 확인하세요

4. 자 확인했으면, 이제는 인터넷을 열어서 Adobe의 Mixamo 사이트로 향합니다.

>> [Mixamo로 가기]

>> Mixamo에 도착했으면 Adobe 로그인을 하고 Animations를 열어주세요.

5. 그럼 아래와 같이 보일 겁니다.

>> 거기서 우선 오른쪽의 UPLOAD CHARACTER를 눌러주세요

6. 누르면 아래와 같이 파일을 업로드 할 수 있는 창이 나옵니다.

>> 거기에 아까 확인한 캐릭터 모델 파일(Characters.fbx)을 업로드합니다.

7. 그럼 오른쪽 창에 업로드한 캐릭터가 보일 겁니다.

>> 왼쪽에는 이제부터 이 캐릭터에 붙일 애니메이션들이 있습니다.

8. 그 중 이번에 캐릭터에 붙일 애니메이션을 찾아서 눌러주세요.

>> 그럼 오른쪽에 올린 캐릭터가 그 애니메이션을 보여줄 겁니다.

>> 그 애니메이션이 마음에 들면 오른쪽의 DOWNLOAD 버튼을 눌러주세요.

9. 그럼 이렇게 DOWNLOAD SETTINGS가 나옵니다.

>> 여기서 중요한 것은 Skin입니다.

>> 첫번째로 받을 애니메이션은

>> 캐릭터의 베이스(애니메이션을 입힐 수 있는 상태의 캐릭터)가 될 예정이므로 with Skin으로 받습니다.

>> 같은 캐릭터의 2번째 애니메이션부터는 with Skin이 없어도 됩니다.

>> 설정을 확인했으면 DOWNLOAD를 누릅니다.

10. 그럼 다운로드한 파일이 있을 건데, 그것을 이번에 다시 프로젝트에 넣어주세요.

>> 이름은 원하시는 대로, 폴더도 원하시는 대로 바꾸셔도 됩니다.

11. 그렇게 넣은 파일을 이번에는 Hierarchy 창에 넣습니다.

12. Synty Studio의 캐릭터의 경우 모든 캐릭터가 겹쳐 있습니다.

>> 이 중에서 필요없는 캐릭터들은 전부 꺼주시고, 필요한 캐릭터만 남깁니다.

13. 그러면 캐릭터가 Scene에 보입니다.

>> Synty Studio의 경우 Material이 lambert라는 이상한 게 박혀 있어서 하얗게 나옵니다.

14. 그러니 해당 캐릭터의 Inspector에서 Material을 변경해줍니다.

>> Synty Studio의 경우 에셋명에 Material_01 ~ 04 등으로 머티리얼이 되어 있습니다.

15. 자, 그럼 캐릭터가 제대로 색이 입혀져서 보입니다.

16. 이제는 애니메이션을 넣을 차례입니다.

>> 캐릭터의 가장 위의 폴더의 Inspector에서

>> Add Component로 애니메이션을 움직일 애니메이터(Animator)를 추가해줍니다.

 

17. 다음은 애니메이터 컴포넌트에 넣을 Animator Controller를 추가할 차례입니다.

>> Project 창에서 Create → Animator Conroller를 만들어줍니다.

18. 만든 Animator Controller를 우선

>> 캐릭터의 Inspector에 추가한 Animator 컴포넌트의 Controller에 넣어줍니다. 

19. 그리고 만든 Animator Controller를 열어보면?

20. 아직 아무것도 없습니다.

21. 이제는 애니메이션을 추가할 차례입니다.

>> Project 창에서 Create → Animation으로 새 애니메이션(Animation)을 만들어 줍니다.

22. 하지만 이것도 비어 있습니다.

>> 그러니 아까 받은 파일에서 애니메이션을 가져와야 합니다.

>> 프로젝트에 추가한 파일을 열어서 보면 mixamo.com이라는 애니메이션이 있습니다.

>> 이대로 이것을 애니메이터 컨트롤러(Animator Controller)에 추가해도 되지만,

>> 수정 불가(Read Only)에 반복(Loop)도 안되는 상황이라 그대로 쓸 수가 없습니다.

 

>> 우선 mixamo.com이라는 애니메이션을 열어주세요

23. 그럼 아래와 같이 잔뜩 무언가가 있습니다.

24. 이것을 Ctrl+A로 전부 잡아서 복사(Ctrl+C)해줍니다.

25. 이제 새로 만든 애니메이션을 열고

26. 아무것도 없는 이곳에다

27. 복사해줍니다.

>> 이걸로 이제 이 애니메이션은 수정도 가능하고, 반복도 편하게 할 수 있습니다.

28. 이제 다시 아까 만든 Animator Controller를 열어서

29. 아무것도 없는 이곳에 지금 많은 것을 추가해 넣은 애니메이션(New Animation)을 끌어다 놔줍니다.

30. 그럼 기본적으로 알아서 기본 애니메이션(Default)로 잡힐 겁니다.

31. 참고로 지금 이 애니메이션(New Animation)의 Inspector에서 Loop Time을 체크하면 반복적으로 움직입니다.

32. 자 이제 프로젝트를 실행해 봅시다.

33. 캐릭터가 움직이는 게 보인다면 성공입니다!

 

 

==========

 

블로그 이미지

RIsN

,

youtu.be/Q17nVfLAcEg

 

:: Shader 스크립트 조정

 

Shader "Custom/MyShader"
{
    Properties
    {
        //_Color("Color", Color) = (1,1,1,1)
        // :: Red
        _Red("Red", Range(0, 1)) = 0
        // :: Blue
        _Green("Green", Range(0, 1)) = 0
        // :: Green
        _Blue("Blue", Range(0, 1)) = 0

        // :: Bright & Darkness -1 ~ 1
        _BrightDark("Bright & Dark", Range(-1, 1)) = 0
    }
    SubShader
    {
        Tags { "RenderType"="Opaque" }
        LOD 200

        CGPROGRAM
        // Physically based Standard lighting model, and enable shadows on all light types
        #pragma surface surf Standard fullforwardshadows

        // Use shader model 3.0 target, to get nicer looking lighting
        #pragma target 3.0

        sampler2D _MainTex;

        struct Input
        {
            float2 uv_MainTex;
        };

        //fixed4 _Color;
        fixed _Red;
        fixed _Green;
        fixed _Blue;

        // :: bright
        fixed _BrightDark;

        // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
        // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
        // #pragma instancing_options assumeuniformscaling
        UNITY_INSTANCING_BUFFER_START(Props)
            // put more per-instance properties here
        UNITY_INSTANCING_BUFFER_END(Props)

        void surf (Input IN, inout SurfaceOutputStandard o)
        {
            // Albedo comes from a texture tinted by color
            //fixed4 c = _Color; // :: rgb

            o.Albedo = fixed3(_Red, _Green, _Blue) + _BrightDark;
            //o.Emission = fixed3(_Red, _Green, _Blue) + _BrightDark;
            o.Alpha = 1;
        }
        ENDCG
    }
    FallBack "Diffuse"
}

 

==========

 

 
 

 

 

블로그 이미지

RIsN

,

프로젝트명 : First Step

프로젝트 목적 : 성공적인 취업

[최신 프레젠테이션]

 

=====

 

[사용 에셋]

 

 

=====

 

youtu.be/B78Qaqb0GZE

 

[개발 일지]

  • 포톤 수정
    • 쓸데없는 Log 발생 및 확인처리 제거
  • 승리 판정
    • 보드에 생존해 있는 것이 있으면 승리, 둘 다 생존해 있으면 NONE
  • [R&D 종료]

[수정 필요]

 

[차후 이해가 필요한 것]

  • 동기화 데이터에 대한 지속적인 실증적 이해

==========

 

블로그 이미지

RIsN

,