티스토리 뷰
이전 공부
2020/12/04 - [코딩 공부] - 아이패드 앱 스위프트 플레이그라운드로 코딩 공부! 10. 초기화
스위프트 플레이그라운드로 코딩 공부하기 열 한번째 시간입니다.
오늘은 매개변수~
매개변수 첫 번째 문제는 전문가를 불러와서 보석을 수집하기입니다.
이젠 move 함수를 만들 수 있게 되었습니다.
distance에 숫자를 입력하면 그 숫자만큼 타일을 이동합니다.
와 이제 무브포워드 덜 입력할 수 있게 되었네요!
근데 지금 보니까 제가 여기 이후로 move 함수를 잘못 만들고 있었다는 것을 깨달았습니다;ㅋㅋㅋ
다음부터 꾸준히 나오겠지만 왜 그동안 내 생각대로 안 움직였는지 알았어요 ㅠㅠ
여긴 딱히 패턴이 없는 것 같아서 그냥 동선대로 코드를 짰습니다.
두 번째는 전문가와 캐릭터를 사용해서 퍼즐을 해결하기입니다.
이번에는 조건과 수치를 입력하면 잠금장치를 조절할 수 있는 turnLock 함수를 배웠습니다.
앞에서 배운대로 전문가와 캐릭터를 초기화하고 turnLock 함수도 만들었습니다.
반대편으로 돌 일도 많아서 전문가와 캐릭터가 각각 뒤도는 함수도 만들어 주었습니다.
그리고 캐릭터가 보석을 수집하는 동선을 따라서 전문가가 장치를 작동해주는 코드를 짜서 클리어~
세 번째도 전문가와 캐릭터를 사용해서 보석들을 수집하기입니다.
move 함수를 만들어 줬는데 지금 보니까 for 루프를 빼고 만들었네요;ㅋㅋ
어쩐지 디스턴스를 입력해도 그 만큼 안 가더라...
어쨌든 플랫폼 뒤에 있는 보석을 수집하고 밖으로 다시 나와서 턴 하는 함수도 만들어 주었습니다.
전문가용 turnLock 함수도 만들고요~
이번에도 딱히 패턴이 보이지 않아서 맵대로 동선을 입력해주었습니다.
덕분에 아주 구구절절이 된 코드 ㅋㅋ
네 번쨰는 전문가만 이용해서 보석들을 수집하면 됩니다.
이번에도 덜 만든 move 함수 ㅋㅋㅋ
그래서 expert.move(distance: 5) 이런 식으로 엑스퍼트를 앞에 써 줘야 숫자만큼 작동을 했습니다.
for 루프도 써서 만들었으면 엑스퍼트를 쓸 필요 없이 move 함수만 호출하면 숫자만큼 움직였을 것입니다...
계속 왜 안 되지? 하면서 저런 식으로 전문가 뒤에 호출해서 사용했습니다.
이제는 캐릭터들을 원하는 위치에 소환할 수 있게 되었는데 저는 (1, 6) 좌표에 소환한 후 화살표를 따라 진행하는 방향으로 동선을 짰습니다.
중간에 플랫폼 장치를 조작해줘야 하지 않았으면 반복문을 서서 진행해도 됐을 거 같은데 중간에 플랫폼 장치 조작하는 옵션은 어떻게 해야할 지 모르겠어서 그냥 깡코드를 써서 클리어했습니다.
다섯 번째도 플랫폼을 조작해서 보석들을 수집하기입니다.
이번에는 캐릭터를 소환할 때 방향도 지정해서 소환할 수 있게 되었습니다.
이번에도 (덜 만든) move 함수를 만들고 (1, 8) 좌표에 전문가를 소환한 후 화살표를 따라 진행했습니다.
첫 번째 플랫폼 앞 보석 4개를 수집하는 동안은 while 루프에 젬 카운터가 4보다 적은 동안 반복하도록 하고 플랫폼 장치 앞에 가면 플랫폼을 내리고 왼쪽으로 돌아서 보석 3개를 수집하고 반복문이 종료되도록 젬 카운터가 7보다 적은 동안 반복하라는 조건을 넣었습니다.
그리고 마지막에 플랫폼 올리기 귀찮아서 그냥 건너편에 다시 소환해서 나머지도 클리어했습니다.
여섯 번째는 전문가와 캐릭터를 사용해서 퍼즐을 해결하기입니다.
이제는 캐릭터가 점프를 할 수 있게 되었습니다.
보석 간 거리가 점프 두 칸이라 캐릭터가 두 칸 점프하는 함수 chtJumpTwoTiles를 만들어주었습니다.
이번에도 쉽게 클리어~
일곱 번쨰는 전문가 둘을 사용해서 퍼즐 클리어 하기입니다.
계속 move 함수를 잘못 만들었는데 저렇게 만들고 expertA.move(distance: 2), expertB.move(distance: 2) 이런 식으로 코드를 써도 잘 움직이더라고요.
turnLock 함수에도 전문가 A, B를 넣어서 만들어주었습니다.
이번에도 무난하게 클리어했습니다.
이번엔 임의의 수의 보석이 나타나서 마지막에 while 반복문을 쓸 때 끝에 가서 막히면 반복문이 종료되게 하려고 조건을 저렇게 썼습니다.
인스턴스 뒤에 조건을 적을 때에는 expert.!isBlcoked 이런 식으로는 쓸 수 없더라고요...
expert.isBlocked는 가능했지만...
그래서 expert.isBlocked == false 로 써서 !isBlocked와 같은 조건을 주었습니다.
여덟 번째는 임의의 위치에 나타나는 보석들을 수집하기입니다.
전문가를 불러다 플랫폼을 조작해서 캐릭터가 이동하게 해도 됐겠지만 전 귀찮아서...ㅋㅋㅋㅋ
그냥 캐릭터만 셋 불러다가 if 문 써서 한 줄씩 클리어하게 했습니다.
캐릭터 A, C는 점프하면서 앞으로 이동하고 가운데 캐릭터 B는 쭉 직진하면서 보석을 수집했습니다.
꼼수 쓴 마지막 퀴즈 풀이 영상 ㅋㅋㅋ
'코딩 공부' 카테고리의 다른 글
c언어 프로그래밍 공부 2일차 : 변수와 printf, scanf (0) | 2020.12.16 |
---|---|
학원에서 게임 프로그래밍 공부 시작한 첫째 날 후기 : 오늘 공부한 것은? (0) | 2020.12.15 |
아이패드 앱 스위프트 플레이그라운드로 코딩 공부! 10. 초기화 (0) | 2020.12.04 |
아이패드로 코딩 공부하기 - 스위프트 플레이그라운드 9. 유형 (0) | 2020.12.03 |
아이패드 앱 스위프트 플레이그라운드로 코딩 공부하기 8. 변수 (0) | 2020.12.02 |
- Total
- Today
- Yesterday
- 알고리즘
- greedy
- 프로그래밍
- dp
- 애플
- 해커랭크
- 컴퓨터사이언스
- 문제풀이
- 기초
- 컴퓨터
- 너비우선탐색
- 깊이우선탐색
- 그리디
- 다이나믹프로그래밍
- DFS
- BFS
- 하드웨어
- 프로그래머스
- 캐나다생활
- hackerrank
- 영어공부
- 백준
- 컴퓨터공부
- 아이패드
- 코딩공부
- 스위프트플레이그라운드
- 캐나다
- c언어
- c++
- C언어기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |