110 lines
No EOL
3.4 KiB
Python
110 lines
No EOL
3.4 KiB
Python
import pygame
|
|
import pygame, random, time, sys
|
|
from ffpyplayer.player import MediaPlayer
|
|
|
|
target = (300, 300)
|
|
pellets = []
|
|
num_pellets = 24
|
|
radius = 120
|
|
pw, ph = 43, 60
|
|
displaysize, playersize = (640,480), (pw,ph)
|
|
game_surface = pygame.Surface((640, 480))
|
|
map = pygame.Surface((640, 480))
|
|
level = 1
|
|
angle = 0
|
|
escapecounter = 0
|
|
dialognum = 1
|
|
battlemodestart = False
|
|
battlemode = False
|
|
defaultborders = True
|
|
BX, BY = 0, 0
|
|
playerX, playerY = 250, 250
|
|
oldX, oldY = playerX, playerY
|
|
playerXc, playerYc = 0, 0
|
|
camera_x = playerX - 640 // 2
|
|
randomblock = pygame.Surface((100, 100))
|
|
randomblock.fill((0, 0, 255))
|
|
playeractive = False
|
|
floweytalking = False
|
|
floweypissed = False
|
|
blocks = [
|
|
(0, 312, 75, 200),
|
|
(0, 355, 120, 200),
|
|
(0, 398, 165, 200),
|
|
(0, 0, 120, 88),
|
|
(480, 0, 165, 88),
|
|
(550, 0, 1000, 245),
|
|
(478, 360, 1000, 100),
|
|
(440, 400, 100, 100)
|
|
#(x, y, w, h)
|
|
#(420, 400, 100, 100)
|
|
]
|
|
selectormenu = False
|
|
GOBACKONLY = False
|
|
goingblack = 0
|
|
animation_delay = 10
|
|
startdelay = 0
|
|
player_sprites = [
|
|
pygame.transform.scale(pygame.image.load('players1.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('players2.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('players3.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerb1.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerb2.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerb3.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerr1.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerr2.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerl1.png'), playersize),
|
|
pygame.transform.scale(pygame.image.load('playerl2.png'), playersize),
|
|
]
|
|
player_soul = pygame.transform.scale(pygame.image.load('soul.png'), (16,16))
|
|
rect_surf = pygame.transform.scale(pygame.image.load('pellet.png'), (20,10))
|
|
monstersize = (108, 124)
|
|
Flowey02 = pygame.transform.scale(pygame.image.load("Flowey02.png"), monstersize)
|
|
Flowey01 = pygame.transform.scale(pygame.image.load("Flowey01.png"), monstersize)
|
|
current_music = None
|
|
dialogue = pygame.transform.scale(pygame.image.load('dialogue.png'), (580,180))
|
|
escapping = False
|
|
last_surf = None # keep last drawn frame
|
|
fullscreen = False
|
|
inmenu = False
|
|
x_start = None
|
|
fontsize = 32
|
|
char, color = None, "white"
|
|
dialogue_text = ""
|
|
letters_shown = 0 # start with nothing shown
|
|
floweygoofy = False
|
|
xkey, ykey = 1, 1
|
|
pelletx, pellety = 300, 30
|
|
pelletxr1 = 200
|
|
pelletxr2 = 250
|
|
pelletyr3 = 350
|
|
pelletyr4 = 400
|
|
font = pygame.font.Font("determination.ttf", fontsize).render(char, True, color)
|
|
#things that will be in save files
|
|
hp, maxhp = 20, 20
|
|
LV = 1
|
|
level = 1
|
|
playername = ""
|
|
current_run = "neutral"
|
|
#all the pygame setups and shit
|
|
clock = pygame.time.Clock()
|
|
screen = pygame.display.set_mode(displaysize)
|
|
player = player_sprites[0]
|
|
#player_rect = player.get_rect()
|
|
start_time = time.time() # wall clock start
|
|
iconpng = pygame.image.load('icon.png')
|
|
iconpng = pygame.transform.scale(iconpng, (32,32))
|
|
#intro
|
|
video = MediaPlayer("intro.mkv")
|
|
game_option = 1
|
|
blip_channel = pygame.mixer.Channel(5)
|
|
blip_variants = [
|
|
pygame.mixer.Sound("blip.ogg"),
|
|
pygame.mixer.Sound("scaryblip.wav")
|
|
]
|
|
dialogue_text = "* Howdy!\n* I'm FLOWEY.\n* FLOWEY the FLOWER!"
|
|
letters_shown = 0
|
|
last_tick = pygame.time.get_ticks()
|
|
delay_ms = 40 # reveal speed (ms per character)
|
|
#all the music
|
|
start_menu_mus = "mus_menu0.ogg" |