Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def pbMiningGame(pool=nil)
- pbFadeOutIn {
- scene = MiningGameScene.new
- screen = MiningGame.new(scene)
- screen.pbStartScreen(pool)
- }
- end
- class MiningGame
- def initialize(scene)
- @scene = scene
- end
- def pbStartScreen(pool=nil)
- @scene.pbStartScene(pool)
- @scene.pbMain
- @scene.pbEndScene
- end
- end
- class MiningGameScene
- def pbStartScene(pool=nil)
- @sprites = {}
- @viewport = Viewport.new(0, 0, Graphics.width, Graphics.height)
- @viewport.z = 99999
- addBackgroundPlane(@sprites, "bg", "Mining/miningbg", @viewport)
- @sprites["itemlayer"] = BitmapSprite.new(Graphics.width, Graphics.height, @viewport)
- @itembitmap = AnimatedBitmap.new("Graphics/Pictures/Mining/items")
- @ironbitmap = AnimatedBitmap.new("Graphics/Pictures/Mining/irons")
- @items = []
- @itemswon = []
- @iron = []
- if pool
- pbDistributeSetItems(pool)
- else
- pbDistributeItems
- end
- pbDistributeIron
- BOARD_HEIGHT.times do |i|
- BOARD_WIDTH.times do |j|
- @sprites["tile#{j + (i * BOARD_WIDTH)}"] = MiningGameTile.new(32 * j, 64 + (32 * i))
- end
- end
- @sprites["crack"] = MiningGameCounter.new(0, 4)
- @sprites["cursor"] = MiningGameCursor.new(58, 0) # central position, pick
- @sprites["tool"] = IconSprite.new(434, 254, @viewport)
- @sprites["tool"].setBitmap(sprintf("Graphics/Pictures/Mining/toolicons"))
- @sprites["tool"].src_rect.set(0, 0, 68, 100)
- update
- pbFadeInAndShow(@sprites)
- end
- def pbDistributeSetItems(pool)
- # Set items to be buried (index in ITEMS, x coord, y coord)
- for i in 0...pool.length
- ITEMS.length.times do |j|
- next if ITEMS[j][0]!=pool[i]
- provx = rand(BOARD_WIDTH - ITEMS[j][4] + 1)
- provy = rand(BOARD_HEIGHT - ITEMS[j][5] + 1)
- @items.push([j, provx, provy])
- end
- end
- # Draw items on item layer
- layer = @sprites["itemlayer"].bitmap
- @items.each do |i|
- ox = ITEMS[i[0]][2]
- oy = ITEMS[i[0]][3]
- rectx = ITEMS[i[0]][4]
- recty = ITEMS[i[0]][5]
- layer.blt(32 * i[1], 64 + (32 * i[2]), @itembitmap.bitmap, Rect.new(32 * ox, 32 * oy, 32 * rectx, 32 * recty))
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement