Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Slot machine
- "###########"
- "# STONERS #"
- "# SLOTS #"
- "###########"
- Goal: Create Slot machine with various rewards with rare chance to drop expensive items
- Drops:
- Low:
- Mid:
- High:
- _G["variable"]
- blood orb
- --]]
- minNum = 1
- maxNum = 16
- multipliers = {
- "redTorch",
- "eye",
- "pick",
- "sword"
- }
- --[[
- Valid names for reels:
- "cow","mooshroom","creeper","pig","enderman","pigman","slime","chicken",
- "zombie","spider","brick","sBrick","snow","ice","grass","mycelium","redTorch",
- "eye","pick","sword"
- ]]--
- mobReel = {
- {
- "cow",
- "mooshroom",
- "creeper",
- "pig",
- "enderman",
- "pigman",
- "slime",
- "chicken",
- "zombie",
- "spider",
- "sword"
- },
- {
- "creeper",
- "slime",
- "pig",
- "zombie",
- "pigman",
- "cow",
- "enderman",
- "sword",
- "chicken",
- "spider",
- "mooshroom"
- },
- {
- "slime",
- "chicken",
- "mooshroom",
- "spider",
- "sword",
- "pig",
- "pigman",
- "creeper",
- "enderman",
- "cow",
- "zombie"
- }
- }
- reel = mobReel
- -- all images
- blank = {
- {f,f,f,f,f,f,f,f,f,f},
- {f,f,f,f,f,f,f,f,f,f},
- {f,f,f,f,f,f,f,f,f,f},
- {f,f,f,f,f,f,f,f,f,f},
- {f,f,f,f,f,f,f,f,f,f},
- {f,f,f,f,f,f,f,f,f,f}
- }
- cow = {
- {e,e,e,e,0,0,8,e,e,e},
- {f,f,e,e,0,8,e,e,f,f},
- {f,f,e,e,e,e,e,e,f,f},
- {e,e,e,0,0,0,0,e,e,e},
- {e,e,0,f,8,8,f,0,e,e},
- {e,e,0,8,8,8,8,0,e,e}
- }
- mooshroom = {
- {c,c,c,c,0,0,8,c,c,c},
- {0,0,c,c,0,8,c,c,0,0},
- {f,0,c,c,c,c,c,c,0,f},
- {c,c,c,0,0,0,0,c,c,c},
- {c,c,0,f,8,8,f,0,c,c},
- {c,c,0,8,8,8,8,0,c,c}
- }
- creeper = {
- {5,d,d,d,5,d,5,d,d,5},
- {d,f,f,f,d,d,f,f,f,d},
- {5,f,f,f,d,5,f,f,f,d},
- {d,d,5,d,f,f,d,d,5,d},
- {5,d,d,f,f,f,f,5,d,d},
- {d,5,d,f,5,d,f,d,d,5}
- }
- pig = {
- {6,6,6,6,6,6,6,6,6,6},
- {6,6,6,6,6,6,6,6,6,6},
- {6,f,1,6,6,6,6,1,f,6},
- {6,6,6,6,6,6,6,6,6,6},
- {6,6,6,2,6,6,2,6,6,6},
- {6,6,6,6,6,6,6,6,6,6},
- }
- enderman = {
- {f,7,f,f,f,f,f,f,7,f},
- {f,f,f,7,f,f,7,f,f,f},
- {f,7,f,f,7,7,f,f,7,f},
- {f,1,6,1,f,f,1,6,1,f},
- {7,f,f,7,f,f,7,f,f,7},
- {f,f,7,f,f,f,f,7,f,f}
- }
- pigman = {
- {1,1,1,5,d,6,6,6,6,6},
- {1,1,5,d,6,6,6,6,6,6},
- {f,7,5,d,6,6,6,6,1,f},
- {1,1,1,2,d,2,6,6,6,6},
- {1,5,5,1,5,d,6,6,6,6},
- {5,d,d,d,1,5,d,6,6,6}
- }
- slime = {
- {5,5,5,5,5,5,5,5,5,5},
- {5,f,f,f,d,f,f,f,5,5},
- {5,f,f,f,d,f,f,f,5,5},
- {5,d,d,d,d,d,d,d,5,5},
- {5,d,d,d,d,d,f,f,5,5},
- {5,5,5,5,5,5,5,5,5,5}
- }
- chicken = {
- {f,0,0,0,0,0,0,0,0,f},
- {f,0,f,f,0,0,f,f,0,f},
- {f,0,1,1,1,1,1,1,0,f},
- {f,f,c,c,c,c,c,c,f,f},
- {f,f,f,f,e,e,f,f,f,f},
- {f,f,f,f,e,e,f,f,f,f}
- }
- zombie = {
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,f,f,f,d,d,f,f,f,d},
- {d,d,d,d,f,f,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d}
- }
- spider = {
- {7,7,7,f,f,f,f,7,7,7},
- {7,e,7,7,7,7,7,7,e,7},
- {7,7,7,e,7,7,e,7,7,7},
- {f,7,7,7,7,7,7,7,7,f},
- {f,f,7,7,f,f,7,7,f,f},
- {7,7,7,f,f,f,f,7,7,7}
- }
- bricks = {
- {e,e,0,e,e,e,e,e,e,e},
- {0,0,0,0,0,0,0,0,0,0},
- {e,e,e,e,e,e,0,e,e,e},
- {e,e,e,e,e,e,0,e,e,e},
- {0,0,0,0,0,0,0,0,0,0},
- {e,e,0,e,e,e,e,e,e,e}
- }
- stoneBricks = {
- {8,8,7,8,8,8,8,8,8,8},
- {7,7,7,7,7,7,7,7,7,7},
- {8,8,8,8,8,8,7,8,8,8},
- {8,8,8,8,8,8,7,8,8,8},
- {7,7,7,7,7,7,7,7,7,7},
- {8,8,7,8,8,8,8,8,8,8}
- }
- snow = {
- {0,0,0,0,0,0,0,0,0,0},
- {c,0,0,0,0,0,c,c,0,c},
- {c,c,c,0,c,c,c,c,c,c},
- {c,c,c,c,c,c,c,c,c,c},
- {c,c,c,c,c,c,c,c,c,c},
- {c,c,c,c,c,c,c,c,c,c}
- }
- ice = {
- {3,3,3,3,3,3,3,3,3,3},
- {3,3,0,3,3,3,0,3,3,3},
- {3,3,3,0,3,3,3,0,3,3},
- {3,0,3,3,3,3,3,3,3,3},
- {3,3,0,3,3,3,3,3,3,3},
- {3,3,3,3,3,3,3,3,3,3}
- }
- grass = {
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,d,d,d,d,d,d,d,d,d},
- {d,c,c,c,c,d,d,d,c,c}
- }
- mycelium = {
- {a,a,a,a,a,a,a,a,a,a},
- {a,a,a,a,a,a,a,a,a,a},
- {a,a,a,a,a,a,a,a,a,a},
- {a,a,a,a,a,a,a,a,a,a},
- {a,a,a,a,a,a,a,a,a,a},
- {a,c,c,c,c,a,a,a,c,c}
- }
- -- Multiplier Images
- redstoneTorch = {
- {f,f,f,e,e,e,e,f,f,f},
- {f,f,e,e,e,e,e,e,f,f},
- {f,f,e,e,1,1,e,e,f,f},
- {f,f,f,e,c,c,e,f,f,f},
- {f,f,f,f,c,c,f,f,f,f},
- {f,f,f,f,c,c,f,f,f,f}
- }
- eyeOfEnder = {
- {f,f,b,9,d,d,9,b,f,f},
- {f,b,9,d,5,5,d,9,b,f},
- {b,9,d,5,f,f,5,d,9,b},
- {b,9,d,5,f,f,5,d,9,b},
- {f,b,9,d,5,5,d,9,b,f},
- {f,f,b,9,d,d,9,b,f,f}
- }
- pick = {
- {f,f,f,9,9,9,f,f,f,f},
- {f,f,9,f,c,f,9,f,f,f},
- {f,9,f,f,c,f,f,9,f,f},
- {f,f,f,f,c,f,f,f,f,f},
- {f,f,f,f,c,f,f,f,f,f},
- {f,f,f,f,c,f,f,f,f,f}
- }
- sword = {
- {f,f,f,f,9,f,f,f,f,f},
- {f,f,f,f,9,f,f,f,f,f},
- {f,f,f,f,9,f,f,f,f,f},
- {f,f,f,f,9,f,f,f,f,f},
- {f,f,f,8,8,8,f,f,f,f},
- {f,f,f,f,c,f,f,f,f,f}
- }
- logo = {
- {0,0,e,e,e,0,e,e,e,0,e,e,e,0,e,e,e,0,e,e,e,0,e,e,e,0,e,e,e},
- {0,0,e,0,0,0,0,e,0,0,e,0,e,0,e,0,e,0,e,0,0,0,e,0,e,0,e,0,0},
- {0,0,e,e,e,0,0,e,0,0,e,0,e,0,e,0,e,0,e,e,0,0,e,e,e,0,e,e,e},
- {0,0,0,0,e,0,0,e,0,0,e,0,e,0,e,0,e,0,e,0,0,0,e,e,0,0,0,0,e},
- {0,0,e,e,e,0,0,e,0,0,e,e,e,0,e,0,e,0,e,e,e,0,e,0,e,0,e,e,e},
- {},
- {0,0,0,0,0,0,e,e,e,0,e,0,0,0,e,e,e,0,e,e,e,0,e,e,e},
- {0,0,0,0,0,0,e,0,0,0,e,0,0,0,e,0,e,0,0,e,0,0,e,0,0},
- {0,0,0,0,0,0,e,e,e,0,e,0,0,0,e,0,e,0,0,e,0,0,e,e,e},
- {0,0,0,0,0,0,0,0,e,0,e,0,0,0,e,0,e,0,0,e,0,0,0,0,e},
- {0,0,0,0,0,0,e,e,e,0,e,e,e,0,e,e,e,0,0,e,0,0,e,e,e}
- }
- reelSize = #reel
- function loadImage(s)
- paintutils.loadImage(_G[s])
- end
- function toName(num,rnum)
- return reel[rnum][num]
- end
- function isMultiplier(num,rnum)
- name = toName(num,rnum)
- for i=1,#multipliers do
- if name == multipliers[i] then
- return true
- end
- end
- end
- function drawGame()
- term.redirect(m)
- term.setBackgroundColor(colors.black)
- term.clear()
- term.setCursorPos(1,1)
- -- draw each reel
- for i=1,3 do
- -- draw images to reels
- for j=1,3 do -- <----------------------------------------------------
- paintutils.drawImage()
- end
- end
- end
- w,h = term.getSize()
- m = peripheral.find("monitor")
- while true do
- e,p1,p2,p3 = os.pullEvent()
- if e == "redstone" then
- if not running then
- for i=1,20
- print("Starting Randomizer")
- num1 = math.random(1,#reel)
- num2 = math.random(1,#reel)
- num2 = math.random(1,#reel)
- --
- if toName(num1,1) == toName(num2,2) and toName(num2,2) == toName(num3,3) then
- -- three in a row
- if isMultiplier(num1,1) and isMultiplier(num2,2) and isMultiplier(num3,3)
- -- JACKPOT!!!!
- end
- elseif toName(num1,1) == toName(num2,2) or toName(num2,2) == toName(num3,3) or toName(num1,1) == toName(num3,3) then
- -- We have a pair
- if isMultiplier(num1) or isMultiplier(num2) or isMultiplier(num3) then
- -- the pair contains a multiplier
- if (isMultiplier(num1,1) and isMultiplier(num2,2)) or ( isMultiplier(num2,2) and isMultiplier(num3,3) ) then
- -- the pair is a pair of multipliers
- end
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment