Random names and rolls working.

This commit is contained in:
Eric Fredricksen
2010-06-24 14:20:35 -07:00
parent 984f3b8e90
commit 56cb1f3970
2 changed files with 49 additions and 70 deletions
+2 -19
View File
@@ -21,8 +21,8 @@ input, button { display: inline; }
<div class="hbox"> <div class="hbox">
Name Name
<input id=Name> <input id="Name">
<button id=RandomName>?</button> <button id="RandomName">?</button>
</div> </div>
<div class=hbox> <div class=hbox>
@@ -68,22 +68,5 @@ input, button { display: inline; }
</div> </div>
<script>
function fill(e, a, n) {
var def = Random(a.length);
for (var i = 0; i < a.length; ++i) {
var v = a[i].split("|")[0];
var check = def == i ? " checked " : " ";
$("<div><input type=radio name=\"" + n + "\" value=\"" + v + "\" " +
check +">" + v + "</div>").appendTo(e);
}
}
fill("#races", K.Races, "Race");
fill("#classes", K.Klasses, "Class");
//$(document).ready(function(){});
</script>
</body> </body>
</html> </html>
+47 -51
View File
@@ -5,8 +5,9 @@ function Random(n) {
} }
function Roll(stat) { function Roll(stat) {
stat.Tag = 3 + Random(6) + Random(6) + Random(6); stats[stat] = 3 + Random(6) + Random(6) + Random(6);
stat.html(stat.Tag); $("#"+stat).text(stats[stat]);
return stats[stat];
} }
function Choose(n, k) { function Choose(n, k) {
@@ -19,54 +20,64 @@ function Choose(n, k) {
return result / d; return result / d;
} }
var stats = {};
function RollEm() { function RollEm() {
var STR = $("STR"); var Total = $("#Total");
var CON = $("CON"); var ReRoll = $("#ReRoll");
var DEX = $("DEX");
var INT = $("INT");
var WIS = $("WIS");
var CHA = $("CHA");
var Total = $("Total");
var ReRoll = $("ReRoll");
//ReRoll.Tag = RandSeed(); //ReRoll.Tag = RandSeed();
Roll(STR); stats.total =
Roll(CON); Roll("STR") +
Roll(DEX); Roll("CON") +
Roll(INT); Roll("DEX") +
Roll(WIS); Roll("INT") +
Roll(CHA); Roll("WIS") +
Total.tag = STR.Tag + CON.Tag + DEX.Tag + INT.Tag + WIS.Tag + CHA.Tag; Roll("CHA");
Total.html(Total.Tag); Total.text(stats.total);
/*
if (Total.Tag >= (63+18)) Total.Color = clRed var color = (stats.total >= (63+18)) ? 'red' :
else if (Total.Tag > (4 * 18)) Total.Color = clYellow (stats.total > (4 * 18)) ? 'yellow' :
else if (Total.Tag <= (63-18)) Total.Color = clGray (stats.total <= (63-18)) ? 'grey' :
else if (Total.Tag < (3 * 18)) Total.Color = clSilver (stats.total < (3 * 18)) ? 'silver' :
else Total.Color = clWhite; 'white';
*/ Total.css("background-color", color);
} }
function RerollClick() { function RerollClick() {
//OldRolls.Items.Insert(0, IntToStr(ReRoll.Tag)); //OldRolls.Items.Insert(0, IntToStr(ReRoll.Tag));
//Unroll.Enabled = true; //Unroll.Enabled = true;
RollEm(); RollEm();
alert("ok");
} }
function TNewGuyForm_Go() { function fill(e, a, n) {
Tag = 1; var def = Random(a.length);
return mrOk == ShowModal(); for (var i = 0; i < a.length; ++i) {
var v = a[i].split("|")[0];
var check = def == i ? " checked " : " ";
$("<div><input type=radio name=\"" + n + "\" value=\"" + v + "\" " +
check +">" + v + "</div>").appendTo(e);
}
} }
$(document).ready(function () { $(document).ready(function () {
//$("#Reroll").click(function(){RerollClick();}); fill("#races", K.Races, "Race");
fill("#classes", K.Klasses, "Class");
$("#Reroll").click(function(){RerollClick();});
//RerollClick();
//var caption = 'Progress Quest - New Character'; //var caption = 'Progress Quest - New Character';
//if (MainForm.GetHostName != '') //if (MainForm.GetHostName != '')
// caption = caption + ' [' + MainForm.GetHostName + ']'; // caption = caption + ' [' + MainForm.GetHostName + ']';
//Randomize(); //Randomize();
RollEm(); RollEm();
$("#RandomName").click(GenClick);
if ($("#Name").text() == '') {
GenClick();
//Name.SetFocus();
}
}); });
function TNewGuyForm_UnrollClick() { function TNewGuyForm_UnrollClick() {
@@ -134,33 +145,18 @@ function GenerateName() {
function Pick(s) { function Pick(s) {
var count = 1; var count = 1;
for (var i = 0; i <= Length(s)-1; ++i) for (var i = 0; i < s.length; ++i)
if (s[i] == '|') Inc(count); if (s[i] == '|') ++count;
return Split(s, Random(count)); return s.split("|")[Random(count)];
} }
var result = ''; var result = '';
for (var i = 0; i <= 5; ++i) for (var i = 0; i <= 5; ++i)
result += Pick(KParts[i % 3]); result += Pick(KParts[i % 3]);
return UpperCase(Copy(result,1,1)) + Copy(result,2,Length(result)); return result.charAt(0).toUpperCase() + result.slice(1);
} }
function TNewGuyForm_GenClick() { function GenClick() {
Name.Text = GenerateName(); $("#Name").attr("value", GenerateName());
} }
function TNewGuyForm_FormActivate() {
if (Name.Text == '') {
GenClick();
Name.SetFocus();
}
}
function TNewGuyForm_FormCreate() {
Race.Items.Clear();
for (var i = 0; i <= K.Races.Lines.Count-1; ++i)
Race.Items.Add(Split(K.Races.Lines[i],0));
Klass.Items.Clear();
for (var i = 0; i <= K.Klasses.Lines.Count-1; ++i)
Klass.Items.Add(Split(K.Klasses.Lines[i],0));
}