1. 取东西
测试一下
<html>
<head>
<script type="text/javascript">
var row1Count = 3;
var row2Count = 5;
var row3Count = 7;
function getRemainCount(rowNum) {
switch(parseInt(rowNum))
{
case 1:
return row1Count;
case 2:
return row2Count;
case 3:
return row3Count;
default:
return 0;
}
}
function updateRemainCount(rowNum, getCount) {
switch(parseInt(rowNum))
{
case 1:
row1Count -= getCount;
break;
case 2:
row2Count -= getCount;
break;
case 3:
row3Count -= getCount;
break;
default:
break;
}
};
function judgeFinish() {
return (row1Count + row2Count + row3Count) <= 0;
};
function getThing(rowNum, getCount) {
var remainCount = getRemainCount(rowNum);
if (remainCount > 0) {
if (getCount > remainCount) {
return -3;
} else {
updateRemainCount(rowNum, getCount);
if (judgeFinish()) {
return -1;
}
return 0;
}
} else {
return -2;
}
}
function round(rowNum, getCount) {
var result = getThing(rowNum, getCount);
switch(result)
{
case 0:
alert("成功取出");
break;
case -1:
alert("你是输家");
break;
case -2:
alert("第"+rowNum+"行空");
break;
case -3:
alert("第"+rowNum+"行数量不足");
break;
default:
break;
}
};
function run() {
var rowNum = prompt("取第几行:","");
var getCount = prompt("取多少:","");
round(rowNum, getCount);
}
</script>
</head>
<body>
15个任意物品(可以是火柴牙签poker)
以下按牙签为例
将15根牙签
分成三行
每行自上而下(其实方向不限)分别是3、5、7根
安排两个玩家,每人可以在一轮内,在任意行拿任意根牙签,但不能跨行
拿最后一根牙签的人即为输家
题目
请用你最擅长的语言,以你觉得最优雅的方式写一个符合以上游戏规则的程序。完成后把写好的代码和简历同时发到以下邮箱(备注姓名+岗位),并加上一段简短的文字描述一下你的想法
(请使用javascript,typescript或C#的其中一种语言完成测试题)
<br/>
<br/>
<input type="button" onclick="run()" value="取东西" />
</body>
</html>