let num = 0;
let total = 0;
$ui.render({
views: [
{
type: "label",
props: {
text: "Hello, World!",
align: $align.center
},
layout: function(make, view) {
make.center.equalTo(view.super)
}
},
{
type: "input",
props: {
type: $kbType.number,
text: ""
},
layout: function (make, view) {
make.top.equalTo(50);
make.size.equalTo($size(200, 32));
},
events: {
changed: function (sender) {
num = Number(sender.text);
}
}
},
{
type: "input",
props: {
type: $kbType.number,
text: ""
},
layout: function (make, view) {
make.top.equalTo(100);
make.size.equalTo($size(200, 32));
},
events: {
changed: function (sender) {
total = Number(sender.text);
}
}
},
{
type: "button",
props: {
title: "计算"
},
layout: function (make, view) {
make.center.equalTo(view.super);
make.width.equalTo(100);
},
events: {
tapped: function (sender) {
console.log(num, total);
let ret = generateSum(num, total);
console.log(ret);
$ui.alert(ret)
}
}
}
]
});
function generateSum(x, y) {
if (x === 1) {
return [y];
}
const max = y - x + 1;
const min = 1;
const num = Math.floor(Math.random() * (max - min + 1) + min);
const rest = generateSum(x - 1, y - num);
return [num, ...rest];
}