Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --The main shop program
- local m=peripheral.wrap("top")
- local mw,mh=m.getSize()
- local shopWindow="main"
- local cartPos=1
- local selectedItem
- local cartItems={}
- local options={
- [1]={--TechMaterials x16-29
- "Monitor"={cost=5},
- "Adv.Monitor"={cost=6},
- "Computer",
- "Adv.Computer",
- "Turtle",
- "Adv.Turtle",
- "Modem"
- },
- [2]={--ProgramDisks x31-44
- "Compressor",
- "PasswordLock",
- "Shop Api"
- },
- [3]={--QuikKits x46-61
- "Logger",
- "Quarry",
- "Mob Grinder"
- }
- }
- --Functions
- function title()
- m.setBackgroundColor(colors.black)
- m.setTextColor(colors.yellow)
- m.setCursorPos(((mw/2)-8),1)
- m.write("King's Computers")
- m.setTextColor(colors.lime)
- m.setCursorPos(((mw/2)-8),2)
- m.write("----------------")
- m.setCursorPos(16,3)
- m.setTextColor(colors.purple)
- m.write("Tech Materials")
- m.setCursorPos(31,3)
- m.setTextColor(colors.red)
- m.write("Program Disks ")
- m.setCursorPos(46,3)
- m.setTextColor(colors.green)
- m.write("Turtle QuikKits")
- m.setCursorPos(1,1)
- m.setTextColor(colors.gray)
- m.write("*Right-click>Select")
- end
- function cart()
- local start=(mw/4)-14
- m.setTextColor(colors.blue)
- m.setCursorPos(1,3)
- m.write("Your Cart: ")
- m.setCursorPos(start,4)
- m.setTextColor(colors.white)
- m.write("--------------")
- m.setCursorPos(start,5)
- m.setTextColor(colors.blue)
- m.write("Any items you ")
- m.setCursorPos(start,6)
- m.write("have selected ")
- m.setCursorPos(start,7)
- m.write("will show here")
- m.setCursorPos(start,8)
- m.setTextColor(colors.white)
- m.write("--------------")
- m.setCursorPos(start,19)
- m.setBackgroundColor(colors.red)
- m.setTextColor(colors.white)
- m.write(" Clear Cart ")
- m.setBackgroundColor(colors.lime)
- m.setCursorPos(start,18)
- m.write(" Purchase ")
- m.setBackgroundColor(colors.black)
- m.setTextColor(colors.lime)
- end
- function dividers()
- m.setTextColor(colors.lightBlue)
- for i1=3,20 do
- m.setCursorPos(mw/4,i1)
- m.write("|")
- end
- for i2=3,20 do
- m.setCursorPos(mw/2,i2)
- m.write("|")
- end
- for i3=3,20 do
- m.setCursorPos(mw-(mw/4),i3)
- m.write("|")
- end
- end
- function showOptions()
- m.setTextColor(colors.orange)
- for a=1,#options[1] do
- m.setCursorPos(16,a+3)
- m.write(options[1][a])
- end
- for b=1,#options[2] do
- m.setCursorPos(31,b+3)
- m.write(options[2][b])
- end
- for c=1,#options[3] do
- m.setCursorPos(46,c+3)
- m.write(options[3][c])
- end
- end
- --Main Display Function:
- function layoutMain()
- m.clear()
- title()
- cart()
- dividers()
- showOptions()
- end
- function clearCart()
- for i=9,17 do
- m.setCursorPos(1,i)
- m.write(" ")
- cartPos=1
- end
- end
- function eventHandlerMain()
- event,arbitrary,x,y=os.pullEvent("monitor_touch")
- if x<=29 and x>=16 then
- for i=1,#options[1] do
- if y==i+3 then
- selectedItem=options[1][i]
- end
- end
- end
- if x>=31 and x<=44 then
- for i=1,#options[2] do
- if y==i+3 then
- selectedItem=options[2][i]
- end
- end
- end
- if x>=46 and x<=61 then
- for i=1,#options[3] do
- if y==i+3 then
- selectedItem=options[3][i]
- end
- end
- end
- --Clear
- if (x>=1 and x<=14) and y==19 then
- clearCart()
- selectedItem="notItem"
- cartItems={}
- end
- --Checkout
- if (x>=1 and x<=14) and y==18 then
- selectedItem="notItem"
- end
- end
- function cartDynamic()
- m.setCursorPos(1,cartPos+8)
- if selectedItem~="notItem" and cartPos<=9 then
- m.setTextColor(colors.lime)
- m.write(selectedItem)
- table.insert(cartItems, selectedItem)
- cartPos=cartPos+1
- end
- end
- m.clear()
- title()
- cart()
- dividers()
- showOptions()
- while true do
- eventHandlerMain()
- cartDynamic()
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement