Initial commit.
This commit is contained in:
112
monkeyspank
Executable file
112
monkeyspank
Executable file
@ -0,0 +1,112 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from libstormgames.libstormgames import *
|
||||
|
||||
# Initial variable settings
|
||||
mode = "menu"
|
||||
sounds = initialize_gui("Monkey Spank")
|
||||
pygame.event.set_allowed(pygame.KEYDOWN)
|
||||
pygame.mixer.set_reserved(1)
|
||||
pygame.mixer.set_reserved(2)
|
||||
|
||||
|
||||
def monkey_taunt():
|
||||
t = pygame.mixer.Channel(1)
|
||||
left = 1.0
|
||||
right = 1.0
|
||||
taunt = random.randrange(1, 4)
|
||||
if taunt == 1: right = 0.0
|
||||
if taunt == 3: left = 0.0
|
||||
t.play(sounds['monkey-taunt'])
|
||||
t.set_volume(left, right)
|
||||
return taunt
|
||||
|
||||
def player_action(monkey, reaction):
|
||||
if monkey != reaction: return True
|
||||
global spanks
|
||||
left = 0.7
|
||||
right = 0.7
|
||||
if reaction == 1: right = 0.0
|
||||
if reaction == 3: left = 0.0
|
||||
p = pygame.mixer.Channel(2)
|
||||
p.play(sounds['spank-hit'])
|
||||
p.set_volume(left, right)
|
||||
spanks += 1
|
||||
return False
|
||||
|
||||
|
||||
def game(mode):
|
||||
pygame.mixer.music.pause()
|
||||
encourage = int(time.time())
|
||||
lose = False
|
||||
startTime = time.time()
|
||||
totalTime = startTime
|
||||
global spanks
|
||||
cut_scene(sounds, 'start-game')
|
||||
taunt = monkey_taunt()
|
||||
timeOut = time.time()
|
||||
while lose == False:
|
||||
if time.time() - timeOut > 1:
|
||||
lose = True
|
||||
continue
|
||||
event = pygame.event.poll()
|
||||
if event.type == pygame.KEYDOWN:
|
||||
# Escape is the back/exit key, close the game if not playing, or return to menu if playing.
|
||||
if event.key == pygame.K_ESCAPE:
|
||||
if mode != "menu":
|
||||
mode = "menu"
|
||||
return mode
|
||||
elif mode == "menu": exit_game()
|
||||
elif event.key == pygame.K_LEFT:
|
||||
lose = player_action(taunt, 1)
|
||||
if lose == True: continue
|
||||
taunt = monkey_taunt()
|
||||
timeOut = time.time()
|
||||
elif event.key == pygame.K_DOWN:
|
||||
lose = player_action(taunt, 2)
|
||||
if lose == True: continue
|
||||
taunt = monkey_taunt()
|
||||
timeOut = time.time()
|
||||
elif event.key == pygame.K_UP:
|
||||
lose = player_action(taunt, 2)
|
||||
if lose == True: continue
|
||||
taunt = monkey_taunt()
|
||||
timeOut = time.time()
|
||||
elif event.key == pygame.K_RIGHT:
|
||||
lose = player_action(taunt, 3)
|
||||
if lose == True: continue
|
||||
taunt = monkey_taunt()
|
||||
timeOut = time.time()
|
||||
pygame.event.clear()
|
||||
totalTime = time.time()
|
||||
if int(time.time()) - encourage == 8:
|
||||
play_random(sounds, "encourage")
|
||||
encourage = int(time.time())
|
||||
pygame.event.pump()
|
||||
time.sleep(0.001)
|
||||
pygame.mixer.stop()
|
||||
time.sleep(0.1)
|
||||
pygame.event.clear()
|
||||
play_random(sounds, "lose", interrupt = True)
|
||||
message = ["You spanked the monkey " + str(spanks) + " "]
|
||||
if spanks == 1: message[0] += "time."
|
||||
if spanks != 1: message[0] += "times."
|
||||
message.append("Your total time was " + str(round(totalTime - startTime, 2)) + " seconds.")
|
||||
try:
|
||||
message.append("You averaged " + str(round((totalTime - startTime) / spanks, 2)) + " monkey spanks per second.")
|
||||
except:
|
||||
message.append("You averaged 0.00 monkey spanks per second.")
|
||||
time.sleep(0.1)
|
||||
display_text(message)
|
||||
return "menu"
|
||||
|
||||
# Game starts at main menu
|
||||
mode = game_menu("start game", "instructions", "donate", "credits", "learn sounds", "exit_game")
|
||||
while mode != "exit_game":
|
||||
spanks = 0
|
||||
if mode == "menu": mode = game_menu("start game", "instructions", "donate", "credits", "learn sounds", "exit_game")
|
||||
if mode == "start game": mode = game(mode)
|
||||
if mode == "learn sounds": mode = learn_sounds(sounds)
|
||||
time.sleep(0.001)
|
||||
|
Reference in New Issue
Block a user