五子棋基本获胜递归

34d67f3c1e23484382089d6658858cda.jpg

5c9ba83df8c94f6b931fc7c1e0893378.jpg 

--五子棋插件包
--星空露珠工作室制作
--迷你号:247312290

local hei=408
local bai=457
local color={[hei]='黑棋',[bai]='白棋'}
--获取方块id并返回
local function getblockid(x,y,z) local result,id=Block:getBlockID(x,y,z) return id end
--检测五子连珠或者六连珠
local function check(e)
 if e.blockid==hei or e.blockid==bai then 
  local dr={{0,1},{1,1},{1,-1},{1,0}}
  local m,n=0,0
  for k,v in pairs(dr) do
     local m,n=0,0
     while (getblockid(e.x-v[1]*(m+1),e.y,e.z-v[2]*(m+1))==e.blockid) do  m=m+1  end
     while (getblockid(e.x+v[1]*(n+1),e.y,e.z+v[2]*(n+1))==e.blockid) do  n=n+1  end
   if (m+n)>=4 then 
     local title="恭喜玩家"..color[e.blockid]..(m+n+1).."连珠胜利"  
     print(title)
     Chat:sendSystemMsg(title) 
     return end   
  end
 end
end
Player:gainItems(0,bai,64,1)
Player:gainItems(0,hei,64,1)
Player:gainItems(0,12005,1,1)
ScriptSupportEvent:registerEvent([=[Block.Add]=], check)
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值