22
红色与蓝色-Pixel Team Battlebots
比赛正式结束。蓝队获胜! 我autoran 2 组的50个战斗和令人惊讶的,蓝为他们赢得了所有100个。从统计数据来看,很明显,PhiNotPi和Sp3000的合作条目是真正的英雄。你们两个干得好!实际上,如果您取消了Blue Team的其他所有成员的资格,Sphibot仍然会打出很好的战斗。一些红队人员正计划拆除Sphibot,但是这种努力似乎正在消失。对不起,红队。 竞赛已正式结束,但这并不意味着您不能再回答,这仅意味着我永远不会再宣布官方获胜者。欢迎两个团队继续提交机器人程序,只是为了好玩。只要以后没有任何输入中断,控制器将保持运行状态并保持运行状态。 这是一场山丘之王的比赛,但是将有两支球队参加比赛,而不是每个人都在互相对抗:红色和蓝色。获胜者只有一个。 您所在的团队取决于您的PPCG用户ID号。要找到此内容,请单击屏幕顶部的头像(您必须登录),然后查看打开的页面的网址。后面的数字users/是您的身份证号: https://codegolf.stackexchange.com/users/[id number]/[display name] 例如,我的PPCG用户ID号是26997: https://codegolf.stackexchange.com/users/26997/calvins-hobbies 请注意,对于不同的Stack Exchange站点,此数字是不同的。 如果您的ID是偶数,则说明您是Red小组的成员。 如果您的ID是一个奇数,那么您就在Blue团队中。 无法更改团队。 您必须与您的团队一起努力,以在某种战场上击败其他团队,在这种情况下,每个用户都在战场的128×128网格上控制其团队颜色的“像素”。像素可以四处移动,与队友进行交流并取出另一个团队的像素。如果任何人都可以创建任意数量的像素,那将一发不可收拾,因此每个用户只能对此问题提交一个答案。 此堆栈代码段(此小提琴 [ 全屏 ] 的缩小版本)是整个比赛的控制器。它会自动读取提交的内容,确保其有效,并在团队之间进行战斗。它随时可以使用JavaScript在浏览器中完成此操作。由于JavaScript是大多数浏览器支持的唯一客户端脚本语言,因此所有提交内容也必须使用JavaScript编写。 function toggleDebug(){debug=$("#debug").is(":checked")}function rnd(e){return Math.floor(Math.random()*e)}function shuffle(e){for(var t,a,r=e.length;r;t=rnd(r),a=e[--r],e[r]=e[t],e[t]=a);return e}function maskedEval(e,t){var a={};for(i in this)a[i]=void 0;for(i in t)t.hasOwnProperty(i)&&(a[i]=t[i]);return new Function("with(this) { "+e+";}").call(a)}function createBattle(e,t,a,r){function n(){var e=rnd(i.length),t=i[e];return i.splice(e,1),t}var l={};l.width=l.height=128,l.totalMoves=2048,l.radius=16,l.msgMaxLength=64,l.timeLimit=15,l.move=0,l.redToMove=a,l.animated=r,l.running=!1,l.over=!1;for(var o=0,i=new Array(l.width*l.height),d=0;d<l.height;d++)for(var s=0;s<l.width;s++)i[o++]={x:s,y:d};l.redTeam=shuffle(e.slice()),l.redMsgs={},l.redKills={};for(var …