セッション卓1

「セッション卓1」の編集履歴(バックアップ)一覧はこちら

セッション卓1」(2013/06/29 (土) 22:19:35) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

- [2d6] -- 消しゴム (2013-06-29 22:18:30) #comment() #javascript(){{ embedDiceBot = new function() { // 設定 var columnNumber = 2; // 1 var formNumber = 3; // 1 function diceInit() { // dice pattern dicePattern = new RegExp(/([\s\S]*)\[(\d+)(d)(\d+)([\d-+]+)?\]([\s\S]*)/i); columnNumber = columnNumber -1; formNumber = formNumber -1; targetForm = document.forms[formNumber]; targetColumn = document.forms[formNumber].elements[columnNumber]; result = []; sum = 0; } function pickupDice(diceArr) { preMsg = diceArr[1]; diceNum = diceArr[2]; diceNumber = diceArr[4]; revision = diceArr[5]; if (revision==undefined) { revision = ''; } afterMsg = diceArr[6]; if (diceNum<1) { alert('ダイスを何個振るか、1以上で指定してください'); return false; } if (diceNumber<2) { alert('d2以下のダイスはありません'); return false; } return true; } function diceGenerater(number){ return Math.round(Math.random()*(number-1))+1; } function diceRoll() { for (var i=0; i<diceNum; i++) { result.push(diceGenerater(diceNumber)); sum += result[i] } return result; } function revisionSum() { if (revision) { if (revision.match(/[-+]{2,}/)) { alert('+-が連続しています。'); sum += revision; return false; } var revs = revision.match(/([-+])(\d+)/g); for (var j=0; j<revs.length; j++) { var op = revs[j].substr(0,1); var rev = revs[j].substr(1); if (op=='+') { sum = eval(sum) + eval(rev); } else if (op=='-') { sum = eval(sum) - eval(rev); } else { alert('式が正しくありません。'); sum += revision; return false; } } } return sum; } function outputDiceResult() { return preMsg+'['+diceNum+dice[3]+diceNumber+revision+'] = (' +result.join(',')+') = ' +sum +' '+afterMsg; } window.onload = function (){ // Init diceInit(); targetForm.onsubmit = function diceConvert() { var comment = targetColumn.value; if (comment!='' || comment==undefined) { dice = comment.match(dicePattern); if (dice!=null) { if (pickupDice(dice)==false) { return false; } // DiceRoll diceRoll(); revisionSum(); // output var convert = outputDiceResult(); this.elements[1].value = convert; } return true; } else { return false; } return false; } } } }}
- [2d6] -- 消しゴム (2013-06-29 22:18:30) - ΦωΦ -- [2d6] (2013-06-29 22:19:35) #comment() #javascript(){{ embedDiceBot = new function() { // 設定 var columnNumber = 2; // 1 var formNumber = 3; // 1 function diceInit() { // dice pattern dicePattern = new RegExp(/([\s\S]*)\[(\d+)(d)(\d+)([\d-+]+)?\]([\s\S]*)/i); columnNumber = columnNumber -1; formNumber = formNumber -1; targetForm = document.forms[formNumber]; targetColumn = document.forms[formNumber].elements[columnNumber]; result = []; sum = 0; } function pickupDice(diceArr) { preMsg = diceArr[1]; diceNum = diceArr[2]; diceNumber = diceArr[4]; revision = diceArr[5]; if (revision==undefined) { revision = ''; } afterMsg = diceArr[6]; if (diceNum<1) { alert('ダイスを何個振るか、1以上で指定してください'); return false; } if (diceNumber<2) { alert('d2以下のダイスはありません'); return false; } return true; } function diceGenerater(number){ return Math.round(Math.random()*(number-1))+1; } function diceRoll() { for (var i=0; i<diceNum; i++) { result.push(diceGenerater(diceNumber)); sum += result[i] } return result; } function revisionSum() { if (revision) { if (revision.match(/[-+]{2,}/)) { alert('+-が連続しています。'); sum += revision; return false; } var revs = revision.match(/([-+])(\d+)/g); for (var j=0; j<revs.length; j++) { var op = revs[j].substr(0,1); var rev = revs[j].substr(1); if (op=='+') { sum = eval(sum) + eval(rev); } else if (op=='-') { sum = eval(sum) - eval(rev); } else { alert('式が正しくありません。'); sum += revision; return false; } } } return sum; } function outputDiceResult() { return preMsg+'['+diceNum+dice[3]+diceNumber+revision+'] = (' +result.join(',')+') = ' +sum +' '+afterMsg; } window.onload = function (){ // Init diceInit(); targetForm.onsubmit = function diceConvert() { var comment = targetColumn.value; if (comment!='' || comment==undefined) { dice = comment.match(dicePattern); if (dice!=null) { if (pickupDice(dice)==false) { return false; } // DiceRoll diceRoll(); revisionSum(); // output var convert = outputDiceResult(); this.elements[1].value = convert; } return true; } else { return false; } return false; } } } }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: