Dice-function is complete, this includes:
- Test-values larger than 20 - "1" is an ever-success - "20" in first roll is an ultimate failure
This commit is contained in:
parent
108936324c
commit
ce9f06a864
1 changed files with 30 additions and 16 deletions
44
src/jsds.js
44
src/jsds.js
|
@ -82,25 +82,39 @@
|
|||
// Probe-Function: checks, whether a given "effort" is succesfull, according to the rules of DS
|
||||
// Not yet implemented: Tests for values larger than 20
|
||||
var dice = function(probe) {
|
||||
console.log(probe);
|
||||
var diceval = Math.floor(Math.random() * (21 - 1)) + 1;
|
||||
if ( diceval <= probe ) {
|
||||
if (diceval == 1) {
|
||||
alert ("Immersieg!");
|
||||
return probe;
|
||||
}
|
||||
else {
|
||||
return diceval;
|
||||
};
|
||||
}
|
||||
else {
|
||||
if (diceval === 20) {
|
||||
alert ("Patzer!"); // We need alert here, because most "Patzer"
|
||||
// affect gameplay (dropping equipement and so on)
|
||||
var diceval=new Array();
|
||||
var rolls=Math.floor(probe/20)+1; // Player may be allowed to roll the dice several times.
|
||||
var tvalues=new Array();
|
||||
var result=0;
|
||||
var tmpval;
|
||||
for(var i=0; i<rolls; ++i) {
|
||||
diceval.push(Math.floor(Math.random() * (21 - 1)) + 1);
|
||||
tvalues.push(20);
|
||||
};
|
||||
console.log(diceval);
|
||||
tvalues[rolls-1]=probe%20; //the last value is the lowest
|
||||
if (diceval[0]===20) {
|
||||
alert ("Patzer!");
|
||||
return 0;
|
||||
};
|
||||
diceval.sort(function(a,b){
|
||||
if(a===1) return -1;
|
||||
if(b===1) return 1;
|
||||
return b-a;}
|
||||
);
|
||||
console.log(diceval);
|
||||
for(var i=0; i<rolls-1; ++i) { //First, evaluate the testvalues "20", that is each except the last one
|
||||
tmpval=diceval[i];
|
||||
result+= (tmpval == 1)?20:tmpval; //If result of dice is "1", return maximum.
|
||||
};
|
||||
tmpval=diceval[rolls-1];
|
||||
testval=tvalues[rolls-1];
|
||||
if(tmpval <= testval){
|
||||
result+= (tmpval ==1)?tvalues[rolls-1]:tmpval;
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
|
||||
// Own Classes for Creatures, derived from the Basic Object class from above
|
||||
|
||||
|
|
Loading…
Reference in a new issue