Advertisement
Paragorn

Advent 10

Dec 10th, 2013
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.79 KB | None | 0 0
  1. --Farbmonitor Aktivieren
  2. --"AN" = Spiel ist mit Farbe (Nur Advance Monitor)
  3. --"AUS" = Fuer alle Monitore. (keine Farbe)
  4.  
  5. Farbe = "AN"
  6.  
  7.  
  8. -- Variablen
  9. Programmname = "XXO"
  10. Monitor = peripheral.wrap("top")
  11. Spieler = "X"
  12. Feld_1 = "leer"
  13. Feld_2 = "leer"
  14. Feld_3 = "leer"
  15. Feld_4 = "leer"
  16. Feld_5 = "leer"
  17. Feld_6 = "leer"
  18. Feld_7 = "leer"
  19. Feld_8 = "leer"
  20. Feld_9 = "leer"
  21. Klick = 0 + 0
  22.  
  23. -- Funktionen --
  24.  -- Check des Spielstandes
  25. function Check( PosX , PosY )
  26. Klick = Klick + 1
  27.  if Spieler == "X" then
  28.   X_setzen(PosX,PosY)
  29.   Spieler = "O"
  30.  else
  31.   O_setzen(PosX,PosY)
  32.   Spieler = "X"
  33.  end
  34. end
  35.  -- Grundlinien
  36. function Raster()
  37.  Monitor.clear()
  38.  if Farbe == "AN" then
  39.   Monitor.setTextColor(colors.white)
  40.  end
  41.  Monitor.setCursorPos(26,19)
  42.  Monitor.write("STOP")
  43.  for i =1,17 do
  44.   Monitor.setCursorPos(10,i+1)
  45.   Monitor.write("|")
  46.   Monitor.setCursorPos(20,i+1)
  47.   Monitor.write("|")
  48.  end
  49.   Monitor.setCursorPos(2,7)
  50.   Monitor.write("--------+---------+--------")
  51.   Monitor.setCursorPos(2,13)
  52.   Monitor.write("--------+---------+--------")
  53. end
  54.  -- X
  55. function X_setzen( A , B )
  56.  if Farbe == "AN" then
  57.   Monitor.setTextColor(colors.red)
  58.  end
  59.  Monitor.setCursorPos(A,B)
  60.  Monitor.write("#   #")
  61.  Monitor.setCursorPos(A,B+1)
  62.  Monitor.write(" # # ")
  63.  Monitor.setCursorPos(A,B+2)
  64.  Monitor.write("  #  ")
  65.  Monitor.setCursorPos(A,B+3)
  66.  Monitor.write(" # # ")
  67.  Monitor.setCursorPos(A,B+4)
  68.  Monitor.write("#   #")
  69. end
  70.  -- O
  71. function O_setzen( A , B )
  72.  if Farbe == "AN" then
  73.   Monitor.setTextColor(colors.blue)
  74.  end
  75.  Monitor.setCursorPos(A,B)
  76.  Monitor.write(" ### ")
  77.  Monitor.setCursorPos(A,B+1)
  78.  Monitor.write("#   #")
  79.  Monitor.setCursorPos(A,B+2)
  80.  Monitor.write("#   #")
  81.  Monitor.setCursorPos(A,B+3)
  82.  Monitor.write("#   #")
  83.  Monitor.setCursorPos(A,B+4)
  84.  Monitor.write(" ### ")
  85. end
  86.  
  87. Raster()
  88.  
  89. -- Touchabfrage --
  90. while true do
  91.  local event, side, X, Y = os.pullEvent("monitor_touch")
  92.  --Zeile 1
  93.  if X >= 2 and X <= 9 and Y >= 2 and Y <= 6 and Feld_1 == "leer" then
  94.   Feld_1 = Spieler
  95.   Check(3,2)
  96.   sleep(0.5)
  97.   if Klick == 9 then
  98.    shell.run(Programmname)
  99.    break
  100.   end
  101.  end
  102.  
  103.  if X >= 11 and X <= 19 and Y >= 2 and Y <= 6 and Feld_2 == "leer" then
  104.   Feld_2 = Spieler
  105.   Check(13,2)
  106.   sleep(0.5)
  107.   if Klick == 9 then
  108.    shell.run(Programmname)
  109.    break
  110.   end
  111.  end
  112.  
  113.  if X >= 21 and X <= 29 and Y >= 2 and Y <= 6 and Feld_3 == "leer" then
  114.   Feld_3 = Spieler
  115.   Check(23,2)
  116.   sleep(0.5)
  117.   if Klick == 9 then
  118.    shell.run(Programmname)
  119.    break
  120.   end
  121.  end
  122.  --Zeile 2
  123.  if X >= 1 and X <= 9 and Y >= 8 and Y <= 12 and Feld_4 == "leer" then
  124.   Feld_4 = Spieler
  125.   Check(3,8)
  126.   sleep(0.5)
  127.   if Klick == 9 then
  128.    shell.run(Programmname)
  129.    break
  130.   end
  131.  end
  132.  
  133.  if X >= 11 and X <= 19 and Y >= 8 and Y <= 12 and Feld_5 == "leer" then
  134.   Feld_5 = Spieler
  135.   Check(13,8)
  136.   sleep(0.5)
  137.   if Klick == 9 then
  138.    shell.run(Programmname)
  139.    break
  140.   end
  141.  end
  142.  
  143.  if X >= 21 and X <= 29 and Y >= 8 and Y <= 12 and Feld_6 == "leer" then
  144.   Feld_6 = Spieler
  145.   Check(23,8)
  146.   sleep(0.5)
  147.   if Klick == 9 then
  148.    shell.run(Programmname)
  149.    break
  150.   end
  151.  end
  152.   --Zeile 3
  153.  if X >= 1 and X <= 9 and Y >= 14 and Y <= 18 and Feld_7 == "leer" then
  154.   Feld_7 = Spieler
  155.   Check(3,14)
  156.   sleep(0.5)
  157.   if Klick == 9 then
  158.    shell.run(Programmname)
  159.    break
  160.   end
  161.  end
  162.  
  163.  if X >= 11 and X <= 19 and Y >= 14 and Y <= 18 and Feld_8 == "leer" then
  164.   Feld_8 = Spieler
  165.   Check(13,14)
  166.   sleep(0.5)
  167.   if Klick == 9 then
  168.    shell.run(Programmname)
  169.    break
  170.   end
  171.  end
  172.  
  173.  if X >= 21 and X <= 29 and Y >= 14 and Y <= 18 and Feld_9 == "leer" then
  174.   Feld_9 = Spieler
  175.   Check(23,14)
  176.   sleep(0.5)
  177.   if Klick == 9 then
  178.    shell.run(Programmname)
  179.    break
  180.   end
  181.  end
  182.  
  183.  if X >= 26 and X <= 29 and Y == 19 then
  184.   Monitor.clear()
  185.   print("XXO Beendet!")
  186.   break
  187.  end
  188. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement