Home
노력도 재능이다.
Cancel

자바스크립트 함수, 그리고 this의 등장

1. 객체 나름대로 자신의 코드를 가진 독립적인 아이들이다. 객체안에 있는 함수를 메소드 라고 한다. // 2. object const yeongInfo = { name: "Yeonghun", gender: "male", awsomeness: true, favMovies: ["Peppermind", "Harry potter"], ...

애플 웹사이트 만들기 시작! - HTML구조짜기

1. 애플 웹사이트 인프런에서 신기한 강의를 발견함. 애플 공식웹에서 구현한 기능, 즉 스크롤 값에 따라서 글자와 사진이 커졌다 줄어들었다 사라졌다하는 기능을 가르치는 강의를 발견했다. 구매한지는 4개월이상 된거 같은데 자바스크립트 기초 문법좀 더 다지고, 알고리즘 공부하느라고 최근에 듣기 시작했다. 근데, 너무 재밌다. 어려운건 없다. 알고리즘...

to do list - list 순서 유지

1. jquery 코드 옮기기 드래그 기능을 구현했었는데 그 위치가 새로고침되어도 유지가 되는 기능은 구현하지 못했었다.(어쩌면 못한게 아니라 안한건지도..) 그러다고 우연히 드래그위치가 유지되는 기능을 구현한 다른사람의 코드를 보게되었고 적용했다. 우선 html에 있는 jquery 코드가 눈에 거슬렸다. 따라서 todoo.js로 이동시켜주었다. ...

새로 배운 문법

1. 새로 배운 문법 요번에 나름 새로 배운 문법이 많아서 정리해두려고 한다. 굳이 자세하게 설명하진 않겠다. 검색하면 다 나오니깐 말이다. 1-1. array와 관련된 문법 pop() array의 마지막 원소를 제거한 array를 리턴한다. sort() 알파벳 순서, 또는 숫자 순서대로 array를 분류한다. default는...

폭죽 다듬기

1. 폭죽이 서서히 없어지게 하기 일단 애니메이션이 한 번 실행되면 cancel될때까지 1초에 60번 실행된다. 따라서 서서히 없애려면 explode 안에 num이라는 변수를 만들고 실행될때마다 추가되도록 한다. 그럼 num이 100단위로 커질때 마다 폭죽 array안에 있는 스파크를 하나씩 줄이면 되지 않을까? 라는 생각을 했다. firework...

신기록을 알아차리기 그리고 폭죽터뜨리기

1. 신기록 갱신 우선 신기록을 갱신할때마다 알려줘야한다. 그 기능을 구현하고 폭죽을 구현해보자. 그럼 알고리즘을 어떻게 짜면 될까? 맨처음엔 어떻게 생각했냐면 html 에 first ranking 의 innerHtml이 바뀔때 마다 알려주는 API가 없을까 라고 검색하던 도중 발견한게 하나 있다. 바로 MutationObserver 라는 API이다...

기록 기능 구현

1. 기록 기능 구현 알고리즘 기록 기능은 의외로 복잡했다. 마지막 stage까지 갔을때 총 몇초 걸렸느냐를 측정해서 순위를 매기고 toggle에 띄우려고 했다. 알고리즘은 아래와 같이 짰다. 1. 우선 다음 차시로 넘어갈때마다 게임이 끝났을때 타이머를 가져온다. 2. 가져올때마다 slice해서 숫자만 가져오고 agg란 array에 담는다. 3...

다음 레벨 구현

1. 다음 레벨 구현 어떻게 하면 다음 레벨로 넘어갈 수 있을까? 내가 생각한 알고리즘은 이거다. 게임에서 이길때마다, 아이템의 갯수를 증가시킨다. 그리고 게임을 하나 더 만들어서 증가된 아이콘을 새로운 게임에 pass한다음 실행한다. 그래서 이런식으로 코드를 적었다. let Stage = 1; const gameStarter = (level)...

main.js에 게임 선언

1.main.js에 게임을 선언하기 "use strict"; import { Game, FinishReason, StopReason } from "./gameControl.js"; import Banner from "./finishBanner.js"; import * as sound from "./sound.js"; const finishBann...

시작버튼 리팩토링(gameControl.js)

1. top_ui 리팩토링 gameControl.js 파일 'use strict'; import * as sound from './sound.js'; import Field from './playField.js'; export const FinishReason = Object.freeze({ win: 'win', bug: 'bug', ...