가상의 미로를 만들고 현재 방향에 따른 '앞으로 가기',
'왼쪽으로 돌기', '오른쪽으로 돌기'를 구현해야 한다.
어렵다면 어렵고, 쉽다면 쉬울 수 있다. 코드를 작성하면서
어려웠던 건 블록코드를 이용하여 2차원 배열을 만들고
사용하는데 많이 불편했다. 아래 사진들을 보면 알 수 있다.


미로 = [[1, 0, 1, 1, 1], 
        [1, 1, 1, 0, 1], 
        [1, 0, 0, 0, 1], 
        [1, 1, 1, 0, 1], 
        [0, 0, 1, 1, 1]]
        
if (현재위치[0] - 1 >= 0 && 미로[현재위치[0] - 1][현재위치[1]] == 1) {
    LED끄기()
    현재위치[0] = 현재위치[0] - 1
    LED켜기()
    return
}

 

그래서 큰 틀은 블록코드로 작성하고, 복잡하거나 반복적인 부분은
자바스크립트 또는 파이썬 코드로 작성하면 좋다.

 

가상의 미로(5X5)는 2차원 배열로 지나다닐 수 있는 곳은 1로, 벽은 0으로
만들고 '현재위치'와 '현재방향'을 저장할 수 있는 변수도 만든다.

 

여기서 현재 방향에 따른 '앞으로 가기', '왼쪽으로 돌기', '오른쪽으로 돌기'를
구현하는 게 핵심이다. 방향은 동, 서, 남, 북이 있다.

남, 북 방향은 행 방향으로 이동하고
동, 서 방향은 열 빙향으로 이동한다.

 

현재 방향이 남쪽이 경우
'왼쪽으로 돌기'를 하면, 서, 북, 동, 남 순으로 방향이 변하고
'오른쪽으로 돌기'를 하면 동, 북, 서, 남 순으로 방향이 변한다.

 

북, 동, 남, 서 -> 0, 1, 2, 3

if (현재방향 == 0) {
    // 북쪽 위로 이동
    if (현재위치[0] - 1 >= 0 && 미로[현재위치[0] - 1][현재위치[1]] == 1) {
        LED끄기()
        현재위치[0] = 현재위치[0] - 1
        LED켜기()
        return
    }
}

위 코드를 설명하자면, 현재 방향이 북쪽이고, 앞으로 가기 동작을 할 경우
"앞으로 가야 할 곳이 미로 경계선 안에 있어야 하고,
앞으로 가야 할 곳이 길이면 현재 방향으로 이동 한다."를
코드로 작성한 것이다.

 

아래의 링크에서 블록코드와 자바스크립트&파이썬 코드를 확인할 수 있다.

makecode.microbit.org/_eqy7dH6xiTMq

 

미로찾기_구현하기

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,
 

전자부품쇼핑몰 아이씨뱅큐 - 전자부품, 오픈소스 하드웨어의 모든 것

국내최대 전자부품쇼핑몰로 아두이노, 마이크로비트, 라즈베리파이, LCD부품, 코딩교육키트 등 판매 및 PCB/SMT주문임가공 서비스를 제공.

www.icbanq.com

 

TPBot Car Kit : 마이크로 비트 용 스마트 카 로봇 키트 (마이크로 비트 보드 미포함) : 마이크로비

TPBot micro : bit 프로그래밍이 가능한 스마트 카는 아이들의 상상력과 창의력을 자극하는 교육 도구입니다! - 65100원 국내 최대 전자부품 전문 쇼핑몰 - 아이씨뱅큐

www.icbanq.com

본 체험 제품은 아이씨뱅큐㈜ 에서 진행하는 무상 체험단 활동으로 작성한 것입니다.

 

 

최근에 아이들과 TPbot을 가지고 게임을 했어요.
아직 코딩보다는 가지고 노는 걸 좋아해서 '파이프 드림'이라는
게임을 조금 변형해서 같이 했어요.

 

'파이프 드림'이란 게임은 순서대로 표시되는 파이프를 이용하여
시작과 끝을 연결하는 게임이에요. 그래서 직접 만들어 봤는데,
쉽지가 않았어요 ㅠㅠ.

 

 

[게인판] 게임판 완성!

아래는 문제 수정전의 게임판이다! 프린터로 출력해서 깔끔하다. 문제는 검은색 라인 인식이 안된다. 여러 가지 해결 방법 중에 하나인 검은 비닐 테이프로 검정 라인 위에 붙였다. 붙이고 한 번

bonghanwith.tistory.com

 

[게임판] 게임판 - TPBot에서 인식 안되는 프린터 검정 잉크 해결

오늘 마이크로비트 단톡방에 도움을 요청했다. 1. 더 진하게 출력 - 진하게 출력하면 잉크만 더 들뿐 인식 안됨. 2. 검정 절연 테이프 이용 - 정말 잘 인식됨. 3. 검정 테이프 - 혹시나 구매해서 해

bonghanwith.tistory.com

 

 

[게임판] 게임판 - 프린터로 라인 맵을 출력했는데......

기본적인 게인판에 철판 및 네오디움 자석을 다 붙여서 작업하고, 그 위에 라인만 출력해서 붙이면 되는데...... 인식을 안 한다!!!!!!!!!!!!!!!!!!!!!!!!!!! 거리를 가까이하면 인식한다. 그러나 TPBot는

bonghanwith.tistory.com

위 글처럼 집에 있는 잉크젯으로 맵을 만들었는데 TPBot이 인식도 못하고,
네오디움 자석을 너무 작은걸 써서 붙긴 붙는데 내가 원하는 만큼의
붙는 힘이 아니였어요. 적어도 지름이 10mm 이상을 사용해야 돼요.

 

* TPBot의 엔터테인먼트 기능으로 아이들과 게임하기! *

7, 10살 아이들이라 게임판 위에 조각판을 이용하여
금방(-.-) 문제를 해결하고, 그 위에 몇 번 TPBot을 굴리더니
금방 호기심이 없어 지더라구요. 작은 아이가 게임에 지더니
졌다고 울기까지 했어요 ㅠㅠ. 5X5 크기가 작아서
문제 풀기가 쉬워서 금방 호기심이 없어졌나 봐요.

 

* TPBot과 joystick:bit를 이용하여 직접 동작시키기! *
직접 TPBot을 조종할 수 있게 joystick:bit에 micro:bit를 연결하고
블록코딩을 했어요. 아이들이 직접 할 수 있으면 좋겠지만......

이전 게임과 다른 건 알아서 길을 달렸던 TPBot과 달리 직접
조정을 해야되요. 이 부분은 작은 아이가 큰 아이보다
좋아했어요^^.

 

아래 링크는 실제 동작하는 블록 코드예요. 단순하게 TPBot에서 아이들이 좋아하는
상어 가족을 BGM으로 만들었어요. 그리고 단순하게 joystick:bit v2는 조종만
가능하게 했어요. 블록코드들을 직접 넣으려고 했는데 사이즈가 이상하게 돼서
프로젝트 공유 링크했어요.

 

 

TPBot 조종

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

 

 

조이스틱비트V2

Made with ❤️ in Microsoft MakeCode for micro:bit.

makecode.microbit.org

 

위 블록코드들을 만들려고 해당 제품 튜토리얼을 참고한 링크예요. 

 

13. Case 12: micro:bit Remote Control — micro bit tutorial

13.5. Exploration 13.6. FAQ Q: The car does not work with the code in the wiki. A: It should be the batteries that are lack of power, please try to fix it by adding the value of the speed in the code. 13.7. Relevant File

www.elecfreaks.com

 

15. Case 14: Remote Control with Joystick:bit — micro bit tutorial

Judge the value of x&y of the Joystick in the forever brick, if the value of the x is below 200, radio send number 4; if the value of the x is over 800, radio send number 3; if the value of the y is below 200, radio send number 2; if the value of the y ove

www.elecfreaks.com

아이들과 TPBot을 가지고 게임을 해보는 재미있는 시간을 보냈어요.
혼자서 게임판, 조각판, 블록코딩을 했는데, 아무래도 시간이 걸리더라도
전체를 아이들과 같이 하는 편이 좋겠다는 생각이 들더라고요^^.

 

그럼 'TPBot을 이용한 자유 미션' 기대해 주세요^^.

 

이전글 - 2021/01/20 - [EDU/TPBOT(TianPeng)] - [ICBANQ 나도체험단 체험단 54기] TPBot Cat Kit 개봉기

다음글 - 작성중 ...... TPbot을 이용한 자유 미션

 

 

마이크로비트 TP봇 공식 구입처 : 아이씨뱅큐 https://www.icbanq.com/
아이씨뱅큐 공식 카페 : https://cafe.naver.com/icbanq
아이씨뱅큐 공식 블로그 : https://blog.naver.com/icbanq
마이크로비트 공식 카페 : https://cafe.naver.com/bbcmicro
나도메이커 유튜브 채널 : https://www.youtube.com/user/ICbanQ

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,

내일이면 라그나 브레이크 시즌 26이 끝난다.

 

- 스토리 -

라그나 브레이크 시즌 26 스토리

여기서 마무리인 줄 알았는데 WOUNDED WINNER PART.3가 있다.
2시간짜리 스토리인데, 볼만 하다 --.--.

 

- ONE KILL 이벤트 -

그럼 게임으로 돌아와서! 어렵지 않게 ONE KILL 이벤트는 했다.
마아트를 파티 합류하여 차일드들이 죽지 않게만 하면 된다.
그 대신 딜러는 풀증해야 한다.

 

- TIME LIMIT -

TIME LIMIT 파티

초반에 보조형들의 이그니션 레벨이 낮고, 로키의 드라이브를 이겨내지 못하고
차일드들이 죽고, 2분 30초 만에 ONE KILL을 못했다. 

특히나 워울프의 '양남의 검' 스킬로 인해 방어력이 감소되어 더욱더 쉽게
로키 드라이브에 죽었다ㅠㅠ.

 

그래도 이것저것 바꾸고 레벨업 해서 딱 2분 30초에 ONE KILL, TIME LIMIT을 성공했다.

신캐 이브의 이그니션 레벨 8까지 하면 3명이던 보호막이 4명으로 늘리고, 유닛버프를
'보조형 아군의 스킬 쿨타임 -1초'로 리더버프를 이브로 하여, 필요한 스클을 빨리
쓰게 하고, 2분 30초 만에 3 피버 만들어서 했다. 그리고 '풀 오토'가 아닌 '매뉴얼' 모드로!
'풀 오토'를 할 경우 게이지가 차도 드라이브 스킬이 늦게 발동되어 TIME LIMIT을
성공할 수 없다.

 

- 라그나 버스트 -

나의 현재 라그나 버스트 현황
라그나 버스트 파티

초반에는 어찌어찌하여 레벨 5까지 클리어했는데, 레벨 6부터는
로키 드라이브에 추풍낙엽처럼 차일드들이 죽었다. 워울프 대신
마이트로 교체하니, 죽지 않고 버텨줘서 레벨 8까지 클리어!
지난번처럼 레벨 10까지 하고 싶었지만...... 초반에 레벨 5까지만 하고
포기한 덕에 티켓을 모으지 못했다...... 어쨌든 이번 라그나 브레이크는
만족한다.

반응형
블로그 이미지

두리뭉실2:해피파인더그룹

레고가 좋고~ PBL 매력에 빠졌으며~ 취미로 개발하는 두리둥실

,