View difference between Paste ID: 6PGh74Nr and JWqMxFef
SHOW: | | - or go back to the newest paste.
1-
state = 1
1+
local field=
2-
colory = 0
2+
local chessFreq=4632
3-
piece = ""
3+
local actions = {}
4
actions['p']   = {"s16", "du", "ccs", "u", "du", "u", "u", "acu", "ac", "l", "ac", "l", "ac", "l", "ac", "l", "d", "d", "acu", "d", "s16", "pu"}
5-
actions = {}
5+
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"}
6-
actions['pawn']   = {"s16", "du", "ccs", "u", "du", "u", "u", "acu", "ac", "l", "ac", "l", "ac", "l", "ac", "l", "d", "d", "acu", "d", "s16", "pu"}
6+
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"}
7-
actions['tower']  = {"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"}
7+
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'}
8-
actions['horse']  = {"s16", "du", "ccs", "u", "du", "u", "du", "u", "du", "u", "du", "u", "ac", "d", "l", "ac", "r", "r", "ac", "l", "acu", "d", "acu", "d", "ac", "acu", "l", "l", "ac", "l", "l", "d", "acu", "d", "s16", "pu"}
8+
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'}
9-
actions['bishop'] = {"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'}
9+
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"}
10-
actions['king']   = {"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'}
10+
11-
actions['queen']  = {"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"}
11+
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}
12
13-
function changeState()
13+
local stateRegarding={ac={"di","pl"},acu={"du","pu"},acd={"dd","pd"},act={"r","l"},acx={"l","r"},acm={"f","b"}}
14-
  if(state == 1)then
14+
function doMove(move,state,isWhite)
15-
    state = 0
15+
	if(move:sub(1,1) == "s")then
16-
  else
16+
		turtle.select(tonumber(move:sub(2)))
17-
    state = 1
17+
	elseif(easyMoves[move])then
18-
  end
18+
		easyMoves[move]()
19-
  file = fs.open("state", "w")
19+
	elseif(stateRegarding[move])then
20-
  file.write(state)
20+
		easyMoves[stateRegarding[move][state]]()
21-
  file.close()
21+
	elseif(move == "ccs")then
22
		if(isWhite)then
23
			turtle.select(1)
24-
function readState()
24+
		else
25-
  file = fs.open("state", "r")
25+
			turtle.select(2)
26-
  state = tonumber(file.readLine())
26+
		end
27-
  file.close()
27+
	elseif(move=="tb")then
28
		if(isWhite) then
29
			turtle.turnLeft()
30-
function doMove(move)
30+
			turtle.turnLeft()
31-
  if(move == "s16")then
31+
		end
32-
    turtle.select(16)
32+
	end
33-
  elseif(move == "s5")then
33+
34-
    turtle.select(5)
34+
35-
  elseif(move == "s6")then
35+
36-
    turtle.select(6)
36+
	term.setBackgroundColor(colors.black)
37-
  elseif(move == "du")then
37+
	term.clear()
38-
    turtle.digUp()
38+
	term.setCursorPos(1,1)
39-
  elseif(move == "dd")then
39+
40-
    turtle.digDown()
40+
modem=peripheral.wrap("right")
41-
  elseif(move == "di")then
41+
modem.open(chessFreq)
42-
    turtle.dig()
42+
while true do
43-
  elseif(move == "u")then
43+
	local event={os.pullEvent("modem_message")}
44-
    turtle.up()
44+
	if event[5] and #event[5]==11 and event[5]:sub(1,2)==field then
45-
  elseif(move == "d")then
45+
		local tempState=event[5]:sub(4,8)=="build" and 2 or 1
46-
    turtle.down()
46+
		local color=event[5]:sub(11,11)=="w"
47-
  elseif(move == "l")then
47+
		print(event[5])
48-
    turtle.turnLeft()
48+
		for i=1,#actions[event[5]:sub(10,10)] do
49-
  elseif(move == "r")then
49+
			doMove(actions[event[5]:sub(10,10)][i],tempState,color)
50-
    turtle.turnRight()
50+
		end
51-
  elseif(move == "f")then
51+
		modem.transmit(chessFreq,chessFreq,field.." done")
52-
    turtle.forward()
52+
	end
53-
  elseif(move == "b")then
53+