-
Notifications
You must be signed in to change notification settings - Fork 0
/
globals.py
62 lines (54 loc) · 1.63 KB
/
globals.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
from pygame.locals import *
import pygame, random, sys, math, copy, time
'''global functions and variables (sorry...)
This are game-wide constants that never change, such as colors, window size,
and game objects sizes. This file makes all the necessary imports, and is
imported by all other files '''
WIDTH, HEIGHT = 860, 860
MARGIN = 20
BOARD = pygame.Rect(0, 0, WIDTH, HEIGHT)
SIDEBAR = 250
SIDEBARRECT = pygame.Rect(WIDTH, 0, SIDEBAR, HEIGHT)
WEDGE = pygame.Rect(WIDTH, 0, MARGIN, HEIGHT)
WHITE = (255,255,255)
BLACK = (0,0,0)
GREEN = (73,160,117)
PINK = (255, 194, 194)
MINT = (120, 255, 194)
tileRatio = 44/36
tileTopRatio = 15/36
tileWidth = 40
tileHeight = tileWidth * tileRatio
tileDepth = tileHeight * tileTopRatio
stacksPerSide = 17
tilesPerSide = stacksPerSide * 2
rowLength = stacksPerSide * tileWidth
tilesPerRow = 10
FPS = pygame.time.Clock()
def frange(initial, final, step):
# float-range: returns a list going from initial to final in step-sized
# increments
L = [initial]
if step == 0:
return L
nonSigFigs = len(str(round(step))) # figures before the decimal
sigFigs = len(str(step)) - nonSigFigs # figures after the decimal
steps = abs(final - initial) // step
if final == initial:
return L
elif final > initial:
direction = 1
else:
direction = -1
while len(L) <= steps:
initial += step * direction
initial = round(initial, sigFigs)
L.append(initial)
if direction == 1:
if L[-1] > final:
L.pop()
if direction == -1:
if L[-1] < final:
L.pop()
L.append(final)
return L