既然能用Py做游戏,能不能直接用JSA生成小游戏,上班打开excel 表格就能摸鱼,美滋滋。
从最简单的excel编程游戏入手:生成一个猜数字小游戏。(代码放在文章末端)
【使用场景】:WPS AI 智能文档 + WPS Excel表格
【完成情况】:⭐⭐⭐⭐
【使用评价】:
✅好评部分:
直接生成excel宏代码,复制就能使用,非常赞!而且基本框架都是正确的,如果能入门学习一下js语法,对于修改生成简单的代码应该都是没问题的。🏆
>>浏览器搜索“WPS AI”进入官网(ai.wps.cn)领取免费AI权益❎暂未达成:
对代码错误部分不能做出正确的解释或修改,并且会出现前后不一致的现象。本js小白这个简单的代码还是去翻看的百度案例修改的。🤣
【WPS Ai提示词】:
1️⃣提示词和生成结果:


2️⃣生成结果的第8行,在实际运行中出现了错误,我猜是没有wps.alert这个函数,应该直接alert即可。这里看一下wps ai是如何修正的:


>>浏览器搜索“WPS AI”进入官网(ai.wps.cn)领取免费AI权益
3️⃣什么?从一个错误跳到了另一个错误🤯
那我试试问问ai,有没有wps.alert这个函数,然后却得到了否定,你小子前后还不一样🤔

经过多次重试都无法流畅运行,看来只能自己修改了,好在错的都很简单(难的我不会),修改如下:
>>浏览器搜索“WPS AI”进入官网(ai.wps.cn)领取免费AI权益
规则:猜数字大小,直到玩家猜对为止。
function 测试猜数字(){
//生成1-100的随机数
var secretNumber = Math.floor(Math.random() * 100) + 1;
//初始化猜测次数
var guesses = 0;
//玩家输入
alert("欢迎来到猜数字游戏!我已经想好了一个 1 到 100 的数字,请你猜猜是多少。");
//开始判断
while (true) {
var guess = InputBox("请输入你的猜测:", "猜测次数:" + guesses);
guesses++;
//判断输入内容是否在1-100中
if (isNaN(guess) || guess < 1 || guess > 100){
alert("请输入有效的数字!");
continue;
}
//判断数字大小
if (guess == secretNumber) {
alert("恭喜你,猜对了!你一共猜了 " + guesses + " 次。");
break;
}else if (guess < secretNumber) {
alert("你猜的数字太小了,请再试一次。");
}else{
alert("你猜的数字太大了,请再试一次。");
}
}
}

运行如下:


再加一个附带条件的猜数字,也是AI生成修改。
新增规则:只能猜五次
function 猜数字(){
//设置1-100以内的随机整数
var randomNumber = Math.floor(Math.random()*100)+1;
//设置猜测次数5次
var guesses = 5;
//开始游戏
alert("欢迎来到猜数字游戏!我已经想好了一个1到100之间的数字,你有5次机会来猜它。");
//循环猜数字
while (guesses>0){
var num = InputBox("请输入你猜测的数字:");
//判断数字是否正确
if (num == randomNumber){
alert("恭喜你,猜对了!");
break
}else if (num > randomNumber){
alert("太大了!还剩下"+(guesses - 1)+"次机会");
}else{
alert("太小了!还剩下"+(guesses - 1)+"次机会");
}
guesses--;
}
if (guesses == 0){
alert("很遗憾你没有猜对,答案是"+randomNumber+"");
}
}

再加一个在excel窗口运行的石头剪刀布,也是AI生成修改。
规则:五次机会,赢的加1分,分高者胜利。
function 猜拳(){
// 定义游戏选项
var options = ["石头", "剪刀", "布"];
// 计算机随机选择一个选项
function computerPlay() {
return options[Math.floor(Math.random() * options.length)];
}
// 玩家输入选择
function playerPlay() {
var input = InputBox("请选择:石头、剪刀还是布?");
input = input.toLowerCase();
// 验证玩家输入的选项是否有效
while (options.indexOf(input) === -1) {
input = InputBox("请选择有效选项:石头、剪刀还是布?");
input = input.toLowerCase();
}
return input;
}
// 判断胜负
function playRound(playerSelection, computerSelection) {
if (playerSelection === computerSelection) {
return "平局!你们都选择了" + playerSelection;
} else if (
(playerSelection === "石头" && computerSelection === "剪刀") ||
(playerSelection === "剪刀" && computerSelection === "布") ||
(playerSelection === "布" && computerSelection === "石头")
) {
return "恭喜你,你赢了!" + playerSelection + "战胜了" + computerSelection;
} else {
return "很遗憾,你输了!" + computerSelection + "战胜了" + playerSelection;
}
}
// 游戏主循环
function game() {
var playerScore = 0;
var computerScore = 0;
for (var i = 0; i < 5; i++) {
var playerSelection = playerPlay();
var computerSelection = computerPlay();
var result = playRound(playerSelection, computerSelection);
console.log(result);
if (result.indexOf("赢了") !== -1) {
playerScore++;
} else if (result.indexOf("输了") !== -1) {
computerScore++;
}
}
console.log("游戏结束!你的得分:" + playerScore + ",计算机的得分:" + computerScore);
if (playerScore > computerScore) {
console.log("恭喜你,你赢得了整个游戏!");
} else if (playerScore < computerScore) {
console.log("很遗憾,你输掉了整个游戏!");
} else {
console.log("游戏结束,平局!");
}
}
// 开始游戏
game();
}
>>浏览器搜索“WPS AI”进入官网(ai.wps.cn)领取免费AI权益

