Posted 23 May 2015 - 10:06 PM
                sorry if you found my English bad, I'm Saudi
what will my program do?
it will simply draw TicTacToe and allow you to play with your friend
V1.2 fixed the a bug that if there is no winner you can't do any thing
but now it will end the game if there is no winner
and every time the game ends it will ask you if you want to play or not
setup:
put a computer
put an advanced monitoron the right side (V1.2 allow you to place the monitor any side you want)
type pastebin run VreVCci8
pastebin:
http://pastebin.com/VreVCci8
program:
special thanks to flaghacker * he helped me a lot in using the monitors
I don't know how mention his name because I'm new * please tell me how
this two weeks I have exams so I will upgrade that to play one player later
                
                    what will my program do?
it will simply draw TicTacToe and allow you to play with your friend
V1.2 fixed the a bug that if there is no winner you can't do any thing
but now it will end the game if there is no winner
and every time the game ends it will ask you if you want to play or not
setup:
put a computer
put an advanced monitor
type pastebin run VreVCci8
pastebin:
http://pastebin.com/VreVCci8
program:
mon=peripheral.find("monitor")
function DrawTTT()
  mon.setBackgroundColor(colors.blue)
  mon.clear()
  mon.setBackgroundColor(colors.white)
  for pos=1,5 do
	mon.setCursorPos(2,pos)
	mon.write("	 ")
  end
  mon.setBackgroundColor(colors.black)
  for pos=1,5 do
	mon.setCursorPos(3,pos)
	mon.write(" ")
  end
  for pos=1,5 do
	mon.setCursorPos(5,pos)
	mon.write(" ")
  end
  mon.setCursorPos(2,2)
  mon.write("	 ")
  mon.setCursorPos(2,4)
  mon.write("	 ")
end
function play()
  Z=true
  mon.setBackgroundColor(colors.white)
  mon.setTextColor(colors.black)
  while Z do
	event, Ts, Tx, Ty=os.pullEvent(monitor_touch)
	if Tx==2 and Ty==1 and L1==" " then
	  L1=player
	  mon.setCursorPos(2,1)
	  mon.write(player)
	  Z=false
	elseif Tx==4 and Ty==1 and L2==" " then
	  L2=player
	  mon.setCursorPos(4,1)
	  mon.write(player)
	  Z=false
	elseif Tx==6 and Ty==1 and L3==" " then
	  L3=player
	  mon.setCursorPos(6,1)
	  mon.write(player)
	  Z=false
	elseif Tx==2 and Ty==3 and L4==" " then
	  L4=player
	  mon.setCursorPos(2,3)
	  mon.write(player)
	  Z=false
	elseif Tx==4 and Ty==3 and L5==" " then
	  L5=player
	  mon.setCursorPos(4,3)
	  mon.write(player)
	  Z=false
	elseif Tx==6 and Ty==3 and L6==" " then
	  L6=player
	  mon.setCursorPos(6,3)
	  mon.write(player)
	  Z=false
	elseif Tx==2 and Ty==5 and L7==" " then
	  L7=player
	  mon.setCursorPos(2,5)
	  mon.write(player)
	  Z=false
	elseif Tx==4 and Ty==5 and L8==" " then
	  L8=player
	  mon.setCursorPos(4,5)
	  mon.write(player)
	  Z=false
	elseif Tx==6 and Ty==5 and L9==" " then
	  L9=player
	  mon.setCursorPos(6,5)
	  mon.write(player)
	  Z=false
	end
	os.sleep(1)
  end
end
function check()
  mon.setBackgroundColor(colors.lime)
  Won=true
  if L1==player and L2==player and L3==player then
	mon.setCursorPos(2,1)
	mon.write("	 ")
	playing=false
  elseif L4==player and L5==player and L6==player then
	mon.setCursorPos(2,3)
	mon.write("	 ")
	playing=false
  elseif L7==player and L8==player and L9==player then
	mon.setCusorPos(2,5)
	mon.write("	 ")
	playing=false
  elseif L1==player and L4==player and L7==player then
	for pos=1,5 do
	  mon.setCursorPos(2,pos)
	  mon.write(" ")
	end
	playing=false
  elseif L2==player and L5==player and L8==player then
	for pos=1,5 do
	  mon.setCursorPos(4,pos)
	  mon.write(" ")
	end
	playing=false
  elseif L3==player and L6==player and L9==player then
	for pos=1,5 do
	  mon.setCursorPos(6,pos)
	  mon.write(" ")
	end
	playing=false
  elseif L1==player and L5==player and L9==player then
	for pos=1,5 do
	  mon.setCursorPos(pos+1,pos)
	  mon.write(" ")
	end
	playing=false
  elseif L3==player and L5==player and L7==player then
	for pos=0,4 do
	  mon.setCursorPos(6-pos,pos+1)
	  mon.write(" ")
	end
	playing=false
  else
	Won=false
  end
  if Won then
	os.pullEvent(monitor_touch)
  end
end
CP=true
while CP do
  mon.setTextScale(1)
  DrawTTT()
  player="X"
  L1=" "
  L2=" "
  L3=" "
  L4=" "
  L5=" "
  L6=" "
  L7=" "
  L8=" "
  L9=" "
  playing=true
  while playing do
	play()
	check()
	if player=="X" then
	  player="O"
	elseif player=="O" then
	  player="X"
	end
	if L1==" " or L2==" " or L3==" " or L4==" " or L5==" " or L6==" " or L7==" " or L8==" " or L9==" " then
	elseif not Won then
	  playing=false
	end
  end
  if Won then
	if player=="X" then
	  player="O"
	elseif player=="O" then
	  player="X"
	end
	mon.setBackgroundColor(colors.black)
	mon.setTextColor(colors.white)
	mon.clear()
	mon.setCursorPos(1,1)
	mon.write("player")
	mon.write(player)
	mon.setCursorPos(3,3)
	mon.write("WON")
	mon.setCursorPos(1,5)
	mon.write("TheGame")
  end
  os.pullEvent(monitor_touch)
  mon.setBackgroundColor(colors.black)
  mon.setTextColor(colors.white)
  mon.clear()
  mon.setCursorPos(2,1)
  mon.write("Play?")
  mon.setCursorPos(1,3)
  mon.write("yes")
  mon.setCursorPos(1,5)
  mon.write("no")
  mon.setBackgroundColor(colors.lime)
  mon.setCursorPos(5,3)
  mon.write("  ")
  mon.setBackgroundColor(colors.red)
  mon.setCursorPos(5,5)
  mon.write("  ")
  click=false
  while not click do
	event, Ts, Tx, Ty=os.pullEvent(monitor_touch)
	if Ty==3 then
	  if Tx==5 or Tx==6 then
		click=true
		CP=true
	  end
	elseif Ty==5 then
	  if Tx==5 or Tx==6 then
		click=true
		CP=false
	  end
	end
  end
  if not CP then
	mon.setBackgroundColor(colors.black)
	mon.clear()
  end
end
special thanks to flaghacker * he helped me a lot in using the monitors
I don't know how mention his name because I'm new * please tell me how
this two weeks I have exams so I will upgrade that to play one player later
Edited on 24 May 2015 - 07:12 AM