'Importing mojo
Import mojo
Import math
'GameStates
Const STATE_MENU:Int = 0
Const STATE_GAME:Int = 1
Const STATE_UPGRADES:Int = 2
Const STATE_SHOP:Int = 3
Class ClickingGame Extends App
'Defining variables
'Product Image Library
Field shoe:Image
Field bike:Image
Field rollerblades:Image
'Shop Image Library
Field america:Image
'Product Placement
Field productX:Float = 325.0
Field productY:Float = 250.0
'Menu Backgrounds
Field menu:Image
Field menuX:Float
Field menuY:Float
'Shop Item bought
Field rollerbladeupgrade:Int = 0
'Maths Variables (Upgrades and Shops etc).
Field upgradecost:Int = 100
Field auto:Int = 2
Field total:Int
Field mouseclicks:Int = 0
Field clicktotal:Int = 1
Field ding:Sound
Field gameState:Int = STATE_MENU
Method OnCreate()
'Loading Gamestate
gameState = STATE_MENU
SetUpdateRate(60)
'Loading Images
shoe = LoadImage("shoe.png", 1, Image.MidHandle)
ding = LoadSound("ding.wav")
bike = LoadImage("Bicycle.gif", 1, Image.MidHandle)
menu = LoadImage("menu.jpg", 1, Image.MidHandle)
america = LoadImage("American Flag.png", 1, Image.MidHandle)
rollerblades = LoadImage("rollerblades.gif", 1, Image.MidHandle)
End
Method OnUpdate()
Select gameState
Case STATE_MENU
'Registering menu hotkeys'
If KeyHit(KEY_ENTER)
gameState = STATE_GAME
End
Case STATE_GAME
'Implementing base upgrade system
If mouseclicks >= upgradecost
If KeyHit(KEY_SPACE)
mouseclicks = mouseclicks - upgradecost
upgradecost = upgradecost * 2.5
clicktotal = clicktotal*2
Endif
Endif
If KeyHit(KEY_ESCAPE)
gameState = STATE_MENU
Else If KeyHit(KEY_U)
gameState = STATE_UPGRADES
Else If KeyHit(KEY_S)
gameState = STATE_SHOP
Else If MouseHit(MOUSE_LEFT)
mouseclicks = mouseclicks + clicktotal
PlaySound(ding,0, 0)
Endif
Case STATE_UPGRADES
If KeyHit(KEY_ESCAPE)
gameState = STATE_GAME
Elseif KeyHit(KEY_S)
gameState = STATE_SHOP
Endif
Case STATE_SHOP
If KeyHit(KEY_ESCAPE)
gameState = STATE_GAME
Elseif KeyHit(KEY_U)
gameState = STATE_UPGRADES
Endif
End
End
Method OnRender()
Cls(0, 0, 0)
Select gameState
'Inserting graphics within game states
Case STATE_MENU
DrawText("Dominate the Market!", 320, 100, 0.5)
DrawText("Press Enter to Play!", 320, 400, 0.5)
DrawText("(0.2)", 590, 460)
Case STATE_GAME
Cls(100, 100, 100)
DrawText("$" +mouseclicks, 300, 125, 0.5, 0.5)
DrawText("$ Per Click: $" +clicktotal, 300, 375, 0.5, 0.5)
DrawImage(shoe, productX, productY, 0.5)
If mouseclicks >= upgradecost
DrawText("Spacebar to upgrade!", 300, 425, 0.5)
End
DrawText("Cost to upgrade:$"+ upgradecost, 300, 400, 0.5, 0.5)
Case STATE_UPGRADES
Cls(100, 200, 200)
DrawText("Upgrades", 300, 50, 0.5)
Case STATE_SHOP
Cls(200, 200, 200)
End
End
End
Function Main:Int()
New ClickingGame()
End
|