Created
July 3, 2015 22:27
-
-
Save qex/8dcc7c117ca7111b0489 to your computer and use it in GitHub Desktop.
单纵就是干
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* player defination ... */ | |
var Players = { | |
Sunyanzi : { HP:100, ATT:20, DEF:5 }, | |
ikaros : { HP:100, ATT:15, DEF:5 } | |
}; | |
/* initialize battle field ... */ | |
var queue = []; | |
/* decide fighting order ... */ | |
for ( name in Players ) | |
Math.random() < 0.5 ? queue.push( name ) : queue.unshift( name ); | |
/* so who will take first blood ..? */ | |
var attacker = queue.shift(); | |
/* battle roar ... */ | |
console.log( attacker + "开始了战斗!" ); | |
/* it is a good day to die ... */ | |
try { | |
/* just one player ..? */ | |
if ( ! queue.length ) | |
throw new message( attacker + "揍了自己一顿,感觉十分开心。" ); | |
/* fight until die ... */ | |
while ( 1 ) { | |
/* pick defender ... */ | |
var defender = queue.shift(); | |
/* calculate damage ... */ | |
var damage = parseInt( Math.random() * ( Players[attacker].ATT - Players[defender].DEF ) ); | |
/* settle ... */ | |
Players[defender].HP -= damage; | |
/* print battle log ... */ | |
if ( damage > Players[defender].DEF * 2 ) | |
console.log( attacker + "的会心一击," + defender + "受到" + damage + "点伤害!" ); | |
else if ( 0 == damage ) | |
console.log( attacker + "的攻击,但并没有命中" + defender + "。" ); | |
else | |
console.log( attacker + "的攻击," + defender + "受到" + damage + "点伤害。" ); | |
/* enemy down ..? */ | |
if ( Players[defender].HP < 1 ) | |
/* is there another enemy ..? */ | |
if ( queue.length ) { | |
/* battle log ... */ | |
console.log( attacker + "将" + defender + "击倒!" ); | |
/* get new defender ... */ | |
defender = queue.shift(); | |
/* victory ... */ | |
} else throw new message( attacker + "英勇的胜利!" ); | |
/* have a rest ... */ | |
queue.push( attacker ); | |
/* start a new round ... */ | |
attacker = defender; | |
} | |
} catch ( e ) { | |
/* ending message ... */ | |
console.log( e.text ); | |
} | |
/* object of end battle message ... */ | |
function message( text ) { this.text = text; } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment