From efa2e3cc901d8e30d9c2f0e58201d2f5addc9786 Mon Sep 17 00:00:00 2001 From: Cristiano Magro <cristiano.magro@vola.it> Date: Fri, 27 Dec 2024 01:13:08 +0100 Subject: [PATCH] gestione del log della battaglia --- 04 - monster slayer game/prj-monster-01-starting-setup/index.html | 13 ++++++++++++- 04 - monster slayer game/prj-monster-01-starting-setup/app.js | 19 ++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/04 - monster slayer game/prj-monster-01-starting-setup/app.js b/04 - monster slayer game/prj-monster-01-starting-setup/app.js index 99db112..54e4a88 100644 --- a/04 - monster slayer game/prj-monster-01-starting-setup/app.js +++ b/04 - monster slayer game/prj-monster-01-starting-setup/app.js @@ -9,6 +9,7 @@ monsterHealth: 100, currentRound: 0, winner: null, + logMessages: [], }; }, computed: { @@ -50,21 +51,25 @@ this.monsterHealth = 100; this.currentRound = 0; this.winner = null; + this.logMessages = []; }, attackMonster() { this.currentRound++; const attackValue = getRandomValue(5, 12); this.monsterHealth -= attackValue; + this.addLogMessage('player', 'attack', attackValue); this.attackPlayer(); }, attackPlayer() { const attackValue = getRandomValue(8, 15); this.playerHealth -= attackValue; + this.addLogMessage('monster', 'attack', attackValue); }, specialAttackMonster() { this.currentRound++; const attackValue = getRandomValue(10, 20); this.monsterHealth -= attackValue; + this.addLogMessage('player', 'attack Sp', attackValue); this.attackPlayer(); }, healPlayer() { @@ -75,11 +80,19 @@ } else { this.playerHealth += healValue; } + this.addLogMessage('player', 'heal', healValue); this.attackPlayer(); }, - surrender(){ - this.winner = 'monster'; - } + surrender() { + this.winner = "monster"; + }, + addLogMessage(who, whath, value) { + this.logMessages.unshift({ + actionBy: who, + actionType: whath, + actionValue: value + }); + }, }, }); diff --git a/04 - monster slayer game/prj-monster-01-starting-setup/index.html b/04 - monster slayer game/prj-monster-01-starting-setup/index.html index ef89d35..c9b7ac6 100644 --- a/04 - monster slayer game/prj-monster-01-starting-setup/index.html +++ b/04 - monster slayer game/prj-monster-01-starting-setup/index.html @@ -46,7 +46,18 @@ </section> <section id="log" class="container"> <h2>Battle Log</h2> - <ul></ul> + <ul> + <li v-for="logMessage in logMessages"> + <span :class="{'log--player': logMessage.actionBy === 'player' , 'log--monster': logMessage.actionBy === 'monster'}" + >{{logMessage.actionBy === 'player' ? "Player" : 'Monster'}} + </span> + <span v-if="logMessage.actionType === 'heal'" + > heal himself for <span class="log--heal">{{logMessage.actionValue}} </span> + </span> + <span v-else> + attacks and deals <span class="log--damage">{{logMessage.actionValue}}</span></span> + </li> + </ul> </section> </div> </body> -- Gitblit v1.8.0