Add simple player image

Start prepping for baserunning
This commit is contained in:
Sage Vaillancourt 2025-01-26 20:05:24 -05:00
parent 42a537dae0
commit 5fc72c46fe
2 changed files with 39 additions and 13 deletions

BIN
src/images/game/player.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 B

View File

@ -9,6 +9,7 @@ playdate.display.setRefreshRate(50)
gfx.setBackgroundColor(gfx.kColorWhite)
local grassBackground = gfx.image.new("images/game/grass.png")
local playerImage = gfx.image.new("images/game/player.png")
local pitchFlyTimeMs = 2500
local ballStartY, endY = 90, 250
@ -20,7 +21,7 @@ local ballSizeAnimator = gfx.animator.new(ballSizeMs, 9, 6, playdate.easingFunct
local screenW, screenH = 400, 240
local centerX, centerY = screenW / 2, screenH / 2
local batBaseX, batBaseY = centerX - 34, 220
local batBaseX, batBaseY = centerX - 34, 215
local batLength = 45
@ -34,6 +35,11 @@ local batTipX = 0
local batTipY = 0
local hit = false
local MODES = {
batting = 0,
running = 1
}
local currentMode = MODES.batting
local hitAnimatorY
local hitAnimatorX
@ -49,18 +55,37 @@ local basePositions = {
home = { x = screenW * 0.474, y = screenH * 0.79 }
}
local fielders
function resetFielders()
fielders = {
first = { x = screenW - 65, y = screenH * 0.48 },
second = { x = screenW * 0.70, y = screenH * 0.30 },
shortstop = { x = screenW * 0.30, y = screenH * 0.30 },
third = { x = screenW * 0.1, y = screenH * 0.48 },
pitcher = { x = screenW * 0.48, y = screenH * 0.40 }
}
end
resetFielders()
local fielders = {
first = {},
second = {},
shortstop = {},
third = {},
pitcher = {}
}
function resetFielderPositions()
fielders.first.x = screenW - 65
fielders.first.y = screenH * 0.48
fielders.second.x = screenW * 0.70
fielders.second.y = screenH * 0.30
fielders.shortstop.x = screenW * 0.30
fielders.shortstop.y = screenH * 0.30
fielders.third.x = screenW * 0.1
fielders.third.y = screenH * 0.48
fielders.pitcher.x = screenW * 0.48
fielders.pitcher.y = screenH * 0.40
end
resetFielderPositions()
local player = {
x = basePositions.home.x - 40,
y = basePositions.home.y - 3,
nextBase = nil,
prevBase = nil,
}
function hitBall(destX, destY, hitFlyTime)
ballSizeAnimator:reset(ballSizeMs)
@ -77,7 +102,7 @@ end
function pitch()
pitchAnimator:reset()
resetFielders()
resetFielderPositions()
ballVelX = 0
ballVelY = 0
ballX = 200
@ -232,6 +257,7 @@ function playdate.update()
updateGameState()
grassBackground:draw(0, 0)
playerImage:draw(player.x, player.y)
gfx.setColor(gfx.kColorBlack)
gfx.setLineWidth(2)