Advertisement
Freack100

TE

Aug 19th, 2013
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.93 KB | None | 0 0
  1. local version = "TE 0.1"
  2.  
  3. function getVersion()
  4.     return version
  5. end
  6.  
  7. Inventory = {
  8.     __index = Inventory;
  9.     create = function()
  10.         local self = {
  11.             INT = {"","","","","","","","","","","","","","","",""};
  12.             ICT = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
  13.             selectedSlot = 1;
  14.  
  15.             select = function(self, slot)
  16.                 local slotIn = slot
  17.                 if slotIn > 16 then
  18.                     slotIn = 16
  19.                 end
  20.                 self.selectedSlot = slotIn
  21.                 return self
  22.             end;
  23.             setItem = function(self, name)
  24.                 if self.INT[self.selectedSlot] ~= "" then
  25.                     error("Slot is already filled with " .. self.INT[slot], 2)
  26.                 else
  27.                     self.INT[self.selectedSlot] = tostring(name)
  28.                     return self
  29.                 end
  30.             end;
  31.             setAmount = function(self, amount)
  32.                 if amount > 64 then
  33.                     self.ICT[self.selectedSlot] = 64
  34.                 else
  35.                     self.ICT[self.selectedSlot] = amount
  36.                 end
  37.                     return self
  38.             end;
  39.             getItem = function(self)
  40.                 return tostring(self.INT[self.selectedSlot])
  41.             end;
  42.             getAmount = function(self)
  43.                 return self.ICT[self.selectedSlot]
  44.             end;
  45.             compareTo = function(self, slot1, slot2)
  46.                 if self.INT[slot1] == self.INT[slot2] then
  47.                     return true
  48.                 else
  49.                     return false
  50.                 end
  51.             end;
  52.             transferTo = function(self, slot1, slot2)
  53.                 self.INT[slot2] = self.INT[slot1]
  54.                 self.INT[slot1] = ""
  55.                 return self
  56.             end;
  57.             freeSpace = function(self)
  58.                 return (64 - self.ICT[self.selectedSlot])
  59.             end;
  60.             getInformation = function(self)
  61.                 local cont = ""
  62.                 local amo = ""
  63.                 local message  = ""
  64.                 if self.INT[self.selectedSlot] == "" then
  65.                     message = ("Slot " .. self.selectedSlot .. " contains no items")
  66.                 else
  67.                     message = ("Slot " .. self.selectedSlot .. " contains " .. tostring(self.ICT[self.selectedSlot]) .. " " .. self.INT[self.selectedSlot])
  68.                 end
  69.                 return (message)
  70.             end;
  71.             drop = function(self)
  72.                 if self.INT[self.selectedSlot] == "" then
  73.                     error("Slot is already cleared!", 2)
  74.                 else
  75.                     self.INT[self.selectedSlot] = ""
  76.                     return self
  77.                 end
  78.             end;
  79.         }
  80.         return setmetatable(self, Inventory)
  81.     end
  82. }
  83.  
  84. Movement = {
  85.     __index = Movement;
  86.     create = function()
  87.         self = {
  88.             xPos = 1;
  89.             yPos = 1;
  90.             maxX = 18;
  91.             maxY = 6;
  92.             facing = 0;
  93.             --[[
  94.             facing Map
  95.             0 = north
  96.             1 = east
  97.             2 = south
  98.             3 = west
  99.             ]]
  100.             map = {   -- --> NORTH -->
  101.             [1] = {"" --[[ facing --> ]] ,"","","","","","","","","","","","","","","","",""},
  102.             [2] = {"","","","","","","","","","","","","","","","","",""},
  103.             [3] = {"","","","","","","","","","","","","","","","","",""},
  104.             [4] = {"","","","","","","","","","","","","","","","","",""},
  105.             [5] = {"","","","","","","","","","","","","","","","","",""},
  106.             [6] = {"","","","","","","","","","","","","","","","","",""}
  107.         };
  108.         turnLeft = function(self)
  109.             if self.facing == 3 then
  110.                 self.facing = 0
  111.             else
  112.                 self.facing = self.facing + 1
  113.             end
  114.             return self
  115.         end;
  116.         turnRight = function(self)
  117.             if self.facing == 0 then
  118.                 self.facing = 3
  119.             else
  120.                 self.facing = self.facing - 1
  121.             end
  122.             return self
  123.         end;
  124.         forward = function(self)
  125.             if self.facing == 0 and self.xPos < self.maxX then
  126.                 self.xPos = self.xPos + 1
  127.             elseif self.facing == 1 and self.yPos < self.maxY then
  128.                 self.yPos = self.yPos + 1
  129.             elseif self.facing == 2 and self.xPos > 1 then
  130.                 self.xPos = self.xPos - 1
  131.             elseif self.facing == 3 and self.yPos > 1 then
  132.                 self.yPos = self.yPos - 1
  133.             end
  134.             return self
  135.         end;
  136.         back = function(self)
  137.             if self.facing == 0 and self.xPos > 1 then
  138.                 self.xPos = self.xPos - 1
  139.             elseif self.facing == 1 and self.yPos > 1 then
  140.                 self.yPos = self.yPos - 1
  141.             elseif self.facing == 2 and self.xPos < self.maxX then
  142.                 self.xPos = self.xPos + 1
  143.             elseif self.facing == 3 and self.yPos < self.maxY then
  144.                 self.yPos = self.yPos + 1
  145.             end
  146.             return self
  147.         end;
  148.         getPos = function(self)
  149.             return self.xPos, self.yPos
  150.         end;
  151.     }
  152.     return setmetatable(self, Movement)
  153. end
  154. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement