SqlSugar 列表随机排序 - SqlFunc.GetRandom()

//随机排序

.OrderByIF(input.OrderBy == 0, t1 => SqlFunc.GetRandom()

SqlFunc.GetRandom() 获取到列表的值可以进行随机排序,适用于列表,比如综合选项、随机选项

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
解释下面代码 game.ready = { startX: 41.5, startY: 21.5, width: game.cellWidth * 3, height: game.cellWidth, bubbles: [], init: function () { this.genrate(); var me = this; me.flyin(); }, genrate: function () { for (var i = 0; i < 3; i++) { var color = game.colors[game.getRandom(game.mode)]; this.bubbles.push(new Bubble(i, 0, color)); } //console.log(this.bubbles); }, draw: function () { var ctx = game.ctx; ctx.save(); ctx.translate(this.startX, this.startY); ctx.beginPath(); ctx.strokeStyle = "#555"; ctx.strokeRect(0, 0, this.width, this.height); ctx.stroke(); //绘制准备的泡 this.bubbles.forEach(function (bubble) { bubble.draw(); }); ctx.restore(); }, isMoving: false, flyin: function () { var emptys = game.map.getEmptyBubbles(); if (emptys.length < 3) { //GAME OVER game.over(); return; } var me = this; var status = [0, 0, 0]; var times = 1; game.play("flyin", function () { if (status[0] && status[1] && status[2]) { game.stop("flyin"); me.isMoving = false; status = [0, 0, 0]; me.bubbles = []; me.genrate(); return; } me.isMoving = true; for (var i = 0; i < me.bubbles.length; i++) { if (status[i]) { continue; } var target = emptys[i]; var x2 = target.px + game.map.startX - me.startX; var y2 = target.py + game.map.startY - me.startY; var current = me.bubbles[i]; var step = Math.abs(x2 - current.px)/10 || Math.abs(y2 - current.y)/10; if (current.px < x2) { current.py = ((y2 - current.py) / (x2 - current.px)) * step + current.py; current.px += step; if (current.px > x2) { current.px = x2; } } else if (current.px > x2) { current.py = ((y2 - current.py) / (current.px - x2)) * step + current.py; current.px -= step; if (current.px < x2) { current.px = x2; } } else { current.py += step; } if (current.py > y2) { current.py = y2; } if (parseInt(current.px+0.1) == x2 && parseInt(current.py+0.1) == y2) { status[i] = 1; current.x = target.x; current.y = target.y; game.map.addBubble(current); game.map.clearLine(current.x, current.y, current.color, false); } } }, 10); } };
06-10
这段代码定义了一个名为 `game.ready` 的对象,该对象包含了多个属性和方法,用于实现游戏中的准备状态。 具体来说,该对象的属性包括:`startX`、`startY`、`width`、`height`、`bubbles` 和 `isMoving`。其中,`startX` 和 `startY` 表示准备状态区域的左上角坐标,`width` 和 `height` 表示准备状态区域的宽度和高度,`bubbles` 是一个数组,用于存储准备状态下的气泡对象,`isMoving` 表示当前准备状态下的气泡是否在移动中。 该对象还包含了多个方法,其中比较重要的是 `init`、`genrate`、`draw` 和 `flyin`。 `init` 方法用于初始化准备状态,其中会调用 `genrate` 方法生成三个新的气泡,并调用 `flyin` 方法将气泡飞入游戏区域。 `genrate` 方法用于生成三个新的气泡,其中会根据当前游戏模式随机生成气泡的颜色,并将生成的气泡对象存储到 `bubbles` 数组中。 `draw` 方法用于绘制准备状态下的气泡,其中会遍历 `bubbles` 数组,调用每个气泡对象的 `draw` 方法进行绘制。 `flyin` 方法用于将准备状态下的气泡飞入游戏区域。该方法首先会调用 `game.map.getEmptyBubbles` 方法获取当前游戏区域中空闲的气泡位置,然后将准备状态下的气泡移动到这些位置。移动过程中,会根据气泡当前位置和目标位置之间的距离计算移动步长,并逐步将气泡移动到目标位置。当所有气泡都移动到目标位置时,该方法会调用 `game.map.addBubble` 方法将气泡添加到游戏区域,并调用 `game.map.clearLine` 方法清除与新气泡相连的珠子。如果游戏区域中没有足够的空闲气泡位置,则游戏结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值