mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-26 21:22:27 -06:00
131 lines
2.4 KiB
Python
131 lines
2.4 KiB
Python
|
from pandac.PandaModules import VBase3, BitMask32
|
||
|
GameTime = 60
|
||
|
NumBarrels = 4
|
||
|
BarrelStartingPositions = (VBase3(4.3, 4, 0),
|
||
|
VBase3(4.3, -4, 0),
|
||
|
VBase3(-4.3, 4, 0),
|
||
|
VBase3(-4.3, -4, 0))
|
||
|
ToonStartingPositions = (VBase3(0, 16, 0),
|
||
|
VBase3(0, -16, 0),
|
||
|
VBase3(-16, 0, 0),
|
||
|
VBase3(16, 0, 0))
|
||
|
CogStartingPositions = (VBase3(35, 18, 0),
|
||
|
VBase3(35, 0, 0),
|
||
|
VBase3(35, -18, 0),
|
||
|
VBase3(-35, 18, 0),
|
||
|
VBase3(-35, 0, 0),
|
||
|
VBase3(-35, -18, 0),
|
||
|
VBase3(0, 27, 0),
|
||
|
VBase3(0, -27, 0),
|
||
|
VBase3(35, 9, 0),
|
||
|
VBase3(-35, 9, 0),
|
||
|
VBase3(35, -9, 0),
|
||
|
VBase3(-35, -9, 0))
|
||
|
CogReturnPositions = (VBase3(-35, 28, 0),
|
||
|
VBase3(-14, 28, 0),
|
||
|
VBase3(14, 28, 0),
|
||
|
VBase3(35, 28, 0),
|
||
|
VBase3(35, 0, 0),
|
||
|
VBase3(35, -28, 0),
|
||
|
VBase3(-14, -28, 0),
|
||
|
VBase3(14, -28, 0),
|
||
|
VBase3(-35, -28, 0),
|
||
|
VBase3(-35, 0, 0))
|
||
|
StageHalfWidth = 25
|
||
|
StageHalfHeight = 18
|
||
|
NoGoal = 0
|
||
|
BarrelGoal = 1
|
||
|
ToonGoal = 2
|
||
|
RunAwayGoal = 3
|
||
|
InvalidGoalId = -1
|
||
|
GoalStr = {NoGoal: 'NoGoal',
|
||
|
BarrelGoal: 'BarrelGoal',
|
||
|
ToonGoal: 'ToonGoal',
|
||
|
RunAwayGoal: 'RunAwayGoal',
|
||
|
InvalidGoalId: 'InvalidGoa'}
|
||
|
BarrelBitmask = BitMask32(512)
|
||
|
BarrelOnGround = -1
|
||
|
NoBarrelCarried = -1
|
||
|
LyingDownDuration = 2.0
|
||
|
MAX_SCORE = 20
|
||
|
MIN_SCORE = 3
|
||
|
|
||
|
def calcScore(t):
|
||
|
range = MAX_SCORE - MIN_SCORE
|
||
|
score = range * (float(t) / GameTime) + MIN_SCORE
|
||
|
return int(score + 0.5)
|
||
|
|
||
|
|
||
|
def getMaxScore():
|
||
|
result = calcScore(GameTime)
|
||
|
return result
|
||
|
|
||
|
|
||
|
NumCogsTable = [{2000: 5,
|
||
|
1000: 5,
|
||
|
5000: 5,
|
||
|
4000: 5,
|
||
|
3000: 5,
|
||
|
9000: 5},
|
||
|
{2000: 7,
|
||
|
1000: 7,
|
||
|
5000: 7,
|
||
|
4000: 7,
|
||
|
3000: 7,
|
||
|
9000: 7},
|
||
|
{2000: 9,
|
||
|
1000: 9,
|
||
|
5000: 9,
|
||
|
4000: 9,
|
||
|
3000: 9,
|
||
|
9000: 9},
|
||
|
{2000: 11,
|
||
|
1000: 11,
|
||
|
5000: 11,
|
||
|
4000: 11,
|
||
|
3000: 11,
|
||
|
9000: 11}]
|
||
|
CogSpeedTable = [{2000: 6.0,
|
||
|
1000: 6.4,
|
||
|
5000: 6.8,
|
||
|
4000: 7.2,
|
||
|
3000: 7.6,
|
||
|
9000: 8.0},
|
||
|
{2000: 6.0,
|
||
|
1000: 6.4,
|
||
|
5000: 6.8,
|
||
|
4000: 7.2,
|
||
|
3000: 7.6,
|
||
|
9000: 8.0},
|
||
|
{2000: 6.0,
|
||
|
1000: 6.4,
|
||
|
5000: 6.8,
|
||
|
4000: 7.2,
|
||
|
3000: 7.6,
|
||
|
9000: 8.0},
|
||
|
{2000: 6.0,
|
||
|
1000: 6.4,
|
||
|
5000: 6.8,
|
||
|
4000: 7.2,
|
||
|
3000: 7.6,
|
||
|
9000: 8.0}]
|
||
|
ToonSpeed = 9.0
|
||
|
PerfectBonus = [8,
|
||
|
6,
|
||
|
4,
|
||
|
2]
|
||
|
|
||
|
def calculateCogs(numPlayers, safezone):
|
||
|
result = 5
|
||
|
if numPlayers <= len(NumCogsTable):
|
||
|
if safezone in NumCogsTable[numPlayers - 1]:
|
||
|
result = NumCogsTable[numPlayers - 1][safezone]
|
||
|
return result
|
||
|
|
||
|
|
||
|
def calculateCogSpeed(numPlayers, safezone):
|
||
|
result = 6.0
|
||
|
if numPlayers <= len(NumCogsTable):
|
||
|
if safezone in CogSpeedTable[numPlayers - 1]:
|
||
|
result = CogSpeedTable[numPlayers - 1][safezone]
|
||
|
return result
|