내일배움캠프 TIL

본캠프 11/14 TIL

parkcw0325 2024. 11. 15. 20:39

오늘 과제에서 구현한 기능들

 

실시간 플레이어와 몬스터의 스테이터스 로그 출력

  

function displayStatus(stage, player, monster) {

    console.log(chalk.magentaBright(`\n=== Current Status ===`));

    console.log(

        chalk.cyanBright(`| Stage: ${stage} `) +

        chalk.blueBright(

            `| 플레이어 HP: ${player.hp} /${player.maxHp} 플레이어 공격력: ${Math.round(player.atkPower * 10) / 10}`,

        ) +

        chalk.redBright(

            `| 몬스터 HP: ${monster.hp} / ${monster.maxHp} |  몬스터 공격력: ${monster.MonsterAtkPower}`,

        ),

    );

    console.log(chalk.magentaBright(`=====================\n`));

}

  

const battle = async (stage, player, monster) => {

    let logs = [];

 

 

스테이지가 진행될 때마다 플레이어와 몬스터의 스탯증가

 

class Monster {

    constructor(stage) {

        this.hp = 100;

        this.maxHp = 100;

        this.MonsterAtkPower = 8;

        this.incStates(stage);  // 스테이지에 상승에 따른 몬스터 강화

    }

  

    incStates(stage) {

        this.hp += (stage - 1) * 15;  // 스테이지마다 HP 증가

        this.maxHp += (stage - 1) * 15;  // 최대 HP 증가

        this.MonsterAtkPower += (stage - 1) * 10;  // 공격력 증가

    }
 let playerIncHp = 30;

        let playerIncAtk = 7;

        let playerIncPos = 5;

  

        player.hp += playerIncHp;  // 플레이어 HP 증가

        player.maxHp += playerIncHp;

        player.atkPower += playerIncAtk;  // 플레이어 공격력 증가  

        player.potion += playerIncPos;

        // 스테이지 클리어 및 게임 종료 조건

  

        let monsterIncHp = 15;

        let monsterIncAtk = 10;

  

        console.clear();

        readlineSync.keyInPause(`몬스터를 처치했습니다!\n${chalk.yellow(`플레이어의 체력이 ${playerIncHp}, 공격력이 ${playerIncAtk}만큼 증가했습니다!`)}\n${chalk.red(`새로운 몬스터의 체력이 ${monsterIncHp}, 공격력이 ${monsterIncAtk}만큼 강화됩니다!!`)} `);

  

        stage++;

    }

 

15일 에는 다양한 도전기능들을 구현해 볼 생각이다

'내일배움캠프 TIL' 카테고리의 다른 글

본캠프 11/18 TIL  (0) 2024.11.20
본캠프 11/15 TIL  (0) 2024.11.15
본캠프 11/13 TIL  (0) 2024.11.13
본캠프 11/12 TIL  (0) 2024.11.12
본캠프 11/05 TIL  (0) 2024.11.05