HTML5

Similar documents
HTML5

HTML5

쉽게 풀어쓴 C 프로그래밍

e-비즈니스 전략 수립

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

PowerPoint Template

PowerPoint Presentation

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

<C3CA3520B0FAC7D0B1B3BBE7BFEB202E687770>

PHP & ASP

쉽게 풀어쓴 C 프로그래밍

HTML5

AMP는 어떻게 빠른 성능을 내나.key

PowerPoint 프레젠테이션

C H A P T E R 2

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

UI TASK & KEY EVENT

WEB HTML CSS Overview

HTML5

슬라이드 1

Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

쉽게 풀어쓴 C 프로그래밍

슬라이드 1

adfasdfasfdasfasfadf

슬라이드 1

Week8-Extra

Lab10

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

Front-Side 웹개발의이해 (CSS Basic) 1. CSS 란?

Prototype 분석 - Element 오브젝트 메서드

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

03장.스택.key

Microsoft Word - src.doc

PowerPoint 프레젠테이션

PowerPoint Template

PowerPoint 프레젠테이션

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

쉽게 풀어쓴 C 프로그래밍

Lab1

12¾ÈÇö°æ 1-155T304®¶ó

<3036B0AD D4C5F584D4C5FC0CEC5CDB3DDBAB8C3E6C7D0BDC0C0DAB7E12E687770>

- 이벤트의처리 <input type= button id= button1 value= 확인 /> <input type= button id= button2 value= 확인 /> 자바스크립트인경우 : document.getelementbyid( button1 ).oncl

PowerPoint Presentation

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

2파트-07

게임 기획서 표준양식 연구보고서

예스폼 프리미엄 템플릿

중간고사

PowerPoint 프레젠테이션

Overall Process

Javascript

하둡을이용한파일분산시스템 보안관리체제구현

Microsoft PowerPoint Predicates and Quantifiers.ppt

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

쉽게 풀어쓴 C 프로그래밍

HTML5

html5-(편집).hwp

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

펀드명 : 삼성 vul 혼합형 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 유가증권 선물 장내 누계 유가증권 선물 7,398 1,107 6,291 장내 합계

Microsoft PowerPoint - web-part02-ch16-이벤트.pptx

쉽게 풀어쓴 C 프로그래밍

Visual Basic 반복문

C스토어 사용자 매뉴얼

제8장 자바 GUI 프로그래밍 II

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

PowerPoint 프레젠테이션

프로덕트 아이덴티티의 유형별 특성에 관한 연구

PowerPoint 프레젠테이션

What Is CSS? Stands for Cascading Style Sheets. Is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. Styles define h

Building Mobile AR Web Applications in HTML5 - Google IO 2012

playnode.key

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Javascript

펀드명 : DB 지수연계리자드증권 NHE-3[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식 ELS 41

펀드명 : DB 지수연계리자드증권 NHE-4[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식 ELS 1,

Ÿ column-rule 속성은단사이의구분선을표현하기위한속성으로 column-rule-color, column-rule-style, column-rule-width 속성을한번에지정할수있다. 1.4 단의확장 Ÿ column-span 속성은다단을구성할때해당요소가얼마나많은단

step 1-1

1. 클래스와배열 int 형배열선언및초기화 int ary[5] = 1, 2, 3, 4, 5 ; for (int i = 0; i < 5; i++) cout << "ary[" << i << "] = " << ary[i] << endl; 5 장클래스의활용 1

펀드명 : DB 지수연계리자드 SHE-9 호 (USD)[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint - 04-UDP Programming.ppt

펀드명 : DB 지수연계리자드증권 NHE-4[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식 ELS 1,

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

OSP Stage 2040 <Plan & Elaboration> 유아를위한주제별영어학습놀이프로그램 T 김도희 박수민 + 김태현 1

펀드명 : DB 지수연계듀얼엑시트 29(USD)[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식 ELS

Chap 6: Graphs

Microsoft PowerPoint - ch07 - 포인터 pm0415

3장

펀드명 : DB 지수연계듀얼엑시트 26(USD)[ELS- 파생형 ]_ 운용 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 주식 ELS 장외 누계 주식 ELS

JAVA PROGRAMMING 실습 08.다형성

PowerPoint Presentation

Javascript.pages

쉽게 풀어쓴 C 프로그래밍

Transcription:

행맨 류관희 충북대학교

2

3

4

5

사전준비 단어목록읽기 단어빈칸보여주기 인터페이스를통해알파벳선택하면알파벳사라지기 단어에선택한알파벳이있으면표시하기 없으면선이나타원으로사람형태그리기 게임종료조건 : 모든맞추는경우 모두틀린경우 ( 행맨 ) 6

단어목록배열에저장 words.js var words = [ "muon", "blight","kerfuffle","qat" ]; <script src="words.js" defer></script> defer: 파일을로딩하는동안브라우저가기본 HTML 문서의다른부분을계속실행 7

function setupgame() { var i; var x; var y; var uniqueid; var an = alphabet.length; for(i=0;i<an;i++) { uniqueid = "a"+string(i); 알파벳버튼만들기 var thingelem; var alphabet = "abcdefghijklmnopqrstuvwxyz var alphabety = 300; var alphabetx = 20; var alphabetwidth = 25; d = document.createelement('alphabet'); // alphabet 요소의 HTML 마크업생성 d.innerhtml = ( "<div class='letters' id='"+uniqueid+"'>"+alphabet[i]+"</div>"); document.body.appendchild(d); thingelem = document.getelementbyid(uniqueid); x = alphabetx + alphabetwidth*i; y = alphabety; thingelem.style.top = String(y)+"px"; // 세로위치저장 thingelem.style.left = String(x)+"px"; // 가로위치저장 thingelem.addeventlistener('click',pickelement,false); 8

알파벳버튼만들기 var ch = Math.floor(Math.random()* words.length); secret = words[ch]; for (i=0;i<secret.length;i++) { uniqueid = "s"+string(i); d = document.createelement('secret'); d.innerhtml = ( "<div class='blanks' id='"+uniqueid+"'> </div>"); document.body.appendchild(d); thingelem = document.getelementbyid(uniqueid); x = secretx + secretwidth*i; y = secrety; thingelem.style.top = String(y)+"px"; thingelem.style.left = String(x)+"px"; steps[cur](); cur++; return false; 9

알파벳버튼만들기 ( 테두리 ) <style>.letters {position:absolute;left: 0px; top: 0px; border: 2px; borderstyle: double; margin: 5px; padding: 5px; color:#d0d; background-color:#dbf; font-family:"courier New", Courier, monospace;.blanks {position:absolute;left: 0px; top: 0px; border:none; margin: 5px; padding: 5px; color:#006; background-color:white; fontfamily:"courier New", Courier, monospace; textdecoration:underline; color: black; font-size:24px; </style> 클래스앞마침표 : 그이름으로클래스가지정된모든요소 Form: 모든 form 요소에스타일이적용이름앞 #: 그이름으로 id 속성을지정한요소를참조 10

클릭한알파벳사라지기 function pickelement(ev) { var not = true; var picked = this.textcontent; var i; var j; var uniqueid; var thingelem; var out; for (i=0;i<secret.length;i++) { if (picked==secret[i]) { id = "s"+string(i); document.getelementbyid(id).textcontent = picked; not = false; lettersguessed++; // var lettersguessed; if (lettersguessed==secret.length) { ctx.fillstyle=gallowscolor; out = " 이겼습니다!"; ctx.filltext(out,200,80); ctx.filltext(" 다시하려면페이지새로고침을..",200,120); for (j=0;j<alphabet.length;j++) {// 모든문자에대해이벤트리스너제거 uniqueid = "a"+string(j); thingelem = document.getelementbyid(uniqueid); thingelem.removeeventlistener('click',pickelement,false); 11

if (not) { steps[cur](); cur++; if (cur>=steps.length) { for (i=0;i<secret.length;i++) { id = "s"+string(i); document.getelementbyid(id).textcontent = secret[i]; ctx.fillstyle=gallowscolor; out = " 졌습니다!"; ctx.filltext(out,200,80); ctx.filltext(" 다시하려면페이지새로고침을..",200,120); for (j=0;j<alphabet.length;j++) { // 모든문자에대해이벤트리스너제거 uniqueid = "a"+string(j); thingelem = document.getelementbyid(uniqueid); thingelem.removeeventlistener('click',pickelement,false); var id = this.id; document.getelementbyid(id).style.display = "none"; 12

캔버스에단계적으로그림생성 var steps = [ drawgallows, drawhead, drawbody, drawrightarm, drawleftarm, drawrightleg, drawleftleg, drawnoose ]; 13

캔버스에단계적으로그림생성 교수대그리기 function drawgallows() { ctx.linewidth = 8; ctx.strokestyle = gallowscolor; ctx.beginpath(); ctx.moveto(2,180); ctx.lineto(40,180); ctx.moveto(20,180); ctx.lineto(20,40); ctx.moveto(2,40); ctx.lineto(80,40); ctx.stroke(); ctx.closepath(); 14

캔버스에단계적으로그림생성 머리그리기 function drawhead() { ctx.linewidth = 3; ctx.strokestyle = facecolor; ctx.save(); // 타원이되게원의크기를조정하기전에저장 ctx.scale(.6,1); ctx.beginpath(); ctx.arc (bodycenterx/.6,80,10,0,math.pi*2,false); ctx.stroke(); ctx.closepath(); ctx.restore(); 15

function drawbody() { ctx.strokestyle = bodycolor; ctx.beginpath(); ctx.moveto(bodycenterx,90); ctx.lineto(bodycenterx,125); ctx.stroke(); ctx.closepath(); function drawrightarm() { ctx.beginpath(); ctx.moveto(bodycenterx,100); ctx.lineto(bodycenterx+20,110); ctx.stroke(); ctx.closepath(); function drawleftarm() { ctx.beginpath(); ctx.moveto(bodycenterx,100); ctx.lineto(bodycenterx-20,110); ctx.stroke(); ctx.closepath(); function drawrightleg() { ctx.beginpath(); ctx.moveto(bodycenterx,125); ctx.lineto(bodycenterx+10,155); ctx.stroke(); ctx.closepath(); function drawleftleg() { ctx.beginpath(); ctx.moveto(bodycenterx,125); ctx.lineto(bodycenterx-10,155); ctx.stroke(); ctx.closepath(); 16

function drawnoose() { ctx.strokestyle = noosecolor; ctx.beginpath(); ctx.moveto(bodycenterx-10,40); ctx.lineto(bodycenterx-5,95); ctx.stroke(); ctx.closepath(); ctx.save(); ctx.scale(1,.3); ctx.beginpath(); ctx.arc(bodycenterx,95/.3,8,0,math.pi*2,false); ctx.stroke(); ctx.closepath(); ctx.restore(); drawneck(); drawhead(); function drawneck() { ctx.strokestyle=bodycolor; ctx.beginpath(); ctx.moveto(bodycenterx,90); ctx.lineto(bodycenterx,95); ctx.stroke(); ctx.closepath(); 17

게임상태유지와승패판단 플레이어의선택글자가문제단어에들어있는글자와일치하는지검사. 일치할때마다 textcontent 에해당글자지정하여빈요소안에해당글자표시 변수 lettersguessed 에선택된글자수파악 lettersguessed 와 secret.length 를비교 게임이기면 => 승리지정 선택한문자가없으면 cur 를 steps 의인덱스로사용 cur 와 steps.length 를비교하여게임졌는지검사 두값이같으면 => 패배정보출력 display 속성에 none 을지정하여클릭된알파벳보이지않게함 18

알아맞힌알파벳을검사하고 textcontext 를할당해서문제단어의알파벳공개하기 var picked=this.textcontent; var picked = this.textcontent; for (i=0;i<secret.length;i++) { if (picked==secret[i]) { id = "s"+string(i); document.getelementbyid(id).text Content = picked; not = false; lettersguessed++;. 19

클릭한알파벳사라지기 function pickelement(ev) { var not = true; var picked = this.textcontent; var i; var j; var uniqueid; var thingelem; var out; for (i=0;i<secret.length;i++) { if (picked==secret[i]) { id = "s"+string(i); document.getelementbyid(id).textcontent = picked; not = false; lettersguessed++; if (lettersguessed==secret.length) { ctx.fillstyle=gallowscolor; out = " 이겼습니다!"; ctx.filltext(out,200,80); ctx.filltext(" 다시하려면페이지새로고침을..",200,120); for (j=0;j<alphabet.length;j++) {// 모든문자에대해이벤트리스너제거 uniqueid = "a"+string(j); thingelem = document.getelementbyid(uniqueid); thingelem.removeeventlistener('click',pickelement,false); 20

if (not) { steps[cur](); cur++; if (cur>=steps.length) { for (i=0;i<secret.length;i++) { id = "s"+string(i); document.getelementbyid(id).textcontent = secret[i]; ctx.fillstyle=gallowscolor; out = " 졌습니다!"; ctx.filltext(out,200,80); ctx.filltext(" 다시하려면페이지새로고침을..",200,120); for (j=0;j<alphabet.length;j++) { // 모든문자에대해이벤트리스너제거 uniqueid = "a"+string(j); thingelem = document.getelementbyid(uniqueid); thingelem.removeeventlistener('click',pickelement,false); var id = this.id; document.getelementbyid(id).style.display = "none"; 21