티스토리 뷰



12월 16일 (토) 


교내 교육 봉사 프로그램인 Hello Coding에 참여했다.

헬로 코딩은 저소득층 아이들, 중학생들을 상대로 1대 1 멘토, 멘티로코딩교육을 하는 프로그램이다.


나는 동아리 TeamLog 소속으로 이 프로그램에 참여했다.

주제는 '마인크래프트로 배우는 파이썬 프로그래밍' 이다.


이 것은 책으로 만들어져 있다.


마인크래프트로 배우는 파이썬 프로그래밍 pdf에 대한 이미지 검색결과


우리 동아리에선 이 책을 공부하여 코딩을 처음 접하거나 할 줄 알더라도 초보자 친구들에게

좀 더 쉽게 코딩을 배울 수 있게 노력하였다. 

그리고 마인크래프트는 7개의 정품을 이용하였다. (예산으로 사줌)


나는 봉사를 위해 동아리에서 근 2개월 파이썬 공부를 하였고, 

이 책에 소개 되어있는 모듈을 이용하여 마인크래프트에서 다양한 것을 해보았다.


헬로코딩은 10시 ~ 6시 8시간 동안 진행이 되었고, 우리 동아리는

파이썬 변수 선언, 입출력, 조건문 을 이용해 마인크래프트로 건물 짓기, 또한 random 모듈을 이용해 random한 블록 짓기 등  6시간 정도 파이썬 교육을 하고 마지막엔 멘토와 함께 프로젝트를 하는 시간을 가졌다.


1대1 멘토, 멘티로 진행되었던 이 수업에서, 내 멘티는 초6 학생이였다.

그 친구는 혼자서 스크래치를 독학하였다고 했다. 

그래도 스크래치를 알아서 수업동안 많이 이해를 했던 친구다.


마지막 프로젝트 시간에, 내 멘티는 배운 것을 응용하여 1번 누르면 정사각형을 출력하고 2번을 누르면 정삼각형, 3번을 누르면 속이 빈 정육면체를 출력하자고 했다.


그 친구가 하루만에 프로젝트를 하는 것은 무리이기에 내가 많이 도와줬다.


정삼각형 구현할 때 알고리즘이 생각이 안나서 쪽팔렸다. 그래서 그림그리면서 했다..ㅎ


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
31
32
33
34
35
from mcpi.minecraft import Minecraft
import random
 
mc = Minecraft.create()
 
 
blockType = 1
 
 
while(1):
    
    a = int(input("1. 정사각형 출력, 2. 정삼각형 출력, 3. 정육면체 출력 : "))
    
    if(a==1):
        pos = mc.player.getTilePos()
        mc.setBlocks(pos.x,pos.y+5,pos.z,pos.x+10,pos.y+15,pos.z, blockType)
 
    elif(a==2):
        pos = mc.player.getTilePos()
        mc.setBlocks(pos.x+1,pos.y+5,pos.z,pos.x+19,pos.y+5,pos.z, blockType)
        mc.setBlocks(pos.x+2,pos.y+5,pos.z,pos.x+18,pos.y+6,pos.z, blockType)
        mc.setBlocks(pos.x+3,pos.y+5,pos.z,pos.x+17,pos.y+7,pos.z, blockType)
        mc.setBlocks(pos.x+4,pos.y+5,pos.z,pos.x+16,pos.y+8,pos.z, blockType)
        mc.setBlocks(pos.x+5,pos.y+5,pos.z,pos.x+15,pos.y+9,pos.z, blockType)
        mc.setBlocks(pos.x+6,pos.y+5,pos.z,pos.x+14,pos.y+10,pos.z, blockType)
        mc.setBlocks(pos.x+7,pos.y+5,pos.z,pos.x+13,pos.y+11,pos.z, blockType)
        mc.setBlocks(pos.x+8,pos.y+5,pos.z,pos.x+12,pos.y+12,pos.z, blockType)
        mc.setBlocks(pos.x+9,pos.y+5,pos.z,pos.x+11,pos.y+13,pos.z, blockType)
        mc.setBlocks(pos.x+10,pos.y+5,pos.z,pos.x+10,pos.y+14,pos.z, blockType)
 
    elif(a==3):
        pos = mc.player.getTilePos()
        mc.setBlocks(pos.x,pos.y+5,pos.z,pos.x+10,pos.y+15,pos.z+10, blockType)
        mc.setBlocks(pos.x+1,pos.y+6,pos.z+1,pos.x+9,pos.y+14,pos.z+90)
 
cs

반복문을 배우지 않았기 때문에 반복문을 사용하지 않았다. 그래서 코드가 좀 보기 어렵다.

 mc.player.getTilePos()함수는 플레이어의 현 위치 좌표 값을 불러오는 함수이다.

mc.setBlocks()함수는 블럭들을 설치해주는 함수이다.


실행을 시키면


while(1) 무한반복을 이용했기 때문에 입력을 계속 받는다.


1을 입력하면,



정사각형이 출력된다.



2를 입력하면,



정삼각형이라고 하기는 그렇지만, 피라미드형 삼각형이 출력된다.




3을 입력하면,




정육면체가 출력된다. 물론 속은 공기로 채웠기 때문에 빈 공간으로 존재 한다.




교육봉사는 처음이였는데, 내 전공을 살려서 봉사를 할 수 있어서 정말 뿌듯했다.

8시간동안 힘들어서 집에 가자마자 뻗었다..

앞으로도 전공을 살려서 봉사를 하고싶다. 이번 방학 때도 교육봉사를 한다 ㅎ


멘티들도 재밌게 참여해줬는데 파이썬 언어에 대해 알차게 배워간 것 같아 기분이 좋았다.

그리고 파이썬 공부를 열심히 해야겠다.


좋은 기회를 만들어 준 교내 부 동아리 헬로코딩 측에게 고맙다.


Comments