Notice
Recent Posts
Recent Comments
Link
STIKA
D+20일 TIL < 알고리즘 / Unity 사전 4주차 > 본문
24.01.22 Mon
❤️ TIL
Today I Learned
❤️하루에 1%씩만 나아가도 4개월 동안 쌓이면 꽤 덩치가 커진답니다 :)
📌 오늘의 계획
- 알고리즘 코드카타
- Unity 사전캠프 4주차 완강
✏️ 작업 내용
✔️ 알고리즘 코드카타
1. 나머지가 1이 되는 수 찾기
using System;
public class Solution {
public int solution(int n) {
int answer = 1;
while (n % answer != 1) {
answer++;
}
return answer;
}
}
2. x만큼 간격이 있는 n개의 숫자
public class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
if (-10000000 <= x && x <= 10000000 && 0 <= n && n <= 1000)
{
for (long i = 1; i <= n; ++i)
{
answer[i - 1] = x * i;
}
return answer;
}
return null;
}
}
✔️ Unity 사전캠프 4주차
void Update()
{
time += Time.deltaTime;
timeTxt.text = time.ToString("N2");
}
오랜만이라서
N2 = 0.00 이렇게 숫자 출력
for(int i = 0; i < 16; i++)
{
GameObject newCard = Instantiate(card);
newCard.transform.parent = GameObject.Find("Cards").transform;
}
cards안에 오브젝트가 생기게끔하기
for(int i = 0; i < 16; i++)
{
float x = (i / 4) * 1.4f - 2.1f;
float y = (i % 4) * 1.4f - 3.0f;
newCard.transform.position = new Vector3(x, y, 0);
}
using System.Linq;
int[] arr = { 1, 3, 5, 4, 0, 2, 5 };
arr = arr.OrderBy(item => item).ToArray();
OrderBy 정렬용
값의 순서대로 정렬해줘
작은수→큰수
using System.Linq;
int[] rtans = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
rtans = rtans.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray();
순서상관없이 랜덤으로 정렬해줘
Invoke (법·규칙 등을) 들먹이다[적용하다]
public void destroyCard()
{
Invoke("destroyCardInvoke", 1.0f);
}
void destroyCardInvoke()
{
Destroy(gameObject);
}
1초뒤에 destroycardInvoke를 호출해줘
public void openCard()
{
// Animator isOpen -> true
anim.SetBool("isOpen", true);
// Front-> setActive = true
transform.Find("front").gameObject.SetActive(true);
//back -> false
transform.Find("back").gameObject.SetActive(false};
}
opencard시 입력되어야하는것들
public void isMatched()
{
//여기서 무엇인가 판단함
//First card, second card가 같은지
string firstCardImage = firstCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite.name;
string secondCardImage = secondCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite.name;
}
첫번째카드의 front를 찾아서 그것의spriterenderer를가져오고 그것의 이름을 알려줘
int[] rtans = { 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 };
rtans = rtans.OrderBy(item => Random.Range(-1.0f, 1.0f)).ToArray();
for (int i = 0; i < 16; i++)
{
GameObject newCard = Instantiate(card);
newCard.transform.parent = GameObject.Find("Cards").transform;
float x = (i / 4) * 1.4f - 2.1f;
float y = (i % 4) * 1.4f - 3.0f;
newCard.transform.position = new Vector3(x, y, 0);
string rtanName = "rtan" + rtans[i].ToString();
newCard.transform.Find("front").GetComponent<SpriteRenderer>().sprite = Resources.Load<Sprite>(rtanName);
}
asset에 Resources라는 폴더를 만들고 거기에 이미지를 넣으면
원하는 리소스를 가져올수있음
if (firstCardImage == secondCardImage)
{
firstCard.GetComponent<card>().destroyCard();
secondCard.GetComponent<card>().destroyCard();
}
else
{
firstCard.GetComponent<card>().closeCard();
secondCard.GetComponent<card>().closeCard();
}
card라는 스크립트를 가져와서 거기의 어떤 함수 사용
📝 오늘의 마무리
오랜만에 유니티를 쓰니까 재밌다
사전캠프 유니티를 다 못들었었어서 그거부터 듣고 하려고 했는데..
본과정 들어야하는데 하염없이 밀리는중..
✏️ 스스로 어제보다 한 발 더 나아갔다는 것을 자각하기
✏️ TIL을 쓰기 위해서라도, 오늘 반드시 단 하나라도 배우기
✏️ 꾸준히 기록을 남기는 습관 가지기
📕 오늘의 학습 키워드
📕 공부한 내용 본인의 언어로 정리하기
📕 오늘의 회고
📕 12시간 중 얼마나 몰입했는지
📕 더 나은 미래를 위해 내일 어떤 공부를 진행할 것인지
'프로그래밍 > Unity + C#' 카테고리의 다른 글
D+22일 TIL < Unity 1주차 / 팀 프로젝트 회의> (1) | 2024.01.24 |
---|---|
D+21일 TIL < Unity 사전 5주차 > (0) | 2024.01.23 |
Unity 캠프 20일차 TIL < C# 문법 4 / 알고리즘 > (0) | 2024.01.19 |
Unity 캠프 19일차 TIL < 알고리즘 > (0) | 2024.01.18 |
Unity 캠프 18일차 TIL < 팀 프로젝트 종료 / 알고리즘 > (0) | 2024.01.17 |