본문 바로가기
블록코딩/ㆍ코듈라

런닝맨 터치패드 코딩 2 - 공격횟수 저장해줘 Tiny DB

by diMik 2022. 5. 29.

안녕하세요, 여러분!

지난 시간에 런닝맨 터치패드 게임을 함께 만들어보았는데요. ( 지난 시간 링크 참고 : https://dimik.tistory.com/134 )

터치할 때마다 패드의 숫자가 1씩 증가하는 게임이었죠. 그에 이어서 이번 시간에는 그 숫자를 저장하는 코딩을 해보겠습니다. 

 

프로그램이 꺼졌어요 ㅠ

 

이렇게 돌발상황으로 프로그램이 꺼져도 그 숫자를 기억해둬야해요. 숫자를 저장해두지 않았다면 0부터 다시 시작해야 하기 때문이죠. 사실 이 코딩은 굉장히 중요합니다. 우리가 게임을 실행할 때마다 매번 내 점수와 기록이 초기화된다면 게임을 재밌게 지속적으로 할 수 없겠죠? 이번 코딩을 잘 배워두시면 앞으로 만드실 게임이나 앱 제작에 큰 도움이 될 거에요.

 

이제 시작해봅시다! 지난 시간 코딩에서 이어집니다.

 

1. 디자이너화면

 

타이니디비를 사용해요

왼쪽 상단 검색창에 tiny db를 입력해서 나오는 Tiny DB를 가운데에 끌어다 놓아주세요. Tiny DB는 각종 데이터를 핸드폰에 저장할 때 사용하는 저장소입니다.

 

디자이너 화면 설정은 여기에서 끝.

 


 

 

2. 블록코딩화면

1) 변수를 저장하기

일단, 우리가 저장해야할 내용은 무엇이죠? 바로 '터치당한횟수'입니다.

그러므로 Tiny DB 블록들 중에서 call Tiny_DB1 Store Value 블록을 끌어다가 끼워넣습니다.

그리고 저장할 내용인 value To Store에 '터치당한횟수'변수 블록을 꽂아넣어요.

 

store value 블록을 사용해서 저장해요

 

Tiny_DB1을 불러와 값을 저장해줘

tag는 터치값

저장할 내용은 터치당한횟수

 

그리고 tag를 달아주어야 합니다. tag란 저장된 값의 이름입니다. 이 부분이 처음 배우시는 분들에게는 낯설 거에요. 이렇게 생각하면 쉬워요.

 

tag : value to store

딸기값 : 100원

포도값 : 200원

사과값 : 100원

 

그냥 100원이라고 부르면 우리는 그게 무엇에 해당하는 값인지 알 수 없잖아요? 또 똑같은 값이 있기도 하고요. 그래서 100원은 딸기값, 200원은 포도값, 100원은 사과값 이렇게 각자 이름을 달아주는 것입니다.

손님이 딸기 1개, 사과 1개를 산다면 우리는 딸기값에 해당하는 100원과 사과값에 해당하는 100원을 불러와, 총 200원을 결제할 것입니다. 

 

 

값에 이름을 단다? 일상생활에서 우리가 물건을 먼저 생각하고 그에 해당하는 값을 떠올리는 것으로 생각의 흐름이 이어지기 때문에 이 부분이 처음에는 약간 이해가 안될 수도 있어요. 반대로 생각해보세요. 100원, 200원, 100원, 1000원 같은 값들이 마구 늘어져 있다고 생각하고, 그 가격들 하나하나에 이름을 달아주는 것으로 뒤집어서 생각해보세요.

 

 

저는 tag를 '터치값'이라고 정했어요. 이제 '터치값'이라는 이름표에는 '터치당한횟수'인 숫자가 저장될 것입니다. 그리고 '터치값'이라고 부르면 '터치당한횟수'가 나오는 것이죠. 변수이름은 어떻게 지어도 상관없어요. '터치당한횟수'라고 변수와 똑같이 지어도 됩니다.

 

tag : value to store

터치값 : 터치당한횟수

 


 

2) 앱이 시작될 때 저장된 값 불러오기

이제 앱이 꺼졌다가 다시 켜질 때, 저장된 숫자를 불러오기 위한 코딩을 해야합니다. 앱이 최초로 실행될 때는 0이라는 숫자를 보여주고, 한 번이라도 터치가 발생해서 숫자가 변경된 적이 있었다면 그 숫자를 불러와야합니다.

Initialize 블록을 사용해요

이 때는 Screen1에 있는 Initialize블록을 사용합니다. 그리고

'터치당한횟수' 변수에 Tiny DB의 call Tiny_DB1Get Value블록을 끼워넣습니다.

tag에는 '터치값'이라고 적어, 불러올 값이 이전에 저장해 둔 '터치당한횟수'임을 알려줍니다.

value If Tag Not There에는 0을 넣어, 값이 없으면 그냥 0을 표기하게 합니다.

그리고 Label1 Text에 그 '터치당한횟수' 변수를 표기하도록 합니다.

 

Screen1이 켜지면

터치당한횟수 변수는 Tiny_DB1를 불러와서 그 안에 저장된 tag '터치값'에 해당하는 값으로 바꿔줘, 없으면 0 을 띄워

Label1 Text에서 보여줘 터치당한횟수 변수를

 


 

3) 최종 전체코딩

 

앱이 꺼져도 숫자를 저장해줘요

 

짜잔! 이렇게 코딩하면, 터치하면서 변한 숫자를 앱을 꺼도 그대로 저장하고 있답니다. Tiny DB의 저장값은 핸드폰 기기 자체에 저장됩니다. 인터넷 서버에 저장되는 것이 아니기 때문에 핸드폰에서 앱을 아예 삭제하면 그 값도 지워진답니다. 

 


 

 

3. 결과 확인

5에서 한번 껐다가 켜고, 21에서 한번 껐다가 켜봤습니다. 그 때마다 저장해놓은 값이 잘 나타나네요. 

 


 

이번 시간에는 Tiny DB를 이용하여, 앱의 값을 저장하는 방법을 배워봤습니다. 런닝맨을 보다가 코딩까지 배워보게 되었는데요, 방송에도 활용되는 코딩을 본인이 직접 구현해볼 수 있다니 더 재밌지 않나요?

 

 

Tiny DB는 코딩에서 정말 핵심적인 기능 중에 하나랍니다. 사용자 정보를 저장하기도하고, 게임 레벨을 저장하기도 하고, 리스트 내용을 저장하기도 하는 등 저장할 때는 꼭 이 친구가 필요해요. 처음에는 어렵고 낯설겠지만, 스스로 계속 코딩을 해보면서 틀려보기도하고, 오류도 수정하다보면, 이 친구를 유용하게 자유자재로 사용할 수 있게 될 거에요.

 

 

이번 시간에도 수고 많으셨습니다. 앞으로도 파이팅!

 

댓글