答题类小程序总结1

本文分享了一个微信小程序知识问答项目的随机挑战逻辑,通过管理数组实现模拟对手的时间答题和回答正确率,采用定时器随机选取模拟对手并调用回调函数反馈答题结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

7月份做的一个公司的微信小程序项目,主要内容就是知识问答,答题分为两种。第一种就是随机挑战,表现为用户和模拟对手进行pk。第二种就是邀请好友进行pk。今天就先分享一下随机挑战的逻辑吧!(因为该小程序活动时间已经结束,这里就不放演示图给大家了)

第一步:创建模拟对手

所谓的模拟对手,简单理解为 模拟出 时间答题+回答正确率 。这样子是不是就很容易理解了讷。这里我用的就是使用数组管理,在数组中规定几组 答题时间和回答正确率。如下代码所示
var robotData = [
//minTime机器人至少多少秒后才能作答时间 randmTime机器人答题随机时间范围时间 accuracy回答正确率
{ “minTime”: 1500, “randmTime”: 3500, “accuracy”: 0.5 },
{ “minTime”: 800, “randmTime”: 3200, “accuracy”: 0.6 },
{ “minTime”: 700, “randmTime”: 3000, “accuracy”: 0.7 },
{ “minTime”: 600, “randmTime”: 2800, “accuracy”: 0.8 },
{ “minTime”: 500, “randmTime”: 2500, “accuracy”: 0.9 }
]

第二步:哪个模拟对手来回答问题

采用定时器的方法随机这个数组 。这个不用过多解释。示例代码如下所示:
var inter;
//level机器人等级 number 0-5
//callBackFun 回调函数 function 回调传回 0=选择错误答案 1=选择正确答案

function startRobotF(level, callBack)
{
if (inter) { clearInterval(inter);inter = null}
var startTime = new Date().getTime();
var robotTime = robotData[level].minTime + Math.random() * robotData[level].randmTime; //机器人答题用时
inter = setInterval(function ()
{
if (new Date().getTime() - startTime >= robotTime)
{
if (Math.random() < robotData[level].accuracy)
{
callBack(1);//回答正确
}
else {
callBack(0);//回答错误
}
}
}, _tm)
}
嘻嘻~~是不是很简单,如果大佬有更厉害的想法记得分享给我哦,拜了个呗。(邀请好友模块下一次也会分享给大家)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值