Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --Vars
- width, height = term.getSize()
- i = 0
- i_max = width*height
- x = 1
- y = 1
- p1 = 0
- p2 = 0
- pad1 = math.ceil(height/2)
- pad2 = math.ceil(height/2)
- up = false
- right = true
- --Functions
- function drawPads()
- term.setCursorPos(1,pad1-1)
- write("#")
- term.setCursorPos(1,pad1)
- write("#")
- term.setCursorPos(1,pad1+1)
- write("#")
- term.setCursorPos(1,pad1-2)
- write(" ")
- term.setCursorPos(1,pad1+2)
- write(" ")
- if pad1 == 4 then
- term.setCursorPos(1,pad1-2)
- write("-")
- end
- if pad1 == 15 then
- term.setCursorPos(1,pad1+2)
- write("-")
- end
- term.setCursorPos(width-1,pad2-1)
- write("#")
- term.setCursorPos(width-1,pad2)
- write("#")
- term.setCursorPos(width-1,pad2+1)
- write("#")
- term.setCursorPos(width-1,pad2-2)
- write(" ")
- term.setCursorPos(width-1,pad2+2)
- write(" ")
- if pad2 == 4 then
- term.setCursorPos(width-1,pad2-2)
- write("-")
- end
- if pad2 == 15 then
- term.setCursorPos(width-1,pad2+2)
- write("-")
- end
- end
- function ball()
- term.setCursorPos(x,y)
- write(" ")
- if up == true then
- y = y - 1
- else
- y = y + 1
- end
- if right == true then
- if (x == width - 2) then
- if y == pad2 or y == pad2-1 or y == pad2+1 then
- x = x - 1
- right = false
- elseif up == true and y == pad2-2 then
- x = x - 1
- right = false
- elseif up == false and y == pad2+2 then
- x = x - 1
- right = false
- else
- x = x + 1
- end
- else
- x = x + 1
- end
- else
- if (x == 2) then
- if y == pad1 or y == pad1-1 or y == pad1+1 then
- x = x + 1
- right = true
- elseif up == true and y == pad1-2 then
- x = x + 1
- right = true
- elseif up == false and y == pad1+2 then
- x = x + 1
- right = true
- else
- x = x - 1
- end
- else
- x = x - 1
- end
- end
- if x == 1 then
- right = true
- p2 = p2 + 1
- x = math.ceil(width/2)
- y = math.ceil(height/2)
- term.setCursorPos(math.ceil(width/2)-3,1)
- write(p1.." | "..p2)
- end
- if x == (width - 1) then
- right = false
- p1 = p1 + 1
- x = math.ceil(width/2)
- y = math.ceil(height/2)
- term.setCursorPos(math.ceil(width/2)-3,1)
- write(p1.." | "..p2)
- end
- if y == 3 then up = false end
- if y == height-2 then up = true end
- end
- --Intro
- term.clear()
- term.setCursorPos(1,1)
- print("")
- print("")
- print(" X==---------------------------------==X")
- print(" |ComputerCraft Pong, made by Chub1337!|")
- print(" X==---------------------------------==X")
- print("")
- print("")
- print("")
- print(" Player 1 controls: W = up, S = down")
- print("")
- print(" Player 2 controls: O = up, L = down")
- print("")
- print("")
- print("")
- print("")
- print("")
- print("")
- write("Press <Enter> to continue.")
- io.read()
- term.clear()
- term.setCursorPos(1,1)
- write("Player 1")
- term.setCursorPos(width-8,1)
- write("Player 2")
- term.setCursorPos(math.ceil(width/2)-3,1)
- write(p1.." | "..p2)
- drawPads()
- term.setCursorPos(1,height)
- write(pad1.."|"..pad2)
- for i=1,width-1,1 do
- term.setCursorPos(i,2)
- write("-")
- end
- term.setCursorPos(1,height-1)
- for i=1,width-1,1 do
- term.setCursorPos(i,height-1)
- write("-")
- end
- --Pong
- x = math.ceil(width/2)
- y = math.ceil(height/2)
- dir = math.ceil(math.random(0,4))
- if dir == 1 then
- up = true
- right = true
- elseif dir == 2 then
- up = true
- right = false
- elseif dir == 3 then
- up = false
- right = true
- elseif dir == 4 then
- up = false
- right = false
- end
- function timerupdate()
- ball()
- term.setCursorPos(7,height)
- write("X:"..x.." ")
- term.setCursorPos(13,height)
- write("Y:"..y.." ")
- term.setCursorPos(18,height)
- write("up:"..tostring(up).." ")
- term.setCursorPos(30,height)
- write("right:"..tostring(right).." ")
- term.setCursorPos(x,y)
- write("O")
- term.setCursorPos(1,height)
- write(pad1.."|"..pad2.." ")
- timer1 = os.startTimer(.1)
- end
- timer1 = os.startTimer(.1)
- while true do
- event, par = os.pullEvent()
- if event == "timer" and par == timer1 then timerupdate() end
- if event == "char" then
- if par == "w" then
- pad1 = pad1 - 1
- if pad1 < 4 then
- pad1 = 4
- end
- elseif par == "s" then
- pad1 = pad1 + 1
- if pad1 > height-3 then
- pad1 = height-3
- end
- end
- if par == "o" then
- pad2 = pad2 - 1
- if pad2 < 4 then
- pad2 = 4
- end
- elseif par == "l" then
- pad2 = pad2 + 1
- if pad2 > height-3 then
- pad2 = height-3
- end
- end
- end
- drawPads()
- end
Add Comment
Please, Sign In to add comment