8월 23 일 금요일

2024. 8. 23. 21:18·Daily Logs/TIL (Today I Learned)

1.어제 콘솔 로그가 안나오는 것 과 몬스터가 스테이지마다 강해지지 않는것 
2.스테이지마다 플레이어와 몬스터가 같이 강해지게 하였다.

기존에 생각이 this.hp=80+stage*10; 이런식으로만 하면 되지않을까 했는데

constructor 안에 stage도 넣어줘야 한다는것을 깨달음 !
문제는 class 부분에 있었는데 

before

class Monster {
  constructor() {

 

    this.hp = 80 + stage * 10;
    this.minatk = 4 + stage * 2;

 

    this.atk = 2 * this.minatk;
  }

오류!
after

class Monster {
  constructor(stage) {
    this.hp = 80 + stage * 10;
    this.minatk = 4 + stage * 2;
    this.atk = 2 * this.minatk;
   

  }

OK!

 

콘솔로그가 나오지 않는 이유는 

125번째 줄쯤

export async function startGame() {
  console.clear();
  const player = new Player();
  let stage = 1;

console.clear(); 가 내가 출력하는 콘솔 로그 전체를 클리어 하는 것 같다 !
그래서 console.clear(); 위에 잘 나오는 것들을 확인하니 
console.log("test"); 이런식으로 확인해봄. << 각 위치에 넣어가며

logs.push(chalk.green(`${choice}를 선택하셨습니다.`));

이것이였다. 그래서 2가지 방법으로 해결할수 있는데
모든 console.log 에 푸쉬로 전환을 하거나.. ( logs.push  ) 를 제어하는 메소드가 있는것같다.

함수의 리턴 부분에 문자열을 넣는 방식으로 해결할수 있겠다 ! << 이러면 console.log clear 에 영향을 받지않고 신경쓰지 않아도 된다.

라고 생각했는데 !

배틀에 들어갔을때 로그가 뜨지 않는것들은

const battle = async (stage, player, monster) => {
  let logs = [];

이부분에서 logs 의 정의가 let logs 로 되고있는데

이걸 맨위로 글로벌 변수로 let logs =[]; 로 지정하고
let logs =[]; 이런식으로 문자열화 시켰다

const battle = async (stage, player, monster) => {
   logs = []; 로 다시 초기화 해준다.
그후 console.log 로 표현되었던걸 logs.push();로 표기한다.

 참고 자료 푸쉬등 배열에 추가 삭제하는 개념 
let fruits = ["사과", "바나나"];

fruits.push("오렌지");

console.log(fruits);   // ["사과", "바나나", "오렌지"]

그리고 스코프에 대한 개념 
글로벌 스코프 
let x = 10;

function printX() {
  console.log(x);
}

printX();   // 10

defense() {
    const def = Math.random() * 100;

    if (def < this.defpercent) {
      logs.push(chalk.blue(`성공적으로 플레이어가 몬스터에게 ${this.defdmg.toFixed()}만큼 방어 했습니다.`));
      this.hp += this.defdmg;
      return true;
    } else {
      logs.push(chalk.blue(`방어에 실패했습니다..`));
      return false;
    }
  }

방어하기 새로 추가 여기서 this.hp 에 주목 . class Player 안에 있기때문에 this.hp로 본인 호출 

 

 

'Daily Logs > TIL (Today I Learned)' 카테고리의 다른 글

8월 27일 Javacript  (0) 2024.08.27
8월 26일 자바 기본 반복 학습  (0) 2024.08.26
8월 21일 콜백함수 promise 그리고 DOM , 상속  (0) 2024.08.21
8월20일 콜백 함수!  (0) 2024.08.20
8월 19일 알고리즘 문제풀이 + 콜백함수  (0) 2024.08.19
'Daily Logs/TIL (Today I Learned)' 카테고리의 다른 글
  • 8월 27일 Javacript
  • 8월 26일 자바 기본 반복 학습
  • 8월 21일 콜백함수 promise 그리고 DOM , 상속
  • 8월20일 콜백 함수!
Jcob.moon
Jcob.moon
반가워요~ 하루하루 꾸준히 코딩 작성하는 곳입니다 !!
  • Jcob.moon
    Pixelated Thoughts
    Jcob.moon
  • 전체
    오늘
    어제
    • HelloWorld (173) N
      • Daily Logs (122)
        • TIL (Today I Learned) (63)
        • Algorithm Practice (55)
        • Dev Book Notes (4)
      • Deep Dives (36) N
        • 문제 해결 (Troubleshooting) (3) N
        • CS Fundamentals (22) N
        • Career Prep (4)
        • Technical Notes (7)
      • Project Log (7)
      • Any (3)
      • Cooperation (4) N
        • Github (2) N
        • Conventions (1)
        • Git (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
Jcob.moon
8월 23 일 금요일
상단으로

티스토리툴바