Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rednet.open("back")
- term.setBackgroundColor(32768)
- term.clear()
- begin = 1 --wer ist als nächstes dran | 1 = grün | 2 = rot
- a = 0 --belegte Felder | 0 = nicht belegt | 1 = grün belegt | 2 = rot belegt
- b = 0
- c = 0
- d = 0
- e = 0
- f = 0
- g = 0
- h = 0
- i = 0
- function calc_color(color)
- return math.pow(2, color - 1)
- end
- function msg(gap, line, color, groundb, text)
- term.setBackgroundColor(calc_color(groundb))
- term.setCursorPos(gap,line)
- term.setTextColor(calc_color(color))
- text = term.write(text)
- end
- term.setBackgroundColor(32768)
- term.clear()
- msg(20,02,05,16,"Tik Tak Toe")
- msg(14,04,01,16,"Color green will beginn")
- msg(20,04,06,16,"green")
- msg(14,06,06,16,"green")
- msg(24,06,01,16,"<----")
- msg(34,06,15,16,"red")
- msg(19,08,09,16,"+---+---+---+")
- msg(19,09,09,16,"| | | |") --1|2|3 --a|b|c
- msg(19,10,09,16,"| | | |")
- msg(19,11,09,16,"+---+---+---+")
- msg(19,12,09,16,"| | | |") --4|5|6 --d|e|f
- msg(19,13,09,16,"| | | |")
- msg(19,14,09,16,"+---+---+---+")
- msg(19,15,09,16,"| | | |") --7|8|9 --g|h|i
- msg(19,16,09,16,"| | | |")
- msg(19,17,09,16,"+---+---+---+")
- msg(20,19,15,01,"-> reset <-")
- function green()
- msg(20,19,06,16,"green wins")
- turtlereset()
- os.reboot()
- end
- function red()
- msg(21,19,15,16,"red wins")
- turtlereset()
- os.reboot()
- end
- function draw()
- msg(22,19,15,16,"no one wins")
- turtlereset()
- os.reboot()
- end
- function turtlereset()
- sleep(0.25)
- rednet.send(8903,3)
- sleep(0.25)
- rednet.send(8913,3)
- sleep(0.25)
- rednet.send(8908,3)
- sleep(0.25)
- rednet.send(8911,3)
- sleep(0.25)
- rednet.send(8910,3)
- sleep(0.25)
- rednet.send(8905,3)
- sleep(0.25)
- rednet.send(8912,3)
- sleep(0.25)
- rednet.send(8909,3)
- sleep(0.25)
- rednet.send(8906,3)
- sleep(0.25)
- end
- function detect() --gewinner/unentschieden erkennung
- if a == 1 and b == 1 and c == 1 then
- green()
- elseif a == 2 and b == 2 and c == 2 then
- red()
- elseif d == 1 and e == 1 and f == 1 then
- green()
- elseif d == 2 and e == 2 and f == 2 then
- red()
- elseif g == 1 and h == 1 and i == 1 then
- green()
- elseif g == 2 and h == 2 and i == 2 then
- red()
- elseif a == 1 and d == 1 and g == 1 then
- green()
- elseif a == 2 and d == 2 and g == 2 then
- red()
- elseif b == 1 and e == 1 and h == 1 then
- green()
- elseif b == 2 and e == 2 and h == 2 then
- red()
- elseif c == 1 and f == 1 and i == 1 then
- green()
- elseif c == 2 and f == 2 and i == 2 then
- red()
- elseif a == 1 and e == 1 and i == 1 then
- green()
- elseif a == 2 and e == 2 and i == 2 then
- red()
- elseif c == 1 and e == 1 and g == 1 then
- green()
- elseif c == 2 and e == 2 and g == 2 then
- red()
- elseif a >= 1 and b >= 1 and c >= 1 and d >= 1 and e >= 1 and f >= 1 and g >= 1 and h >= 1 and i >= 1 then
- draw()
- end
- end
- while true do
- local event, button, X, Y = os.pullEvent("mouse_click")
- if X >= 20 and X <= 22 and Y >= 09 and Y <= 10 and a == 0 then --Slot 1
- if begin == 1 then
- begin = 2
- a = 1
- msg(20,09,06,06," ")
- msg(20,10,06,06," ")
- rednet.send(8903,1)
- detect()
- elseif begin == 2 then
- begin = 1
- a = 2
- msg(20,09,15,15," ")
- msg(20,10,15,15," ")
- rednet.send(8903,2)
- detect()
- end
- elseif X >= 24 and X <= 26 and Y >= 09 and Y <= 10 and b == 0 then --Slot 2
- if begin == 1 then
- begin = 2
- b = 1
- msg(24,09,06,06," ")
- msg(24,10,06,06," ")
- rednet.send(8913,1)
- detect()
- elseif begin == 2 then
- begin = 1
- b = 2
- msg(24,09,15,15," ")
- msg(24,10,15,15," ")
- rednet.send(8913,2)
- detect()
- end
- elseif X >= 28 and X <= 30 and Y >= 09 and Y <= 10 and c == 0 then --Slot 3
- if begin == 1 then
- begin = 2
- c = 1
- msg(28,09,06,06," ")
- msg(28,10,06,06," ")
- rednet.send(8908,1)
- detect()
- elseif begin == 2 then
- begin = 1
- c = 2
- msg(28,09,15,15," ")
- msg(28,10,15,15," ")
- rednet.send(8908,2)
- detect()
- end
- elseif X >= 20 and X <= 22 and Y >= 12 and Y <= 13 and d == 0 then --Slot 4
- if begin == 1 then
- begin = 2
- d = 1
- msg(20,12,06,06," ")
- msg(20,13,06,06," ")
- rednet.send(8911,1)
- detect()
- elseif begin == 2 then
- begin = 1
- d = 2
- msg(20,12,15,15," ")
- msg(20,13,15,15," ")
- rednet.send(8911,2)
- detect()
- end
- elseif X >= 24 and X <= 26 and Y >= 12 and Y <= 13 and e == 0 then --Slot 5
- if begin == 1 then
- begin = 2
- e = 1
- msg(24,12,06,06," ")
- msg(24,13,06,06," ")
- rednet.send(8910,1)
- detect()
- elseif begin == 2 then
- begin = 1
- e = 2
- msg(24,12,15,15," ")
- msg(24,13,15,15," ")
- rednet.send(8910,2)
- detect()
- end
- elseif X >= 28 and X <= 30 and Y >= 12 and Y <= 13 and f == 0 then --Slot 6
- if begin == 1 then
- begin = 2
- f = 1
- msg(28,12,06,06," ")
- msg(28,13,06,06," ")
- rednet.send(8905,1)
- detect()
- elseif begin == 2 then
- begin = 1
- f = 2
- msg(28,12,15,15," ")
- msg(28,13,15,15," ")
- rednet.send(8905,2)
- detect()
- end
- elseif X >= 20 and X <= 22 and Y >= 15 and Y <= 16 and g == 0 then --Slot 7
- if begin == 1 then
- begin = 2
- g = 1
- msg(20,15,06,06," ")
- msg(20,16,06,06," ")
- rednet.send(8912,1)
- detect()
- elseif begin == 2 then
- begin = 1
- g = 2
- msg(20,15,15,15," ")
- msg(20,16,15,15," ")
- rednet.send(8912,2)
- detect()
- end
- elseif X >= 24 and X <= 26 and Y >= 15 and Y <= 16 and h == 0 then --Slot 8
- if begin == 1 then
- begin = 2
- h = 1
- msg(24,15,06,06," ")
- msg(24,16,06,06," ")
- rednet.send(8909,1)
- detect()
- elseif begin == 2 then
- begin = 1
- h = 2
- msg(24,15,15,15," ")
- msg(24,16,15,15," ")
- rednet.send(8909,2)
- detect()
- end
- elseif X >= 28 and X <= 30 and Y >= 15 and Y <= 16 and i == 0 then --Slot 9
- if begin == 1 then
- begin = 2
- i = 1
- msg(28,15,06,06," ")
- msg(28,16,06,06," ")
- rednet.send(8906,1)
- detect()
- elseif begin == 2 then
- begin = 1
- i = 2
- msg(28,15,15,15," ")
- msg(28,16,15,15," ")
- rednet.send(8906,2)
- detect()
- end
- elseif X >= 20 and X <= 30 and Y >= 19 and Y <= 19 then
- term.setCursorPos(1,1)
- term.setBackgroundColor(colors.black)
- term.clear()
- term.write("reboot...")
- turtlereset()
- os.reboot()
- else
- --
- end
- end
Add Comment
Please, Sign In to add comment