Guest User

Untitled

a guest
Nov 18th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.02 KB | None | 0 0
  1. TourneyOrganizer = class()
  2.  
  3. function TourneyOrganizer:init(x, y)
  4.     local i
  5.     self.x = x
  6.     self.y = y
  7.     self.frame = Frame(x, y, x + 710, y + 850)
  8.     self.header = Frame(self.frame.left + 4, self.frame.top - 40,
  9.     self.frame.right - 4, self.frame.top - 4)
  10.  
  11.     self.action = 0
  12.     self.contestantFrames = {}
  13.     self.contestants = {}
  14.     for i = 1,4 do
  15.         self.contestantFrames[i] = Frame(i * 175 - 100, 800, 
  16.         i * 175 , 880)
  17.         self.contestants[i] = 0
  18.     end
  19.     self.selected = 0
  20.     self.showSlider = false
  21.     self.slider = VRobotSlider(self.contestantFrames[1].left,
  22.     self.contestantFrames[1].bottom)
  23.     self.robothonBtn = BigButton("Quartet", 570, 400)
  24.     self.skeetBtn = BigButton("Skeet", 75, 600)
  25.     self.mazeBtn = BigButton("Maze", 240, 600)
  26.     self.chaseBtn = BigButton("Chase", 405, 600)
  27.     self.meleeBtn = BigButton("Melee", 570, 600)
  28.     --self.mazeBtn.active = false
  29.     self.chaseBtn.active = false
  30.     self.robothonBtn.active = false
  31. end
  32.  
  33. function TourneyOrganizer:loadRobot(i)
  34.     self.contestants[1] = i
  35. end
  36.  
  37. function TourneyOrganizer:draw(robots)
  38.     local i
  39.     pushStyle()
  40.     noFill()
  41.     strokeWidth(2)
  42.     stroke(246, 246, 246, 255)
  43.     self.frame:draw()
  44.     self.header:draw()
  45.     textMode(CENTER)
  46.     strokeWidth(1)
  47.     for i = 1,4 do
  48.         stroke(255, 255, 255, 255)
  49.         noFill()
  50.         self.contestantFrames[i]:draw()
  51.         if self.contestants[i] > 0 then
  52.             pushMatrix()
  53.             translate(self.contestantFrames[i]:midX(), 
  54.             self.contestantFrames[i]:midY())
  55.             robots[self.contestants[i]]:drawBase()
  56.             fontSize(16)
  57.             fill(255, 255, 255, 224)
  58.             text(robots[self.contestants[i]].name, 0, -55)
  59.             popMatrix()
  60.         else
  61.             fontSize(48)
  62.             fill(115, 115, 115, 190)
  63.             text("?", self.contestantFrames[i]:midX(), 
  64.             self.contestantFrames[i]:midY())
  65.             fill(154, 126, 126, 224)
  66.             fontSize(16)
  67.             text("Random", self.contestantFrames[i]:midX(), 
  68.             self.contestantFrames[i]:midY()-55)
  69.         end
  70.     end
  71.     fill(165, 165, 188, 255)
  72.     stroke(147, 153, 173, 255)
  73.     strokeWidth(1)
  74.     line(self.contestantFrames[2].left, 
  75.     self.contestantFrames[1].top + 20,
  76.     self.contestantFrames[2].left + 145, 
  77.     self.contestantFrames[1].top + 20)
  78.     line(self.contestantFrames[2].left, 
  79.     self.contestantFrames[1].top + 15,
  80.     self.contestantFrames[2].left, 
  81.     self.contestantFrames[1].top + 25)
  82.     line(self.contestantFrames[4].left - 45, 
  83.     self.contestantFrames[1].top + 20,
  84.     self.contestantFrames[4].right, 
  85.     self.contestantFrames[1].top + 20)
  86.     line(self.contestantFrames[4].right, 
  87.     self.contestantFrames[1].top + 15,
  88.     self.contestantFrames[4].right, 
  89.     self.contestantFrames[1].top + 25)
  90.     text("Melee Opponents", self.contestantFrames[3]:midX(), 
  91.     self.contestantFrames[1].top + 20)
  92.     noFill()
  93.     stroke(255, 255, 255, 154)
  94.     strokeWidth(2)
  95.     rect(self.frame.left + 35, 400, self.frame.left + 95, 460)
  96.     line(self.frame.left + 95, 430, self.frame.left + 155, 430)
  97.     rect(self.frame.left + 155, 400, self.frame.left + 215, 460)
  98.     line(self.frame.left + 215, 430, self.frame.left + 275, 430)
  99.     rect(self.frame.left + 275, 400, self.frame.left + 335, 460)
  100.     line(self.frame.left + 335, 430, self.frame.left + 395, 430)
  101.     rect(self.frame.left + 395, 400, self.frame.left + 455, 460)
  102.     line(self.frame.left + 215, 430, self.frame.left + 275, 430)
  103.     fill(255, 255, 255, 255)
  104.     fontSize(32)
  105.     text("1", self.frame.left + 65, 430)
  106.     text("2", self.frame.left + 185, 430)
  107.     text("3", self.frame.left + 305, 430) 
  108.     text("4", self.frame.left + 425, 430)
  109.     
  110.     self.meleeBtn:draw()
  111.     self.skeetBtn:draw()
  112.     self.mazeBtn:draw()
  113.     
  114.     stroke(113, 102, 159, 255)
  115.     fill(109, 111, 169, 255)
  116.     
  117.     self.chaseBtn:draw()
  118.     self.robothonBtn:draw()
  119.  
  120.     fontSize(16)
  121.     textMode(CORNER)
  122.     text("TOURNEY ORGANIZER", self.frame.left + 15, 
  123.     self.frame.top - 32)
  124.     text("Four Event Robothon", self.frame.left + 20, 
  125.     self.frame.bottom + 330)
  126.     
  127.     
  128.     
  129.     
  130.     if self.showSlider then self.slider:draw(robots) end
  131.     popStyle()
  132. end
  133.  
  134. function TourneyOrganizer:touched(touch)
  135.     local i
  136.     for i = 1,4 do
  137.         if self.contestantFrames[i]:touched(touch) then
  138.             self.showSlider = true
  139.             self.slider = VRobotSlider(
  140.             self.contestantFrames[i].right,
  141.             self.contestantFrames[i].bottom)
  142.             self.selected = i
  143.         end
  144.     end
  145.     if self.showSlider then
  146.         if self.slider:touched(touch) then
  147.             self.contestants[self.selected] = self.slider.selected
  148.         end
  149.     end
  150. end
Add Comment
Please, Sign In to add comment