PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지. PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지.

Slides:



Advertisements
Similar presentations
Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ ’ ( 금 ) ~ ( 목 ) / 15 개 시・군 대한체육회 / 도, 교육청, 도체육회 47 개 종목 / 32 천명 ’ ( 금 ) ~ ( 화 ) / 9 개 시・군 대한장애인체육회 / 도,
Advertisements

만우절의 우주피스 공화국 Sound on 해마다 만우절이 되면 가고 싶은 곳이 있어. 유럽의 서쪽 발트해안에 자리잡은 리투아니아 수도 빌뉴스... 즐비한 바로크 시대 건물들.. 그 구 시가지를 따라 흐르는 빌니아 (Vilnia) 강.. 사실 강이라지만 실개천에 불과한데.
본 문서의 저작권은 ㈜한백전자에 있으며, 허락 없이 무단 복제 및 전제를 불허합니다. ㈜한백전자 교육사업부 4장 리소스 테스트.
심폐 소생술, 죽어가는 사람을 살리는 4분의 기적.
쉽게 해결하는 농어촌출신대학생 학자금 융자
□ 2009년 상반기 결산 및 하반기 계획 (상반기결산) 인터넷 선교분과
고교 자유학년제 오디세이학교 교육과정 및 학생 모집.
업무 프로세스 및 체크리스트
포사체 실험 1조 김민수 전수진 이예연 오혜윤 최지수.
CHAPTER 11. 자바스크립트와 캔버스로 게임만들기.
모바일 홈페이지 제작 발 표 일 : 2012년 11월 28일 발 표 자 : 07’ 김 동 희.
행복한 부자교실 16기 8조 성동구 성수동 답사 결과 12월 22일 발표.
System.Windows.Forms 윈도우 폼 SD50 – C# & .NET Platform.
인천시 부평구 청천동 425번지 우림라이온스 B동 307호
발주시스템 Process 1.  ‘발주시스템 Manual’ 검토 후 회원가입 ( 홈페이지 주소 : )
홈페이지 자동 구축 솔루션 K2 Web WIZARD 2.6 관리자 메뉴얼
컴포넌트 (Component)
PART 01 총 론 제9장 한국 사회복지법제의 형성과 발전.
멀티미디어 기본+활용 제대로 배우기.
프로시저 와 인수전달 컴퓨터응용 및 실습 I.
1 PROJECT TITLE 기획 PAGE NO. 웹 페이지 구성 화 면 번호 화 면 설 명 연 결 화 면 L1 L4 L7
2017년 하계 경성 프로그래밍 교육 (5/5) 경성대학교 공과대학 소프트웨어 학과.
PART 1 앱 인벤터 프로젝트 01 안녕 야옹이. PART 1 앱 인벤터 프로젝트 01 안녕 야옹이.
명품 웹 프로그래밍.
MIDP UI API.
JSON-RPC 서버 만들기 11장 Do it! Node.js 프로그래밍 이지스퍼블리싱 제공 강의 교안 2017/03
설계및프로젝트기본I 2017년 1학기(02분반).
동영상 편집은 사용하기 쉬운 Premiere Pro가 좋다.
이벤트(Event) 처리하기 윈도우 프로그램에서는 이벤트를 통하여 실행 중인 프로그램에게 사용자의 요구사항을 알린다.
6.3 툴바와 이미지 리스트 사용하기.
광고 심리학 – 노출의 전략 강정국.
Visual Basic 기초 1 목표: 컴퓨터기반제어에 관련된 학습을 하기 전에 Visual Basic의 기초를 살펴본다.
Visual Basic 반복문.
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
4. 도표 다루기.
Web & Internet [06] CSS3 응용과 레이아웃
모두가 행복한 교육, 미래를 여는 창의인재 2015 개정교육과정 서울숭인초등학교 교사 이소정.
6.4/5/6 상태표시줄 등 6.4 상태표시줄 사용하기 6.5 진행표시바 사용하기 6.6 슬라이더 사용하기
문서작성에 사용되는 기본태그 MARQUEE, A.
비주얼 프로그래밍 1분반 화/목.
두근두근 파이썬 수업 11장 파일을 사용해봅시다..
컴퓨터 그래픽 I 영화 홍보 사이트 분석 과목 : 컴퓨터 그래픽 I 담당교수 : 손애경 교수님 학과 : 정보처리과 1반(A1)
[INA470] Java Programming Youn-Hee Han
제목을 입력해 주세요 ┗ SUB TITLE을 입력해 주세요 홍길동.
북한 이탈 주민 실태와 문제점 Part 0 탈북자 인권 현대 사회 인권 조선해양 공학부 정세용
사업계획서.
제 4 장 클래스 작성 Lab 4- 2.
마이페이지(사회공헌대표계정) PCK 통합 프로젝트 Date / Version Prepared by
Chapter03 HTML 포토앨범 만들기
Drag Panel Extender 정보통신 공학부 어현승.
수정사항 → 수정 및 추가 → 삭제.
담당 : 황기태 교수님 학번 : ㈜ 이름 : 조성대 제출 :
선의관악종합사회복지관 김정현.
콘텐츠 디자인 황아현.
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
자바 프로그래밍 Thread를 이용한 애니메이션 서울호서전문학교 게임프로그램개발과.
Part 정비사업의 절차 1 ※ : 도시주거환경정비기본계획 도시·주거환경 정비계획(안) 작성 도시·주거환경정비 기본계획 수립
조직도.
주택행정 도시행정론.
Report #4 (1) (due 4/4) 문제 #1 3개의 막대 A, B, C와 원판 n개를 전달받아 Hanoi 탑 문제를 해결하는데 필요한 원판의 이동 회수를 구하여 반환하는 hanoi_tower(n, A, B, C)를 작성하라. 여기서 원판 n은 막대 A에 쌓여 있고.
용인송담대학교 LMS (교수모드) Version 1.0.
PART 1 앱 인벤터 프로젝트 04 운전 중 문자 금지. PART 1 앱 인벤터 프로젝트 04 운전 중 문자 금지.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
SMARTsuite7 TO 년 2월.
ViewInfo System 소개 - Video Conference - Video Monitoring
Web & Internet [10] 입문 – input 태그
2011년 12월 16 일 대강절 셋재주 주일낮예배.
남자의피부의 고민을 한번에 싹~ 해결해주는 옴므라인
Visual Basic .NET 윈도우 컨트롤 2.
Sound on 아름다운 인생을 위하여 ‘러브 북’ 중에서.
Presentation transcript:

PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지

두더지 잡기 게임 추억의 게임기 앱 인벤터로 개발해보자. 동전 넣고 하는 ‘두더지 잡기 게임기’ 구멍에서 튀어나오는 두더지 머리 맞추어 점 수 얻는 게임기 앱 인벤터로 개발해보자. 1970년대에 고안된 스프라이트 기능 엘렌 스퍼투스 (이 책의 저자 중 한 명)가 앱 인벤터에 ImageSprite 컴포넌트 추가함 이 장에서는 Canvas, ImageSprite, Clock 컴 포넌트 등을 이용하여 <두더지 잡기 > 앱을 개발

무엇을 개발하는가? <두더지 잡기> 앱에서 개발하는 기능들 두더지가 화면의 임의 위치에 나타나면 1초에 한 번씩 이동 두더지를 맞추면 폰이 진동하며 “맞춤” 레이블 증가. 두더지는 즉시 다른 곳으로 이동 두더지를 놓치면 “놓침” 레이블 증가 [다시 하기] 버튼 누르면 점수가 0으로 초기화됨

무엇을 배우는가? <두더지 잡기> 앱을 만들며 배우는 것들 터치하면 알아차리고, 이곳저곳 옮겨 다닐 수 있는 ImageSprite 컴포넌트 ImageSprite가 옮겨다니는 공간을 제공하는 Canvas 컴포넌트 스프라이트가 이동하는 시간 간격을 재는 Clock 컴포넌트 두더지를 맞추면 폰을 진동시키는 Sound 컴포넌트 누르면 새로운 게임이 시작되는 Button 컴포넌트 두더지 이동과 같이 반복되는 일을 지원하는 프로시저 난수 생성 덧셈과 뺄셈을 계산해 주는 블록

프로젝트 생성 프로젝트 만들고, 라이브 테스팅 연결 두더지 이미지 업로드 프로젝트 이름은 “MoleMash” Screen1의 Title 속성은 “두더지 잡기” 두더지 이미지 업로드 http:// appinventor.org/bookFiles/MoleMash/mole.png에서 두더지 이미지 다운로드 Media 영역에서 [Upload File ..]을 클릭하여 파일을 앱 인벤터에 업로드

컴포넌트 설계

동작 관련 컴포넌트 추가하기 절차 Canvas 컴포넌트 끌어오기  Canvas1이 라는 이름을 캔버스1로 바꿈 ImageSprite 컴포넌트 끌어오기  이름을 두더지로 바꿈 Button 컴포넌트 끌어오기  이름을 리셋 버튼으로 바꿈 Clock 컴포넌트 끌어오기  이름을 클록1 로 바꿈 Sound 컴포넌트 끌어오기  이름을 사운 드1로 바꿈

레이블 컴포넌트 추가하기 절차 HorizontalArrangement 컴포넌트 끌 어오기 Label 컴포넌트 두 개를 끌어와 수평 배치 (“맞춤” 용) Label 컴포넌트 두 개를 끌어와 수평 배치 (“놓침” 용)

컴포넌트 동작 프로그래밍 할 일들 두더지를 1초에 한 번씩 화면의 임의 위치로 옮겨줌 사용자가 화면을 터치할 때마다 두더지를 맞추었는지 확인 결과에 따라 맞춤 또는 놓침 횟수를 갱신 [다시 하기] 버튼을 누르면 점수를 0으로 초기화

두더지 이동시키기 지금까지는 앱 인벤터가 제공하는 내장 프로시저 사용 해결책 예) 폰을 떨게 하는 Vibrate 프로시저, 원을 그려주는 DrawCircle 프로시저 ImageSprite를 임의 위치로 옮겨주는 내장 프로시저는 없음  프로그래머가 스스로 프 로시저를 만드는 기능 제공 해결책 두더지이동이라는 프로시저를 작성 1초에 한 번씩 두더지이동 프로시저를 호출함

두더지이동 프로시저 작성하기 먼저 안드로이드 폰의 그래픽을 이해하자. Canvas의 x(수평) 축은 오른쪽으로 갈수록 증가, y(수평) 축은 아래로 내려갈수록 증가 좌표 범위: x 축은 0~Canvas.Width-1, y 축은 0~Canvas.Height-1 두더지가 Canvas 밖으로 나가지 않으려면, x 좌표는 0~캔버스1.Width-두더지.Width 범 위, y 좌표는 0~캔버스1.Height-두더지.Height 범위이어야 함

두더지이동 프로시저 작성하기 두더지이동 프로시저 작성 절차 Procedure 서랍을 연다. to procedure 블록 끌어오기 프로시저 이름을 두더지이동으로 바꾸기 call 두더지.MoveTo 블록을 끌어와 두더지이동 블록의 do 홈에 끼움 x 좌표를 0~캔버스1.Width-두더지.Width까지 범위의 난수로 설정 y 좌표를 0~캔버스1.Height-두더지.Height까지 범위의 난수로 설정

앱이 시작될 때 두더지이동 호출하기 사용자는 앱이 시작하면 화면에 무엇인가 등장하길 기대함 절차 Screen1.Initialize는 앱이 시작될 때 자동으로 실행되는 이벤트 처리기 블록 여기에서 두더지이동 프로시저를 호출하여 사용자 기대에 부응해보자. 절차 Screen1 서랍에서 Screen1.Initialize 블록을 끌어옴 Procedure 서랍을 열고 call 두더지이동 블록을 끌어와 Screen1.Initialize에 끼움

1초마다 두더지이동 호출하기 Clock 컴포넌트에 대한 이해 절차 Enabled 속성이 true로 설정되어 있는 한 TimerInterval 속성을 주기로 반복 실행됨 TimerInterval은 밀리초 단위로서, 기본값은 1000(1초)으로 설정됨 절차 클록1 서랍에서 클록1.Timer 블록 끌어오기 Procedure 서랍에서 call 두더지이동 블록을 끌어와 클록1.Timer에 끼움

점수 매기기 사용자가 두더지를 맞추었는지 검사하는 방법 절차 사용자가 터치한 곳과 두더지 위치가 일치하는지 검사해야 함 Canvas.Touched 블록은 자동으로 검사하여 touchedAnySprite라는 매개변수에 저장해둠 절차 캔버스1 서랍에서 캔버스1.Touched 블록 끌어오기 Control 서랍에서 if-then 블록을 꺼내옴  파란 아이콘을 클릭하여 else 추가한 다음 if-then-else 블록을 캔버스1.Touched 블록에 끼움

점수 매기기 절차 get touchedAnySprite 블록을 끄집어 if-then-else의 if 홈에 끼움 then에서 맞춤횟수레이블.Text를 1만큼 증가시킴 else에서 맞놓침횟수레이블.Text를 1만큼 증가시킴

프로시저 추상화 프로시저 추상화 프로시저 추상화의 장점 명령어 집합을 묶어 이름을 붙이고, 나중에 필요할 때 호출해 사용하는 방식  컴퓨터 공학에서 매우 중요한 개념 프로시저를 개발하는 사람과 사용하는 사람이 다른 경우가 대부분 구체적인 내부 동작 원리를 몰라도 사용할 수 있음  추상화라는 용어를 사용하는 이유 모든 공학 분야가 추상화 사용: 예) 자동차 제작 과정과 운전 과정 프로시저 추상화의 장점 프로그램 테스트가 쉬움 코드에 오류가 있을 때 한 곳만 수정 프로그램 기능 개선할 때 한 곳만 수정 라이브러리 제작 분할 정복 전략 구사 문서화 용이

점수 초기화

두더지를 맞추었을 때 폰 진동시키기

전체 앱 프로그램

확장해 보기