Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local field=
- local chessFreq=4632
- local actions = {}
- actions['p'] = {"s16", "du", "ccs", "u", "du", "u", "u", "acu", "ac", "l", "ac", "l", "ac", "l", "ac", "l", "d", "d", "acu", "d", "s16", "pu"}
- actions['r'] = {"s16", "du", "ccs", "u", "u", "u", "f", "act", "acu", "acd", "di", "acm", "du", "u", "acu", "d", "acu", "acd", "r", "acm", "acu", "acd", "ac", "acm", "du", "u", "acu", "d", "acu", "acd", "r", "acm", "acu", "acd", "ac", "acm", "du", "u", "acu", "d", "acu", "acd", "r", "acm", "acu", "acd", "ac", "acm", "du", "u", "acu", "d", "acu", "acd", "r", "acm", "acu", "acd", "ac", "acx", "b", "d", "d", "d", "s16", "pu"}
- actions['h'] = {"s16", "du", "ccs", "u", "du", "u", "du", "u", "du", "u", "du", "u","tb", "ac","tb", "d", "l", "ac", "r", "r", "ac", "l", "acu", "d", "acu", "d", "ac", "acu", "l", "l", "ac", "l", "l", "d", "acu", "d", "s16", "pu"}
- actions['b'] = {"s16", "du", "ccs", "u", "u", "u", "u", 'acu', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'd', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'd', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'ac', 'l', 'd', 'd', 's16', 'pu'}
- actions['k'] = {"s16", "du", "ccs", "u", 'du', 'u', 'u', 'du', 'u', 'u', 's5', 'acu', 'ccs', 'ac', 'l', 'l', 'ac', 'd', 'd', 'l', 'ac', 'l', 'l', 'ac', 'r', 'acu', 'd', 'd', 'acu', 'd', 's16', 'pu'}
- actions['q'] = {"s16", "du", "ccs", "u", "du", "u", "u", "du", "u", "f", "l", "acd", "f", "acu", "l", "f", "acd", "f", "acu", "l", "f", "acd", "f", "acu", "l", "f", "acd", "f", "acu", "l", "f", "r", "b", "u", "s6", "acu", "ccs", "d", "d", "acu", "d", "d", "acu", "d", "s16", "pu"}
- local easyMoves={du=turtle.digUp,dd=turtle.digDown,u=function() repeat until turtle.up() end,f=function() repeat until turtle.forward() end,d=function() repeat until turtle.down() end,b=function() repeat until turtle.back() end, di=turtle.dig,l=turtle.turnLeft,r=turtle.turnRight,pu=turtle.placeUp,pl=turtle.place,pd=turtle.placeDown}
- local stateRegarding={ac={"di","pl"},acu={"du","pu"},acd={"dd","pd"},act={"r","l"},acx={"l","r"},acm={"f","b"}}
- function doMove(move,state,isWhite)
- if(move:sub(1,1) == "s")then
- turtle.select(tonumber(move:sub(2)))
- elseif(easyMoves[move])then
- easyMoves[move]()
- elseif(stateRegarding[move])then
- easyMoves[stateRegarding[move][state]]()
- elseif(move == "ccs")then
- if(isWhite)then
- turtle.select(1)
- else
- turtle.select(2)
- end
- elseif(move=="tb")then
- if(isWhite) then
- turtle.turnLeft()
- turtle.turnLeft()
- end
- end
- end
- function cls()
- term.setBackgroundColor(colors.black)
- term.clear()
- term.setCursorPos(1,1)
- end
- modem=peripheral.wrap("right")
- modem.open(chessFreq)
- while true do
- local event={os.pullEvent("modem_message")}
- if event[5] and #event[5]==11 and event[5]:sub(1,2)==field then
- local tempState=event[5]:sub(4,8)=="build" and 2 or 1
- local color=event[5]:sub(11,11)=="w"
- print(event[5])
- for i=1,#actions[event[5]:sub(10,10)] do
- doMove(actions[event[5]:sub(10,10)][i],tempState,color)
- end
- modem.transmit(chessFreq,chessFreq,field.." done")
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment