JSFiddle - React, Tailwind, and code Playground
HTML
第<span data-bind="text:rounds"></span>次<br />
JS出拳:<span data-bind="text:pcThrow"></span><br />
你出拳:<span data-bind="text:youThrow"></span><br />
結果:<span data-bind="text:result"></span><br />
<hr />
<input type="radio" value="0" data-bind="checked: myChoice" />剪刀
<input type="radio" value="1" data-bind="checked: myChoice" />石頭
<input type="radio" value="2" data-bind="checked: myChoice" />布
<button data-bind="click:myThrow,visible:myChoice">出拳</button>
JavaScript
//alert(Math.floor(Math.random() * 3));
var ssp = {"0":"剪刀","1":"石頭","2":"布"};
var rules = {"2":"1","1":"0","0":"2"};
function viewModel() {
var self = this;
self.rounds = ko.observable(0);
self.youThrow = ko.observable();
self.myThrow = function() {
var pc = Math.floor(Math.random() * 3);
self.pcThrow(ssp[pc]);
self.youThrow(ssp[self.myChoice()])
self.rounds(self.rounds()+1);
if (self.myChoice() == pc) {
self.result('平手,別學我出拳!');
} else if (rules[self.myChoice()] == pc) {
self.result('恭禧你贏了!擱來呀!');
} else {
self.result('你失手了,再來吧!');
};
};
self.myChoice = ko.observable();
}
ko.applyBindings(new viewModel());