--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 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