옮긴이의 말 / 김지원 ... 4 저자 서문 / 지닌 마이어 ... 6 저자 소개 ... 8 대상 독자 ... 9 책의 구성 ... 10 소스 코드 규칙 ... 11 감사의 글 ... 12 1장 기초 학습 1-1. 소개 ... 20 1-2. 사전 준비 ... 22 1-3. HTML5, CSS, 자바스크립트의 기능 ... 22 HTML의 기본 구조와 태그 ... 23 자바스크립트 사용법 ... 31 1-4. 프로그램 구현과 응용 ... 33 1-5. 검사해서 올리기 ... 40 1-6. 1장을 한 눈에 ... 41 2장 주사위 게임 2-1. 소개 ... 44 2-2. 사전 준비 ... 46 2-3. HTML5, CSS, 자바스크립트의 기능 ... 47 의사 난수 처리와 수식 ... 47 변수와 대입문 ... 49 사용자 정의 함수 ... 51 조건문 if와 switch ... 52 캔버스에 그리기 ... 56 2-4. 프로그램 구현과 응용 ... 67 주사위 한 개 던지기 ... 69 주사위 두 개 던지기 ... 75 완성된 크랩스 게임 ... 80 2-5. 검사해서 올리기 ... 88 2-6. 2장을 한 눈에 ... 89 3장 공 튀기기 3-1. 소개 ... 92 3-2. 사전 준비 ... 94 3-3. HTML5, CSS, 자바스크립트의 기능 ... 95 공, 그림, 그레이디언트 그리기 ... 95 3-4. 프로그램 구현과 응용 ... 110 3-5. 검사해서 올리기 ... 122 3-6. 3장을 한 눈에 ... 122 4장 캐논볼과 슬링샷 4-1. 소개 ... 124 4-2. 사전 준비 ... 127 4-3. HTML5, CSS, 자바스크립트의 기능 ... 128 배열과 사용자 정의 객체 ... 128 그림의 회전과 평행이동 ... 130 선분 그리기 ... 135 새총을 당길 때의 마우스 이벤트 ... 136 표시 항목 변경을 위해 배열의 splice 함수 사용 ... 139 점 간의 거리 ... 140 4-4. 프로그램 구현과 응용 ... 141 캐논볼 : 대포, 각도, 속도 ... 146 슬링샷 : 마우스 이벤트 값을 비행 매개변수에 할당 ... 153 4-5. 검사해서 올리기 ... 161 4-6. 4장을 한 눈에 ... 162 5장 짝맞추기 게임 5-1. 소개 ... 164 5-2. 사전 준비 ... 168 5-3. HTML5, CSS, 자바스크립트의 기능 ... 169 카드 보여주기 ... 169 Date를 이용한 시간 측정 ... 171 일시 정지 효과 넣기 ... 172 글자 그리기 ... 173 다각형 그리기 ... 175 카드 섞기 ... 176 카드 클릭 기능 구현 ... 177 부정행위 방지 ... 179 5-4. 프로그램 구현과 응용 ... 180 5-5. 검사해서 올리기 ... 195 5-6. 5장을 한 눈에 ... 196 6장 퀴즈 6-1. 소개 ... 198 6-2. 사전 준비 ... 202 6-3. HTML5, CSS, 자바스크립트의 기능 ... 203 배열에 정보 저장하기와 가져오기 ... 203 프로그램 실행 중에 동적으로 HTML 생성하기 ... 206 자바스크립트 코드로 CSS를 수정해서 요소 변화시키기 ... 209 form과 input 요소로 글자 피드백 구현 ... 211 동영상 보여주기 ... 212 6-4. 프로그램 구현과 응용 ... 215 6-5 검사해서 올리기 ... 228 6-6. 6장을 한 눈에 ... 229 7장 미로 7-1. 소개 ... 232 7-2. 사전 준비 ... 237 7-3. HTML5, CSS, 자바스크립트의 기능 ... 237 벽과 토큰 표시 ... 238 벽을 그리고 배치하는 마우스 이벤트 ... 239 화살표 키 감지 ... 239 토큰과 벽의 충돌 감지 ... 242 로컬 저장소 이용 ... 245 로컬 저장소에 저장할 데이터 인코딩 ... 251 라디오 버튼 ... 253 7-4. 프로그램 구현과 응용 ... 254 미로 2탄 제작 ... 263 7-5. 검사해서 올리기 ... 272 7-6 .7장을 한 눈에 ... 273 8장 가위바위보 8-1. 소개 ... 276 8-2. 사전 준비 ... 279 8-3. HTML5, CSS, 자바스크립트의 기능 ... 280 게임 참여자가 선택할 수 있는 그림 버튼 넣기 ... 280 컴퓨터 측 동작 생성 ... 285 프로그램 시동 ... 290 8-4. 프로그램 구현과 응용 ... 296 8-5. 검사해서 올리기 ... 303 8-6. 8장을 한 눈에 ... 304 9장 행맨 9-1. 소개 ... 306 9-2. 사전 준비 ... 312 9-3. HTML5, CSS, 자바스크립트의 기능 ... 313 단어 목록을 외부 스크립트 파일에 정의된 배열로 저장 ... 313 HTML 요소를 생성하고 배치한 후 버튼처럼 만들고 불용화하기 ... 314 캔버스에 단계적으로 그림을 생성 ... 317 게임 상태 유지와 승패 판단 ... 320 알아맞힌 알파벳을 검사하고 textContent를 할당해서 문제 단어의 알파벳 공개하기 ... 321 9-4. 프로그램 구현과 응용 ... 322 9-5. 검사해서 올리기 ... 332 9-6. 9장을 한 눈에 ... 332 10장 블랙잭 10-1. 소개 ... 334 10-2. 사전 준비 ... 339 10-3. HTML5, CSS, 자바스크립트의 기능 ... 340 카드 앞면 그림의 출처, Image 객체 설정 ... 340 카드 사용자 정의 객체 생성 ... 342 패 돌리기 ... 343 카드 섞기 ... 347 키 눌림 감지 ... 348 header와 footer 요소사용 ... 350 10-4. 프로그램 구현과 응용 ... 351 10-5. 검사해서 올리기 ... 361 10-6. 10장을 한 눈에 ... 362 부록 사례로 보는 HTML5 게임 1 Pacman ... 364 2 Pirates Love Daisies ... 365 3 VIRION ... 366 4 Biolab Disaster ... 367 5 Robot Are People Too ... 368 6 Mo-Jump ... 369 7 jQuery Racing ... 370 8 벽돌깨기 ... 371 9 Touch Solita ... 372 10 Etchaphysics ... 373 11 Quake 2 ... 374 12 요약 ... 375 Index ... 376