전체 글 105

내일배움캠프 3주차 WIL

지난 일주일 동안 텍스트 로그라이크 게임 프로젝트를 진행하며 여러 기능을 추가했다. 월요일에는 강공 기능과 몰래 지나가기 기능, 스테이지별 몬스터 이름 추가, 보스 몬스터 능력치 부여, 스테이지 클리어 시 아이템 선택 기능을 구현했다. 화요일에는 플레이어 회피율과 방어력을 추가하고, 아이템을 통해 회복 기능을 구현했다. 수요일에는 게임 클리어 및 실패 처리 로직을 추가하고, 방어력 아이템과 최대 HP 회복 제한 로직을 설정했다. 목요일에는 부활 아이템과 게임 기록 저장 기능을 구현했으며, 금요일에는 업적 확인 기능과 아이템 선택 로직을 정리했다.이번 주 동안 반복적인 코드 검토가 코딩 실력 향상에 기여한다는 점을 다시 확인했다. 문제를 해결하기 위해 다양한 접근 방식을 시도하며, 각 기능의 흐름을 점검하..

WIL 2024.11.15

내일배움캠프 3주차 금요일 TIL

server.js에 추가한  printReport 함수function printReport(reportData) { if (!reportData) { console.log(chalk.red(`기록이 없습니다.`)); return; } console.log(chalk.yellowBright(`=== 게임 기록 ===`)); console.log(`마지막 클리어 스테이지: ${reportData.clearStage}`); console.log(`총 게임 횟수: ${reportData.totalTry}`); console.log(`게임 클리어 : ${reportData.allClears}`); console.log(`클리어 실패 : ${repor..

TIL 2024.11.15

내일배움캠프 3주차 수요일 TIL

오늘 배운것게임 클리어 및 실패 처리:게임 클리어 시와 클리어 실패 시 로비 화면으로 돌아갈 수 있도록 함수를 import하여 적용 예정.방어력 아이템 추가:방어력 관련 아이템을 추가 적용하기 위한 작업 진행 중.최대 HP 및 회복 제한 로직:최대 HP 설정 및 일정 HP를 넘어가는 회복 제한 로직을 설정 중.업적 확인 창:누적 로그를 남길 수 있는 업적 확인 창을 만들 계획. 이와 관련하여 Node.js 지식이 필요할 것으로 예상하여 확인 후 적용할 예정.같은 코드를 반복적으로 확인하고 수정하는 과정에서 내가 의도한 흐름대로 진행되고 있는지를 점검할 수 있었다. 이러한 반복적인 작업은 프로그래밍에 익숙해지는 데 큰 도움이 되고 있다. 이번 주 안에 로비 화면과 게임 상태 연계, 추가적인 기능 도입을 완..

TIL 2024.11.13

내일배움캠프 3주차 화요일 TIL

오늘 추가한 기능플레이어 회피율, 방어력 추가일정확률로 몬스터의 공격 회피, 정해진 방어력만큼 몬스터의 데미지 감소(수치 조정 필요)아이템 추가- 스테이지 몬스터 처치하여 클리어 시 3가지 아이템중 1개 선택 가능const item1 = new Item ("싸구려 회복 물약", "플레이어가 체력을 즉시 15 회복합니다.", (player) => {player.hp += 15;},0.3 ) const item2 = new Item ("쓸만한 체력 회복 물약", "플레이어가 체력을 즉시 30회복합니다.", function heal2(player) {player.hp += 30;},0.15 ) const item3 = new Item ("고성능 체력 회복 물약", "플레이어가 체력을 즉시 45회..

TIL 2024.11.12

내일배움캠프 3주차 월요일 TIL

오늘 추가한 기능강공(가제)기능일정한 확률을 정해놓고 더 강한 피해를 줄 수 있다.몰래 지나가기 기능스테이지별로 확률을 다르게하여 클리어가 더 어려워지도록 확률 설정스테이지별 몬스터 이름 추가10스테이지 보스몹 능력치 따로 부여스테이지 클리어시 아이템 선택(구성중)추가 : 아이템 구상10개 정도 리스트 작성 후 랜덤으로 3개 옵션 표시 > 1개 선택피회복공격력 상승도망 확률 증가상대 첫 공격 무시다음 스테이지 클리어(최소 확률)등등 고려중

TIL 2024.11.11

내일배움캠프 2주차 WIL

지난 일주일 동안 가장 인상 깊었던 배움에는 JavaScript의 기본적인 문법, 프롬프트를 통한 기본 세팅 과정, 그리고 코드 카타를 통해 코딩 테스트 문제 풀이를 시작한 경험이 있었다. 그러나 이 배움에 다가가는 과정에서 강의 내용에 대한 이해가 어려웠다. 초기 주차의 강의들은 천천히 이해하며 집고 넘어갈 수 있었지만, 후반 주차의 강의들은 이해 자체가 어려워 문제를 겪었다.이러한 과정에서 강의의 모든 것을 이해하는 데 매몰되지 말고, 어렵다면 일단 넘어간 후 다시 반복 학습하는 것이 처음 배우는 입장에서는 적절하다는 것을 깨달았다. 결과적으로 본격적으로 프로젝트를 진행하며 무엇을 어떻게 적용해야 할지 어려움이 있었지만, 천천히 기본 구성을 만들어보며 기본으로 주어진 코드를 이해하고 실행 순서를 파악..

WIL 2024.11.08

내일배움캠프 2주차 금요일

Rogue like JAVASCRIPT! 과제 기본 개발환경 세팅 후 필수 기능 구현1. 플레이어 클래스 적용 사항class Player { constructor(stage) { this.hp = 100; // 플레이어 HP this.p_strong = 10; // 플레이어 기본 공격력 } // 어택메소드 안에서 기능할수있도록 배개변수 추가 attack(monster, logs) { let min = this.p_strong; let max = min + 10; let p_damage = Math.floor(Math.random() * (max - min)) + min; // 10~20의 데미지중 랜덤 적용 logs.push(`플레이어가 몬스터에게 ${p_damag..

TIL 2024.11.08

내일배움캠프 2주차 목요일 TIL

오늘 배운 내용.1. 콜백 함수의 this 바인딩 개념:this는 호출하는 방식에 따라 다르게 결정된다.객체의 메서드로 호출되면 해당 객체를 가리키지만, 일반 함수로 호출되면 전역 객체를 참조한다.bind() 메서드를 사용하여 원하는 컨텍스트를 설정할 수 있다.2. Promise:콜백 지옥을 피하기 위해 Promise를 사용한다.async 함수는 항상 Promise를 반환하며, await 키워드는 Promise가 해결될 때까지 기다린다.3. DOM 및 클래스:DOM은 HTML 및 XML 문서의 프로그래밍 인터페이스로, 문서의 구조를 객체로 표현한다.JavaScript를 사용하여 동적으로 문서를 조작할 수 있다.클래스는 객체를 생성하는 템플릿이다.Getter와 Setter를 통해 클래스의 속성에 대한 접근..

카테고리 없음 2024.11.07

2주차 수요일 TIL

1. 깊은 복사와 얕은 복사얕은 복사 (Shallow Copy): 객체의 최상위 속성만 복사하고, 중첩된 객체는 원본과 같은 참조를 공유함.따라서 하위 객체에 변경점 적용 시 원본 객체에 영향이 있을 수 있다.깊은 복사 (Deep Copy): 중첩된 객체까지 모두 복사하여 원본과 독립적인 새로운 객체 생성. 깊은 복사를 통해 모든 중첩된 객체도 새로운 메모리 공간에 복사되므로, 원본 객체와 완전히 독립적인 상태를 유지최상위 객체와 독립적으로 변경점 적용이 가능하다2. 전개 연산자전개 연산자: 객체나 배열의 얕은 복사를 수행할떄 적합. 최상위 속성만 복사하고, 중첩된 객체는 참조 공유.예시: const newObject = { ...originalObject };3. for...in 구문객체의 모든 속성에..

TIL 2024.11.06