From 071857f6392c0ecd4618aae1e38f9931a0e210fc Mon Sep 17 00:00:00 2001 From: Unbewohnte Date: Mon, 17 Jun 2024 17:33:50 +0300 Subject: [PATCH] FEATURE: Mandarin rain!; First release version --- src/game/audio.go | 46 ++++ src/game/capybara.go | 73 +++++ src/game/game.go | 173 ++++-------- src/game/level.go | 6 + src/game/mandarinRain.go | 258 ++++++++++++++++++ src/game/physical.go | 40 +++ src/game/sprite.go | 92 +++++++ src/game/window.go | 31 +++ src/main.go | 10 +- src/resources/resources/leather.wav | Bin 85440 -> 0 bytes .../resources/mandarin_box_empty.png | Bin 0 -> 705 bytes src/resources/resources/mandarin_box_full.png | Bin 0 -> 778 bytes src/resources/resources/mandarin_box_full.wav | Bin 0 -> 28970 bytes .../resources/mandarin_box_not_empty.png | Bin 0 -> 723 bytes src/resources/resources/mandarin_orange.png | Bin 0 -> 624 bytes .../resources/mandarin_rain_completed.wav | Bin 0 -> 21052 bytes src/resources/resources/menu_switch.wav | Bin 91750 -> 0 bytes src/resources/resources/orange_put.wav | Bin 0 -> 10188 bytes 18 files changed, 605 insertions(+), 124 deletions(-) create mode 100644 src/game/audio.go create mode 100644 src/game/capybara.go create mode 100644 src/game/level.go create mode 100644 src/game/mandarinRain.go create mode 100644 src/game/physical.go create mode 100644 src/game/sprite.go create mode 100644 src/game/window.go delete mode 100644 src/resources/resources/leather.wav create mode 100644 src/resources/resources/mandarin_box_empty.png create mode 100644 src/resources/resources/mandarin_box_full.png create mode 100644 src/resources/resources/mandarin_box_full.wav create mode 100644 src/resources/resources/mandarin_box_not_empty.png create mode 100644 src/resources/resources/mandarin_orange.png create mode 100644 src/resources/resources/mandarin_rain_completed.wav delete mode 100644 src/resources/resources/menu_switch.wav create mode 100644 src/resources/resources/orange_put.wav diff --git a/src/game/audio.go b/src/game/audio.go new file mode 100644 index 0000000..b79a7a5 --- /dev/null +++ b/src/game/audio.go @@ -0,0 +1,46 @@ +package game + +import "strings" + +// Plays sound and rewinds the player +func (g *Game) PlaySound(soundKey string) { + if strings.TrimSpace(soundKey) != "" { + g.AudioPlayers[soundKey].Rewind() + g.AudioPlayers[soundKey].Play() + } +} + +func (g *Game) SetVolume(volume float64) { + if volume > 1.0 || volume < 0.0 { + return + } + + g.Config.Volume = volume + for _, player := range g.AudioPlayers { + player.SetVolume(volume) + } +} + +func (g *Game) IncreaseVolume(volumeDelta float64) { + for _, player := range g.AudioPlayers { + volume := player.Volume() + volumeDelta + if volume > 1.0 || volume < 0.0 { + continue + } + + player.SetVolume(volume) + g.Config.Volume = volume + } +} + +func (g *Game) DecreaseVolume(volumeDelta float64) { + for _, player := range g.AudioPlayers { + volume := player.Volume() - volumeDelta + if volume > 1.0 || volume < 0.0 { + continue + } + + player.SetVolume(volume) + g.Config.Volume = volume + } +} diff --git a/src/game/capybara.go b/src/game/capybara.go new file mode 100644 index 0000000..1b70397 --- /dev/null +++ b/src/game/capybara.go @@ -0,0 +1,73 @@ +package game + +import ( + "github.com/hajimehoshi/ebiten/v2" + "github.com/hajimehoshi/ebiten/v2/inpututil" +) + +type Capybara struct { + Sprite *Sprite +} + +func NewCapybara(sprite *Sprite) *Capybara { + return &Capybara{ + Sprite: sprite, + } +} + +func (c *Capybara) Update() { + if inpututil.IsMouseButtonJustPressed(ebiten.MouseButtonLeft) || + len(inpututil.AppendJustPressedTouchIDs(nil)) != 0 { + c.Sprite.Animation.Squish += 0.5 + } + + // Capybara Animation + capyAniData := &c.Sprite.Animation + if capyAniData.Theta >= 0.03 { + capyAniData.BounceDirectionFlag = false + } else if capyAniData.Theta <= -0.03 { + capyAniData.BounceDirectionFlag = true + } + + if capyAniData.Squish >= 0 { + capyAniData.Squish -= 0.05 + } + + if capyAniData.BounceDirectionFlag { + capyAniData.Theta += 0.001 + } else { + capyAniData.Theta -= 0.001 + } +} + +func (c *Capybara) Draw(screen *ebiten.Image, level uint32) { + // Capybara + switch level { + case 1: + c.Sprite.ChangeImageByName("capybara_1.png") + case 2: + c.Sprite.ChangeImageByName("capybara_2.png") + case 3: + c.Sprite.ChangeImageByName("capybara_3.png") + default: + c.Sprite.ChangeImageByName("capybara_3.png") + } + + op := &ebiten.DrawImageOptions{} + capybaraBounds := c.Sprite.Img.Bounds() + scale := float64(screen.Bounds().Dx()) / float64(capybaraBounds.Dx()) / 2.5 + c.Sprite.Scale = scale + op.GeoM.Scale( + scale+c.Sprite.Animation.Squish, + scale-c.Sprite.Animation.Squish, + ) + op.GeoM.Rotate(c.Sprite.Animation.Theta) + + capyWidth := float64(c.Sprite.RealBounds().Dx()) + capyHeight := float64(c.Sprite.RealBounds().Dy()) + c.Sprite.MoveTo(float64(screen.Bounds().Dx()/2)-capyWidth/2, float64(screen.Bounds().Dy()/2)-capyHeight/2) + + op.GeoM.Translate(c.Sprite.X, c.Sprite.Y) + + screen.DrawImage(c.Sprite.Img, op) +} diff --git a/src/game/game.go b/src/game/game.go index c6ca2f8..95e840a 100644 --- a/src/game/game.go +++ b/src/game/game.go @@ -9,7 +9,6 @@ import ( "fmt" "image/color" "path/filepath" - "strings" "github.com/hajimehoshi/ebiten/v2" "github.com/hajimehoshi/ebiten/v2/audio" @@ -19,65 +18,44 @@ import ( "golang.org/x/image/font/opentype" ) -type AnimationData struct { - Squish float64 - Theta float64 - BounceDirectionFlag bool -} - type Game struct { WorkingDir string Config conf.Configuration Save save.Save - AudioContext *audio.Context AudioPlayers map[string]*audio.Player - ImageResources map[string]*ebiten.Image FontFace font.Face - AnimationData AnimationData PassiveIncomeTicker int + Capybara *Capybara + Background *Sprite + MandarinRain *MandarinRain } -func NewGame() *Game { +func NewGame() Game { audioCtx := audio.NewContext(44000) fnt := resources.GetFont("PixeloidSans-Bold.otf") - return &Game{ - WorkingDir: ".", - Config: conf.Default(), - Save: save.Default(), - AudioContext: audioCtx, + return Game{ + WorkingDir: ".", + Config: conf.Default(), + Save: save.Default(), AudioPlayers: map[string]*audio.Player{ - "boop": resources.GetAudioPlayer(audioCtx, "boop.wav"), - "woop": resources.GetAudioPlayer(audioCtx, "woop.wav"), - "menu_switch": resources.GetAudioPlayer(audioCtx, "menu_switch.wav"), - "levelup": resources.GetAudioPlayer(audioCtx, "levelup.wav"), - }, - ImageResources: map[string]*ebiten.Image{ - "capybara1": ebiten.NewImageFromImage(resources.ImageFromFile("capybara_1.png")), - "capybara2": ebiten.NewImageFromImage(resources.ImageFromFile("capybara_2.png")), - "capybara3": ebiten.NewImageFromImage(resources.ImageFromFile("capybara_3.png")), - "background1": ebiten.NewImageFromImage(resources.ImageFromFile("background_1.png")), - "background2": ebiten.NewImageFromImage(resources.ImageFromFile("background_2.png")), + "boop": resources.GetAudioPlayer(audioCtx, "boop.wav"), + "woop": resources.GetAudioPlayer(audioCtx, "woop.wav"), + "menu_switch": resources.GetAudioPlayer(audioCtx, "menu_switch.wav"), + "levelup": resources.GetAudioPlayer(audioCtx, "levelup.wav"), + "mandarin_box_full": resources.GetAudioPlayer(audioCtx, "mandarin_box_full.wav"), + "orange_put": resources.GetAudioPlayer(audioCtx, "orange_put.wav"), + "mandarin_rain_completed": resources.GetAudioPlayer(audioCtx, "mandarin_rain_completed.wav"), }, + Capybara: NewCapybara(NewSpriteFromFile("capybara_1.png")), + Background: NewSpriteFromFile("background_1.png"), FontFace: util.NewFace(fnt, &opentype.FaceOptions{ Size: 32, DPI: 72, Hinting: font.HintingVertical, }), - AnimationData: AnimationData{ - Theta: 0.0, - BounceDirectionFlag: true, - Squish: 0, - }, PassiveIncomeTicker: 0, - } -} - -// Plays sound and rewinds the player -func (g *Game) PlaySound(soundKey string) { - if strings.TrimSpace(soundKey) != "" { - g.AudioPlayers[soundKey].Rewind() - g.AudioPlayers[soundKey].Play() + MandarinRain: NewMandarinRain(3, 8), } } @@ -99,54 +77,30 @@ func (g *Game) SaveData(saveFileName string, configurationFileName string) error return nil } -// Returns how many points required to be considered of level -func pointsForLevel(level uint32) uint64 { - return 25 * uint64(level*level) -} - func (g *Game) Update() error { if ebiten.IsWindowBeingClosed() { return ebiten.Termination } - // Update configuration and save information - width, height := ebiten.WindowSize() - g.Config.WindowSize = [2]int{width, height} - - x, y := ebiten.WindowPosition() - g.Config.LastWindowPosition = [2]int{x, y} - if inpututil.IsKeyJustPressed(ebiten.KeyEscape) { // Exit return ebiten.Termination } if inpututil.IsKeyJustPressed(ebiten.KeyF12) { - if ebiten.IsFullscreen() { - // Turn fullscreen off - ebiten.SetFullscreen(false) - } else { - // Go fullscreen - ebiten.SetFullscreen(true) - } + g.ToggleFullscreen() } + g.SaveWindowGeometry() + if inpututil.IsKeyJustPressed(ebiten.KeyArrowLeft) { // Decrease volume - if g.Config.Volume-0.2 >= 0 { - g.Config.Volume -= 0.2 - for _, player := range g.AudioPlayers { - player.SetVolume(g.Config.Volume) - } - } - } else if inpututil.IsKeyJustPressed(ebiten.KeyArrowRight) { + g.DecreaseVolume(0.2) + } + + if inpututil.IsKeyJustPressed(ebiten.KeyArrowRight) { // Increase volume - if g.Config.Volume+0.2 <= 1.0 { - g.Config.Volume += 0.2 - for _, player := range g.AudioPlayers { - player.SetVolume(g.Config.Volume) - } - } + g.IncreaseVolume(0.2) } if inpututil.IsMouseButtonJustPressed(ebiten.MouseButtonLeft) || @@ -154,21 +108,9 @@ func (g *Game) Update() error { // Click! g.Save.TimesClicked++ g.Save.Points++ - g.AnimationData.Squish += 0.5 g.PlaySound("woop") } - // Capybara Animation - if g.AnimationData.Theta >= 0.03 { - g.AnimationData.BounceDirectionFlag = false - } else if g.AnimationData.Theta <= -0.03 { - g.AnimationData.BounceDirectionFlag = true - } - - if g.AnimationData.Squish >= 0 { - g.AnimationData.Squish -= 0.05 - } - // Passive points income if g.PassiveIncomeTicker == ebiten.TPS() { g.PassiveIncomeTicker = 0 @@ -184,6 +126,25 @@ func (g *Game) Update() error { g.PlaySound("levelup") } + // Capybara animation update + g.Capybara.Update() + + if !g.MandarinRain.InProgress && g.Save.TimesClicked > 0 && g.Save.TimesClicked%100 == 0 { + // Have some oranges! + g.MandarinRain.Run() + logger.Info("Started mandarin rain at %d points!", g.Save.Points) + } + + if g.MandarinRain.InProgress { + // Calculate mandarin rain logic for this step + g.MandarinRain.Update(g) + } + + if g.MandarinRain.Completed { + // Prepare a new mandarin rain + g.MandarinRain = NewMandarinRain(3, 8) + } + return nil } @@ -191,51 +152,21 @@ func (g *Game) Draw(screen *ebiten.Image) { // Background screen.Fill(color.Black) - backBounds := g.ImageResources["background1"].Bounds() op := &ebiten.DrawImageOptions{} op.GeoM.Scale( - float64(screen.Bounds().Dx())/float64(backBounds.Dx()), - float64(screen.Bounds().Dy())/float64(backBounds.Dy()), + float64(screen.Bounds().Dx())/float64(g.Background.Img.Bounds().Dx()), + float64(screen.Bounds().Dy())/float64(g.Background.Img.Bounds().Dy()), ) - screen.DrawImage(g.ImageResources["background1"], op) + screen.DrawImage(g.Background.Img, op) // Capybara - var capybaraKey string - switch g.Save.Level { - case 1: - capybaraKey = "capybara1" - case 2: - capybaraKey = "capybara2" - case 3: - capybaraKey = "capybara3" - default: - capybaraKey = "capybara3" - } + g.Capybara.Draw(screen, g.Save.Level) - op = &ebiten.DrawImageOptions{} - if g.AnimationData.BounceDirectionFlag { - g.AnimationData.Theta += 0.001 - } else { - g.AnimationData.Theta -= 0.001 + // Mandarin rain + if g.MandarinRain.InProgress { + g.MandarinRain.Draw(screen) } - capybaraBounds := g.ImageResources[capybaraKey].Bounds() - scale := float64(screen.Bounds().Dx()) / float64(capybaraBounds.Dx()) / 2.5 - op.GeoM.Scale( - scale+g.AnimationData.Squish, - scale-g.AnimationData.Squish, - ) - op.GeoM.Rotate(g.AnimationData.Theta) - - capyWidth := float64(g.ImageResources[capybaraKey].Bounds().Dx()) * scale - capyHeight := float64(g.ImageResources[capybaraKey].Bounds().Dy()) * scale - op.GeoM.Translate( - float64(screen.Bounds().Dx()/2)-capyWidth/2, - float64(screen.Bounds().Dy()/2)-capyHeight/2, - ) - - screen.DrawImage(g.ImageResources[capybaraKey], op) - // Points msg := fmt.Sprintf("Points: %d", g.Save.Points) text.Draw( diff --git a/src/game/level.go b/src/game/level.go new file mode 100644 index 0000000..314a448 --- /dev/null +++ b/src/game/level.go @@ -0,0 +1,6 @@ +package game + +// Returns how many points required to be considered of level +func pointsForLevel(level uint32) uint64 { + return 25 * uint64(level*level) +} diff --git a/src/game/mandarinRain.go b/src/game/mandarinRain.go new file mode 100644 index 0000000..edaa04f --- /dev/null +++ b/src/game/mandarinRain.go @@ -0,0 +1,258 @@ +package game + +import ( + "image" + "math/rand" + + "github.com/hajimehoshi/ebiten/v2" + "github.com/hajimehoshi/ebiten/v2/inpututil" +) + +type MandarinRain struct { + InProgress bool + MandarinBox *Physical + Mandarins []*Physical + Completed bool + mandarinCount uint16 + mandarinInitialCount uint16 + mandarinsInBox uint16 + boxFull bool + mandarinCountRange [2]uint16 + screenBounds image.Rectangle +} + +func NewMandarinRain(from uint16, to uint16) *MandarinRain { + rain := MandarinRain{} + rain.screenBounds = WindowBounds() + rain.InProgress = false + rain.mandarinInitialCount = uint16(rand.Int31n(int32(to-from)) + int32(from)) + rain.mandarinCountRange = [2]uint16{from, to} + rain.mandarinCount = rain.mandarinInitialCount + rain.mandarinsInBox = 0 + rain.boxFull = false + rain.Completed = false + + rain.Mandarins = make([]*Physical, rain.mandarinInitialCount) + for i := 0; i < int(rain.mandarinInitialCount); i++ { + rain.Mandarins[i] = NewPhysical(NewSpriteFromFile("mandarin_orange.png"), 10.0) + } + + rain.MandarinBox = NewPhysical(NewSpriteFromFile("mandarin_box_empty.png"), 5.5) + + return &rain +} + +func (mr *MandarinRain) Run() { + if mr.InProgress { + return + } + + mr.screenBounds = WindowBounds() + mr.InProgress = true + + // Move oranges to random positions on the top of the screen + for _, orange := range mr.Mandarins { + orange.Sprite.MoveTo(float64(rand.Int31n(int32(mr.screenBounds.Bounds().Dx()-orange.Sprite.RealBounds().Dx()))), 10.0) + } + + // Create mandarin box + mr.MandarinBox.Sprite.MoveTo( + float64(rand.Int31n(int32(mr.screenBounds.Bounds().Dx()-mr.MandarinBox.Sprite.RealBounds().Dx()))), + 10.0, + ) +} + +func (mr *MandarinRain) Update(game *Game) { + mr.screenBounds = WindowBounds() + + cPosX, cPosY := ebiten.CursorPosition() + var tPosX int = 0 + var tPosY int = 0 + if len(ebiten.AppendTouchIDs(nil)) != 0 { + tPosX, tPosY = ebiten.TouchPosition(ebiten.AppendTouchIDs(nil)[0]) + } + + // Oranges + temp := mr.Mandarins[:0] + for _, orange := range mr.Mandarins { + orange.Acceleration.Vx = 0.0 + orange.Acceleration.Vy = 9.81 / orange.Mass + + if ebiten.IsMouseButtonPressed(ebiten.MouseButtonLeft) && + orange.InVicinity(float64(cPosX), float64(cPosY), 75.0) { + difference := newVec2f( + (float64(cPosX-orange.Sprite.RealBounds().Dx()/2)-orange.Sprite.X)*4.5, + (float64(cPosY-orange.Sprite.RealBounds().Dy()/2)-orange.Sprite.Y)*4.5, + ) + + orange.Acceleration.Vx = difference.Vx / orange.Mass + orange.Acceleration.Vy = difference.Vy / orange.Mass + } else if len(inpututil.AppendJustPressedTouchIDs(nil)) != 0 && + orange.InVicinity(float64(tPosX), float64(tPosY), 75.0) { + + tPosX, tPosY := ebiten.TouchPosition(ebiten.AppendTouchIDs(nil)[0]) + difference := newVec2f( + (float64(tPosX-orange.Sprite.RealBounds().Dx()/2)-orange.Sprite.X)*4.5, + (float64(tPosY-orange.Sprite.RealBounds().Dy()/2)-orange.Sprite.Y)*4.5, + ) + + orange.Acceleration.Vx = difference.Vx / orange.Mass + orange.Acceleration.Vy = difference.Vy / orange.Mass + } + + orange.Velocity.Vx = orange.Velocity.Vx + orange.Acceleration.Vx*0.05 + orange.Velocity.Vy = orange.Velocity.Vy + orange.Acceleration.Vy*0.05 + + oBounds := orange.Sprite.RealBounds() + oX := orange.Sprite.X + oY := orange.Sprite.Y + + // Constraints + // Right + if oX+float64(oBounds.Dx()) >= float64(mr.screenBounds.Dx()) { + orange.Velocity.Vx = -orange.Velocity.Vx * 0.4 + } + + // Left + if oX <= 0 { + orange.Velocity.Vx = -orange.Velocity.Vx * 0.4 + } + + // Up + if oY <= 0.0 { + orange.Velocity.Vy = -orange.Velocity.Vy * 0.4 + } + + // Bottom + if oY+float64(oBounds.Dy()) >= float64(mr.screenBounds.Dy()) { + orange.Velocity.Vx = orange.Velocity.Vx * 0.4 // friction on the floor + orange.Velocity.Vy = -orange.Velocity.Vy * 0.4 + } + + orange.Sprite.X += orange.Velocity.Vx + orange.Sprite.Y += orange.Velocity.Vy + + // Move the orange + orange.Sprite.MoveTo(orange.Sprite.X, orange.Sprite.Y) + + // Check whether it touches mandarin box + if orange.InVicinity(mr.MandarinBox.Sprite.X, mr.MandarinBox.Sprite.Y, float64(mr.MandarinBox.Sprite.RealBounds().Dx())) { + // Yes! + mr.mandarinsInBox++ + mr.mandarinCount-- + game.PlaySound("orange_put") + } else { + // Do not include this orange in the next update (effectively, delete it) + temp = append(temp, orange) + } + } + mr.Mandarins = temp + + // Orange box + mr.MandarinBox.Acceleration.Vx = 0.0 + mr.MandarinBox.Acceleration.Vy = 9.81 / mr.MandarinBox.Mass + + if ebiten.IsMouseButtonPressed(ebiten.MouseButtonLeft) && + mr.MandarinBox.InVicinity(float64(cPosX), float64(cPosY), 75.0) { + difference := newVec2f( + (float64(cPosX-mr.MandarinBox.Sprite.RealBounds().Dx()/2)-mr.MandarinBox.Sprite.X)*3.5, + (float64(cPosY-mr.MandarinBox.Sprite.RealBounds().Dy()/2)-mr.MandarinBox.Sprite.Y)*3.5, + ) + + mr.MandarinBox.Acceleration.Vx = difference.Vx / mr.MandarinBox.Mass + mr.MandarinBox.Acceleration.Vy = difference.Vy / mr.MandarinBox.Mass + } else if len(inpututil.AppendJustPressedTouchIDs(nil)) != 0 && + mr.MandarinBox.InVicinity(float64(tPosX), float64(tPosY), 75.0) { + + tPosX, tPosY := ebiten.TouchPosition(ebiten.AppendTouchIDs(nil)[0]) + difference := newVec2f( + (float64(tPosX-mr.MandarinBox.Sprite.RealBounds().Dx()/2)-mr.MandarinBox.Sprite.X)*3.5, + (float64(tPosY-mr.MandarinBox.Sprite.RealBounds().Dy()/2)-mr.MandarinBox.Sprite.Y)*3.5, + ) + + mr.MandarinBox.Acceleration.Vx = difference.Vx / mr.MandarinBox.Mass + mr.MandarinBox.Acceleration.Vy = difference.Vy / mr.MandarinBox.Mass + } + + mr.MandarinBox.Velocity.Vx = mr.MandarinBox.Velocity.Vx + mr.MandarinBox.Acceleration.Vx*0.05 + mr.MandarinBox.Velocity.Vy = mr.MandarinBox.Velocity.Vy + mr.MandarinBox.Acceleration.Vy*0.05 + + mBounds := mr.MandarinBox.Sprite.RealBounds() + mX := mr.MandarinBox.Sprite.X + mY := mr.MandarinBox.Sprite.Y + + // Right + if mX+float64(mBounds.Dx()) >= float64(mr.screenBounds.Dx()) { + mr.MandarinBox.Velocity.Vx = -mr.MandarinBox.Velocity.Vx * 0.3 + } + + // Left + if mX <= 0 { + mr.MandarinBox.Velocity.Vx = -mr.MandarinBox.Velocity.Vx * 0.3 + } + + // Up + if mY <= 0.0 { + mr.MandarinBox.Velocity.Vy = -mr.MandarinBox.Velocity.Vy * 0.3 + } + + // Bottom + if mY+float64(mBounds.Dy()) >= float64(mr.screenBounds.Dy()) { + mr.MandarinBox.Velocity.Vx = mr.MandarinBox.Velocity.Vx * 0.3 // friction on the floor + mr.MandarinBox.Velocity.Vy = -mr.MandarinBox.Velocity.Vy * 0.3 + } + + mr.MandarinBox.Sprite.X += mr.MandarinBox.Velocity.Vx + mr.MandarinBox.Sprite.Y += mr.MandarinBox.Velocity.Vy + + // Move box + mr.MandarinBox.Sprite.MoveTo(mr.MandarinBox.Sprite.X, mr.MandarinBox.Sprite.Y) + + if mr.mandarinsInBox == mr.mandarinInitialCount && !mr.boxFull { + // All oranges are in a box! + mr.boxFull = true + game.PlaySound("mandarin_box_full") + } + + // If the box is full with mandarines and is near capybara - end mandarin rain and reward with points! + if mr.boxFull && mr.MandarinBox.InVicinity( + game.Capybara.Sprite.X+float64(game.Capybara.Sprite.RealBounds().Dx()/2), + game.Capybara.Sprite.Y+float64(game.Capybara.Sprite.RealBounds().Dy()/2), + float64(mr.screenBounds.Dx())/7) { + // Give a reward and finish this mandarin rain! + game.Save.Points += pointsForLevel(game.Save.Level+1) / 5 + game.PlaySound("mandarin_rain_completed") + mr.InProgress = false + mr.Completed = true + } +} + +func (mr *MandarinRain) Draw(screen *ebiten.Image) { + if mr.InProgress { + // Mandarin box + if mr.mandarinsInBox < mr.mandarinInitialCount && mr.mandarinsInBox > 0 { + mr.MandarinBox.Sprite.ChangeImageByName("mandarin_box_not_empty.png") + } else if mr.mandarinsInBox == mr.mandarinInitialCount { + mr.MandarinBox.Sprite.ChangeImageByName("mandarin_box_full.png") + } else { + mr.MandarinBox.Sprite.ChangeImageByName("mandarin_box_empty.png") + } + + op := &ebiten.DrawImageOptions{} + scale := float64(screen.Bounds().Dx()) / float64(mr.MandarinBox.Sprite.Img.Bounds().Dx()) / 6.0 + mr.MandarinBox.Sprite.Scale = scale // Save current scale for proper collision detection + op.GeoM.Scale(scale, scale) + op.GeoM.Translate(mr.MandarinBox.Sprite.X, mr.MandarinBox.Sprite.Y) + screen.DrawImage(mr.MandarinBox.Sprite.Img, op) + + // Oranges + for _, orange := range mr.Mandarins { + op = &ebiten.DrawImageOptions{} + scale = float64(screen.Bounds().Dx()) / float64(orange.Sprite.Img.Bounds().Dx()) / 11.5 + orange.Sprite.Scale = scale // Save current scale for proper collision detection + op.GeoM.Scale(scale, scale) + op.GeoM.Translate(orange.Sprite.X, orange.Sprite.Y) + screen.DrawImage(orange.Sprite.Img, op) + } + } +} diff --git a/src/game/physical.go b/src/game/physical.go new file mode 100644 index 0000000..94c10cb --- /dev/null +++ b/src/game/physical.go @@ -0,0 +1,40 @@ +package game + +import "math" + +type Vec2f struct { + Vx float64 + Vy float64 +} + +func newVec2f(x float64, y float64) Vec2f { + return Vec2f{ + Vx: x, + Vy: y, + } +} + +type Physical struct { + Sprite *Sprite + Velocity Vec2f + Acceleration Vec2f + Mass float64 +} + +func NewPhysical(sprite *Sprite, mass float64) *Physical { + return &Physical{ + Sprite: sprite, + Velocity: newVec2f(0.0, 0.0), + Acceleration: newVec2f(0.0, 0.0), + Mass: 10.0, + } +} + +// Returns true if x and y coordinates are in the radius of the physical sprite +func (ph *Physical) InVicinity(x float64, y float64, radius float64) bool { + distance := math.Sqrt( + math.Pow(ph.Sprite.X-x, 2.0) + math.Pow(ph.Sprite.Y-y, 2.0), + ) + + return distance <= radius +} diff --git a/src/game/sprite.go b/src/game/sprite.go new file mode 100644 index 0000000..ffff24d --- /dev/null +++ b/src/game/sprite.go @@ -0,0 +1,92 @@ +package game + +import ( + "Unbewohnte/capyclick/resources" + "image" + + "github.com/hajimehoshi/ebiten/v2" +) + +type AnimationData struct { + Squish float64 + Theta float64 + BounceDirectionFlag bool +} + +// Drawable image structure +type Sprite struct { + Img *ebiten.Image + X float64 + Y float64 + Animation AnimationData + Scale float64 + Dragged bool +} + +func NewSprite(img image.Image) *Sprite { + return &Sprite{ + Img: ebiten.NewImageFromImage(img), + X: 0.0, + Y: 0.0, + Animation: AnimationData{ + Squish: 0.0, + Theta: 0.0, + BounceDirectionFlag: false, + }, + Scale: 1.0, + Dragged: false, + } +} + +func NewSpriteFromFile(fileName string) *Sprite { + return NewSprite(resources.ImageFromFile(fileName)) +} + +func (s *Sprite) ChangeImageByName(fileName string) { + s.Img = ebiten.NewImageFromImage(resources.ImageFromFile(fileName)) +} + +// Returns how big the image is with applied scale factor +func (s *Sprite) RealBounds() image.Rectangle { + bounds := s.Img.Bounds() + realBounds := image.Rect(0, 0, bounds.Dx()*int(s.Scale), bounds.Dy()*int(s.Scale)) + return realBounds +} + +func (s *Sprite) IsIn(x int, y int) bool { + if x >= int(s.X) && x <= (int(s.X)+s.RealBounds().Dx()) && + y >= int(s.Y) && y <= (int(s.Y)+s.RealBounds().Dy()) { + return true + } + + return false +} + +// Moves sprite to given positions. Respects window constraints +func (s *Sprite) MoveTo(x float64, y float64) { + s.X = x + s.Y = y + screenBounds := WindowBounds() + + // Constraints + // Right + if s.X+float64(s.RealBounds().Dx()) >= float64(screenBounds.Dx()) { + s.X = float64(screenBounds.Dx()) - float64(s.RealBounds().Dx()) + } + + // Left + if s.X <= 0 { + s.X = 0 + } + + // Up + if s.Y <= 0.0 { + s.Y = 0.0 + } + + // Bottom + if s.Y+float64(s.RealBounds().Dy()) >= float64(screenBounds.Dy()) { + s.Y = float64(screenBounds.Dy()) - float64(s.RealBounds().Dy()) + } + +} diff --git a/src/game/window.go b/src/game/window.go new file mode 100644 index 0000000..9b19d44 --- /dev/null +++ b/src/game/window.go @@ -0,0 +1,31 @@ +package game + +import ( + "image" + + "github.com/hajimehoshi/ebiten/v2" +) + +func (g *Game) ToggleFullscreen() { + if ebiten.IsFullscreen() { + // Turn fullscreen off + ebiten.SetFullscreen(false) + } else { + // Go fullscreen + ebiten.SetFullscreen(true) + } +} + +func (g *Game) SaveWindowGeometry() { + // Update configuration and save information + width, height := ebiten.WindowSize() + g.Config.WindowSize = [2]int{width, height} + + x, y := ebiten.WindowPosition() + g.Config.LastWindowPosition = [2]int{x, y} +} + +func WindowBounds() image.Rectangle { + x, y := ebiten.WindowSize() + return image.Rect(0, 0, x, y) +} diff --git a/src/main.go b/src/main.go index f3f8962..c4dfc50 100644 --- a/src/main.go +++ b/src/main.go @@ -28,6 +28,7 @@ import ( "flag" "fmt" "io" + "math/rand" "os" "path/filepath" "time" @@ -35,7 +36,7 @@ import ( "github.com/hajimehoshi/ebiten/v2" ) -const Version string = "v0.1" +const Version string = "v0.1-release" var ( silent *bool = flag.Bool("silent", false, "Set to true in order to discard all logging") @@ -66,7 +67,7 @@ func main() { } // Create a game instance - var game *game.Game = game.NewGame() + var game game.Game = game.NewGame() if *saveFiles { // Work out working directory @@ -138,8 +139,11 @@ func main() { player.SetVolume(game.Config.Volume) } + // Set up RNG + rand.Seed(time.Now().UnixNano()) + // Run the game - err := ebiten.RunGame(game) + err := ebiten.RunGame(&game) if err == ebiten.Termination || err == nil { logger.Info("[Main] Shutting down!") if *saveFiles { diff --git a/src/resources/resources/leather.wav b/src/resources/resources/leather.wav deleted file mode 100644 index 02d1ba3c23a705d4066cfd34c1cf46344ae1aeaf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85440 zcmb5%3!II0_XhkuGkXui%s2}`c{A(co} zghWY7Ii{Rv_W5-0cU{-AW@h)!|9L;}{(e6F?&nF#o_)CQ`**FiZn);^t3SIg&2@99 zo4O8t;L*C}T`pIe=(5b^n$$ndmF_CqcMYPih5NwYa=RwvE7N%Kb1ypl8%lV)7fj82-7Ni#fY zh9=FONi!g6ZcLiqNpmR8yp?V~aG3{P#^W;YB+XMvb5qiENSX_ircTmSN}4iB^FoFh zo?-rUnf)$PkTg@1rf<^N?@%Y{D)g^o_Bv*pW7a$7Gsi4<%o4{eaLioC%yi5tx7nXz zR;HO7)69vav7hP0Wc5OO9JAChFFNKS#|&~zU&kEqnBnQ>#tbtc&DiVTNlqwq(lPHi z=6=U?bxd=|RB=qEW16g zglUj4RT3sAVX_h?5jTsn%x@WHiregP8T;gPxi&bakz+nem^%}uQNqLvABW=RySTYM z%M8pkU${-VG*i!I>^1jJ;cF?=c_d-#B+UM}Sspj9#?7d>86Gz`#ZB+H=@K^`;-+QX z?2Vg5Su?QnT0VkIcCPi%)>D=EN1SGnOkG##$2;5%k(Z|R%Dn4 z>E`*Q>F1bE39}$>YR1jCG4o=~+!-?+%b6R>nW|YP&ts~jn;l8h-Z9M*W<=Z^ikX*V zrd`a`h?x^n^K;a!kD8TH^H$Wn6E&|y&Ge{wK5Dj?H=kyiY1wAI+kBpGeoLBb9aB1C z+Q-eiF>`Uu{2MhNM9rECW<_~(Z&~v|rdgYAu5y`Jy|hs+NlWAEOok=`}U4>io098)LTobi~2>E`dGS)MRrduuZYpyw!ZEBV>SsA9U%lwfrZQ>>nHJ+%sA!2?Ao55jIJ8TYx%$ksy9Ws+b z=8=#Y8Zvi<%q<~vd&t}rGB=0JfRGsyGWP3l58YAd{?Py1@Q`^lWS$KDzfB047eeOw zkeM1X;W}nT9dmzG)3=Jr%r;X?nJeAKlV(0}%!#;}6*I3z&5nrKU)P+jYm!yWhgD7K zT+^+z+3z;v)68MV*f*Is5-5C(^O?o@rsrAH=8SphwE6XvdH9q$|CIUXr1|=!S$fhe zI%(#gGz(9f4^NsePMRN1nm@w7Q~+GL(F_0E`XXH4@B=GmU6e>?M36Z3Q( z6R&KBWSe%Grb(JP5I6Sf+YzyM?_HrK0aLM+8Pe0lx|+M2o6qZ-eO1k@9CI?$%u6%p zC(M?J=@K$G1k6u9^G<=;ly9o$n;B=##b?c#!pEvJX3iNi{)`!Q#yoMxj5%YTIb)`s zF>jqQpPn(_o-zB*nEW#)e#X=}YucSPz0aDVXU&AOX5Lw|`mFi+tT|iw$jvuR@=eEl zbA7(KH{Z<2H_P(P`h4?ez6s=;>;iK^f$3CWZZ9xT7ns)z%tr-gQ-L{MVA6c1y3e%r znd^M!0iPM|GqZhWgU{^qnUg+K+HdOlO;^9U&TmHg%{0IHyocG?!K~?S7F}t!UTDhH zGr84G{feebwwYMUe3W6vyUcG1^JWh-w}<)qYV%1av%96~(7^PlVKOS2FSE`3Qs&7F z6Hl7v3FC^HYa_ZO=Cj%-Ys453lv!J>xsICpFyMyYn zpqd<1bAxI{P;CsVpMvU0Q2B$ZR7jm4QmsO&TS(m)Qul?_Qz2#NVsC}i%8=R;QhP({ zR7j19A`*Fu@ zkD_WqHB6|B6RJZ(^-HKh33X3GJ(*CG5^8orElH?P6Y9H!`YEAo2j*l#MG~rvqt17f z?P*=^sH+{-%Tc!1Ho{S39QA^uraNkpqipBSc2#yd>JLZ#<0!wQY^O3OscIxu^Q3B< zR9%zmhNK#pR1YQ9Q|I{9bxYKcp&aH+3cYMV>h{`x_eI_^?Imtsgjf&w|` zoR_BRq$xXlZrmNg^RW)7JNmq84>f&_OE?sp@S3S~IpL8`aT@6WB52vfg z)73NSYGS&Ymabk)R}0eB2kB~gx>}R2Hl!=tzul3p_N1!=>FP+jI-ah4=_;14GR{59 zWGFk~s+pncW~inas%3_{Btu=Ep*m-%ZW*d~hU%Z8ZqHCdGSmYZYGj5Qm7$)_P!lrL zZwIM@o&QRMk)b0$mH$(lIp^jvzV;SmHhVo~q zP=<XIgs^?Y>-Kx1;wREf2Zgr_!U3u=lO=q|2=2q9ZRWG-? z(XDI`^)|N}sBAQ)rW4i+^tr*)n{(?xm$hdR$sf-Cb#<5t+u$;cDLH;R=eHm7q|M=t@gRq zA8vKPtq!@>5w|+#Rwvxb5-4Zgs=%%MZWVT`h+Drv%As=P;4^r*@nRn?=ac~o^zs+t~E+oS4wR6UPs;8Be{s<9_kQ;%xqQ5Ser3y;bx z+}+h9uSd1=sMa2Ji6>PXPpY;ab*V>P=24e>)D<4p&ZF9UQeEj$9XzQzdQx>N%)RK* zRi0FxJ*tZ*RaejdKUaJH|LNvY|JOhD|MmC(uYc~p|JA8~s-pj8e{Ne-pOvfr^Q?9H z&$HU`KhJuHb3YCHsa#q3)3TqRt@d-ZpR@hk?R8+Qy*}(!W3MKAeO>HP7kQMu{#tsJ zy)NzbYOmi5J*k>|l)c{V^`H8#XzXctj=g{Cdz8JuY_<1YEsr|iqiT4Ry<5-oD0@Fw z@u*53W$%0Y9I(%Y9FNNOs4^avs!nf4P+-dgEa_I>t|TP<@d``%mPR*T)r zz8~Lms|9W~&#mUTm3_ay?pF4_Yv04KxRrfBzvNbv-0B6lvhVfrZe`#1Pr22TZuNv) z+4;dEZuO8`*?Gipx4PG@hPl<<=gvC@yVV_THPEf>e5Joz*?CM~x9a0ocAnGIt?c~g zYPag*R-N3cgIl$8tIOT0ty^8Zbn%k*q7l(FTUxf$xg3}xrN4Kh?( zhB}n4Hm9ql>FU*V^;EhVmah7ytE#nmdwaKOCxzrOb z)z76`yHwS4*O`{j{wt}zPpXwkwIHc11w1yX9!#o1N!9OMPV<_ix-zLQNh-@HH%zLU zNoAXd<&r8ZsWOtvIrp$|Ou$k3jymP2JwVI3-){l*}@||6M%Xh*)c;@W`%cL$S^wYlJ?DR0?3CfgR*&ELPHrpxLET?3zJ0*L~DcQ`z z>WS2&8BWPwbxLOUU;n#Kb4vD#Q?jYf|2D-b*~?DJCOfHKa!O|P9sk#AnezXx6P=RT zed+(M&pWA}bN;spPRX8iN;cj}^^8-paZbsecK)}qPO7JzlG*+F|E^CuB^&LOY?M>7 zC!CT!?v(5?C)J})$sTe3w~47S_|H9(8d_*4asQl~b}#PAaRbu(g9zvMZfb z?F;K&N6Fatq{?$j*1}13p_A$Yr)0Jt{ol2jld7qcs)N%6Fa&?QN~$l*}qXZLQ{{I?qW})%oA56xO`zQDrApB_~xyCshR} zRe7gm<(!h`I;nD;RM}3dvW0a%dStl=TeF;!m3C5iBx9_tFQIwbRyNMM5>eL@-eoaNTfQRDA~V>RR0uKTIW{*z5Iy=mQL=rBRF*Tfb#EfouZdK9 z3hUtY=$AyQpA)HeCsOT7q_W(TtveH`ek`oE*P|VYRNE7&wk1;ikSN*KM5--`RNp6* z<+E)4Hj!#`VSTWf6lK2M}tn@IIp zBGsCNTAfI>Dv`=^ZMLpVl5y<6BHL66=^qJ571gRlRg|N4ko8lyGyCrrPQ`kDp5-1l~#9_RyFs!Nu7C`--FQk$~W=`6@D1I?*h z85lz2%fOrTSsD15&Xj>NWuYOpFAF!(gJoe7Ei4P4(T`=}D87H|V___>?y0z>oBM4jdz2 z4rqY2OfFQRy1CGtTIa%*)IAsa(12VROv7{G5gL;V6X>N}m`1a6VLrW+3rlHvF07_6 za$y5)&V?EB#9NvCt+ENQ8bFBi1jA&?6}3gtq$m`HAs z;{U%M>#x^;R{uTv@6><4{$Bd~>VJd&_Z-iKV{|kZ4$*;J&_9v>>9j6(cP{LtZMmS& zi9SDH=fXN#n+uql!%{id&sjG9KJ+;n(3#fh$RHyPeP>S^8EszcR&OMwB zztPTY(0BK`Y|!`n2ic&X0JE}TDm|AC`YG{nHt6TZz-;J8J+h%AwaJDS)F2zGQ@L!= z;7+V8R6G~az!I$TZ7+3TQOI{4GzH(H+tnrEMq29MHhY0#DO(m*rz zn!P{af?sHZ3zpI>7fc}SBzLO|y3-{t(3*mBF3=17VBZ^ zqUmmv?$GEyhwcvOy?4E{t@n%dF09`B)H{rNA5ZV1>Aftylce`^^sb8D+t51>dfl&A z>3R*VSGaoRsaJ`5EvMI7dVQozv`BWTE(7&vaIu?hcbR-Uk=m6`>|BS@-0VFfK` zr#7t^`zQ_{(y}-#rT62ogx-t8VtO|Y?~wM$Srmu2XdyfIEMPCN`Rt|iW*p|x+&Ijk zH{vjxX2s!kdMyq!X+|7grRi~)R?I7Lm`YRP@G?z~!%OsH93~YrF%B=#^Kp2NCd7+8 z8;9}qOdQ4)^K=}v4)3WrjG-qBJIFm5A5Ej!{qBi)5v}5TEDn#-Bk>|5VZcip5l5 zC%f|TBIQ_(n;S2Z6Nl_#cmqIh1H{WvR=h~*IFu?zZ@6&82m^(Vnw#cU|TUi#9(VNTVn8iG2g}D z+hR7yU{f*Q#9(7FU&mlWG3#USRWa*g@Fjgw*x&Gr*ypr1R^+o7tSM%73|1BMX$)2t z^9ifqSHy}ekHN?EQLM;^F<4g2(inVD%==Pw~JX6gSU!V$gZgi zVlcm$H)Albn7J{SQ_LGNm`$?^J6_E?*8||S!XAaM#b(lsSdmv_FrB8wio6nosl`l* z!OJwcu(Rvr*h}1Ih zDrQU!o-Af`3`Wrtu_BMh;IU#Jjlm-{vaoCD$a5WPABq)uko^@##NdHq?vKH6x-VAb z-Wc3N!wUP{4vP(?A+aKNv-j;?F&JFTpcvdqcf^X^9)p2&Tdc^f?3_CwR^*l#^rxF+ zMQ)10jnpqzq;CvvpzC8rw9`cI81yRUx)@wbJ!3_B#NZn09xKu<23J#ILn~=))rC68 zid+=~?R3#GR-{7=uB7&{BJJ2a_lg)?PM5`sTpEM6)FxKsk{Gn6iwk?zUL3oKTE(Dc zG2R&DQHxlS3uABrHIEf(7K5hLBnFL(X%vHo)F4)*ehlhS-B^)2F{n+oVnu4QL&*6t zs6o|ZMXJT%JgOQiQY8kJsZtCo7E>Vx<*8h(NNx;rC_4tcy?5@fWnz#;rDH`(#UPVB zF>n`?5rcF}i-D_{WE31q6pLEKqoAi1Q9dHkBH<{6C>Vu6G5#p{s2~dY#hi`889E&; zaw-ZZ=>+>SA1~}Cdi-2}Oy$J~SGy1!sOKz~KyPud?X@<$YY zr+v{PzeQm${ThWm^vk*aGFX46-BH*@Kd}qx&S;Szqp*XvM`2qrKSW_GZHdD7#e5fq zZ)r2T;BJb-H^ppZ-O91o{Sb59feW!L=+yU$D;5k zJrXT4G71mVLs58;MnsD|5QY0`cogoVd!uj<4T}~T%5F_VqHs6e#jfCkqcDi>jKUqo z+#ZF2bXyc|r2)|*w?v^o-OS!lH$~w_>KBE+bVC%bFQ!ivdQ-0`Tu0YNp(pi-!ZpQo zk3u)Pnq8^7MxhIJj>1*Nbc#Yp>JWu1seKgM(G^j+oGyzNxikuGsSUfQUlN7ZbaAxE zMeKpyDhe&h8-+Y-5rqrsf+#enW>IKLO$vMYHaXXOt5FmhQiCYer+QJSOLYqSI@gKT zrdm;`N#{qQ233zjH99W}RjEo8DpRFsk&02MK;@%Qj&h@rL)lR%OJ$-(vZ7F$N<|@) zJW+5{MikO1EebA5M!=y&1mYwY(S`J@FTzJS0wD@UAV7Y0HuFWGfbt`7md-?qoMz|y zQxP~xCn9j1{*AytbSwgY)6obVp~De4L5mBfPWvM88|{t2ue2uu zztGPS*iF0GlmDj(?4%zfu!FWoifm)g{vRT+mA0@C>h}@&j=p6#|IHEDMBhYUBYho# z4YZye8;*Xgwg%%m9+ zc$KC{U>dy=fvGfwz35+#6qy`>m*~X^OrnVqc!8dez;iSq0?*R;2s}gMBJebgjlfeh zCIU~==m?CWCnE4TJr;pS>5&MGq=zH$5Iq=y5%fR=?x*1qxR36Qz&$jKT?mIpUm$&IdPkraT^E6C zsb>Uw&@~b0PTkl~@#+Y4r7jWZOjkvq6LpM02f8u>?WtV^uAs{!a2Z`1fwt5p0+� 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 diff --git a/src/resources/resources/mandarin_box_empty.png b/src/resources/resources/mandarin_box_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc486f343787a9c370a8fa77e2ecd04b1ede5a1 GIT binary patch literal 705 zcmV;y0zUnTP)EX>4Tx04R}tkv&MmKpe$iTeYGU5j&_jWT*~eK~%(1t5Adrp;l+0Yt2!bCV&JIqBE>hzEl0u6Z503ls?%w0>9pJAPnQFF-0jg#h z$#_giXI6yZE85V5PV{3$Vx~STiV1j*uY36TdKcwc-sk=tT}swufKMQvVY*=vuMn3h_Dds6iJbe&o9B@*C&8!+xF_Hd4ts;xMt0Z(_NLS;0_=Cy679s!_f_ z?Xtpoi?doRv-&;x3qx6Ld5P;Z2NA~t79m1_j50P*goP-r8Yw1{v>)^E4>*32Tr#;f zz{oL=5>!ZzAN&t~cWdS*#@(b)3}}6^?T;ZKxC_)Ow*7r<+qDxQ@C;mO4S%T$On;JI zX=srnpnDs*xNd0j9&ot>^gZd4AvscjrazYh-p}ZpGC=Pw(6Q?FR^P|z1CXMw5;wrX zAuyb$>@|;fw>S6p@0ogkKX8C@ruZTE;Q#;t24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~V73mg=o-jLJ)006y7L_t(2&yA3=4Z<)GMPDK! zVF?i-3hHz$k_p%#JuO2p1SK64FaRsiQB$OF6v>ey5*ln`$A?MVfPKFDxxK7k$X1v-O%wp*CO1H+600000NkvXXu0mjfDm5&q literal 0 HcmV?d00001 diff --git a/src/resources/resources/mandarin_box_full.png b/src/resources/resources/mandarin_box_full.png new file mode 100644 index 0000000000000000000000000000000000000000..dc9c4d1c112eaa8acc6b474fbe567e9bec1018ef GIT binary patch literal 778 zcmV+l1NHogP)EX>4Tx04R}tkv&MmKpe$iTeYGU5j&_jWT*~eK~%(1t5Adrp;l+0Yt2!bCV&JIqBE>hzEl0u6Z503ls?%w0>9pJAPnQFF-0jg#h z$#_giXI6yZE85V5PV{3$Vx~STiV1j*uY36TdKcwc-sk=tT}swufKMQvVY*=vuMn3h_Dds6iJbe&o9B@*C&8!+xF_Hd4ts;xMt0Z(_NLS;0_=Cy679s!_f_ z?Xtpoi?doRv-&;x3qx6Ld5P;Z2NA~t79m1_j50P*goP-r8Yw1{v>)^E4>*32Tr#;f zz{oL=5>!ZzAN&t~cWdS*#@(b)3}}6^?T;ZKxC_)Ow*7r<+qDxQ@C;mO4S%T$On;JI zX=srnpnDs*xNd0j9&ot>^gZd4AvscjrazYh-p}ZpGC=Pw(6Q?FR^P|z1CXMw5;wrX zAuyb$>@|;fw>S6p@0ogkKX8C@ruZTE;Q#;t24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~V73mzHmS&r)f009O`L_t(2&y|p|N&`U@Mb9i5 za3O367D@^w2$IUiUr>J__zjDNh0T71P3mndZTth>ek(z?OcS=#B4~!d3WLUKmf78z z1aC9U<-POnd*IMja=7`AZ%ed|#ocM6X*`3m44BLHHlNOeRk71ytypv6#$R9syRJZV;CJY{+0RwV5LI_vg*9H0vF5x49p&2 z!(8$vG|+b1T?$;LN!3nk?&ez63v91wL+w?4(4H@$PrhVEf9Gd&k2Noj$p8QV07*qo IM6N<$f&+wEtpET3 literal 0 HcmV?d00001 diff --git a/src/resources/resources/mandarin_box_full.wav b/src/resources/resources/mandarin_box_full.wav new file mode 100644 index 0000000000000000000000000000000000000000..5a008a9ee33151c23e88357bbea1a98a5d02b9f2 GIT binary patch literal 28970 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
Lf&2;okvT(Qg1)9AE|5C zwf_tG7xI?kEyWmQ4AQ5qPn(|9lh7V;&GQ6#f|uw^w2Qop{G{-t5YX!a&^I^vntbdi zJDMlWlfrWV<|NjHH34UXOS~oC$@FB}$T#xg+0y|)2npfegMSag-W`i%k(trVs7|Vr z&Xv!Vmm}o}ouCuhR5o?Xd&>)R=QuCULr?_00&qikL%1urD>%qE$d^y%lVhS|qA-S5 z$QAP8$Z(`1(UDk0Euw@zq3bhdQ1ba&hCHVxqVf8qPW_jd5@;9odN*TO8hB-DS@rNt-dCzi9(ZT zvPs$`g?l<%k}ZibF$Vg3xQ-7(4??t%7Q*?9=g4#9SI(~-$f^F>_p`6X-{Sv-^$BYP zG6I2oi*ix9==<>Z;cetLG6ryvImjFm9}*{I3E4vFLTS%r&*WJDSU;ehkw_2;=JWIU zBAH0W1sKgA&F>cM7Mw~>C0F@Z`3ENlC%a3#OY3BHvPt4e;z!IQW&yQ;N(Ep?*b!8O zil7g?AiW^%$?C~kL$9ItkbB6vfw_THZYtM^7!eX+v|zMgW@u&zY%3Dhk3qWAK36hV z(qGnJ2J_$T(e2S76{Jc4CPpSk?h5Y;ZHNugOZCzW@Ht7Jq)`f`px*-JMs7eFkb)6h z1oj;>Lz$sz)HG^5J)WMIoR|Da@{yz#sYRxUrih*}Pnd!Jf&NT@Ma&|mP1q(ZK}wK9 zNg)*aPT5Rvrms=gsJc*HXc~VSzeU<21rlr0eVl!q0l@*m2C9Jq)c63@Fnuj~Edf#) zQk;+TVV?`e8@uRT^vL+g_!99Fafh@+3ghr^qTfVmKkffFz#Zlevq88)cvpH?S|zR$ zS0*cyrhqB1$iK)BO|0Y!t2eW=h4NH;s~41<}a5lm&_K=7Ry<3 z79PZd@VjUz8oI{0#sP91Q1(&`>%^=uD|~=HK#vTK44q`1WI^3l3P8`(^NbN=q?vA} zZw7A$yQg(e+bY^Bii)G+A^aiyxy)QQ&>5W}oFViiJc%x$E+I~k6AUsz<`C}?uU*tGDixLr;U0kJ4czlPnVk&I z#ksHtvqQK;m`qEiL7RUN{2(}h8NdJv3Ab2OEUFY%3O~*GG-F?QUwB<`UCtmK8qKKReo(o=#T#W2x?`6YvfYbtrNu0&54UOezC&m|?${h9vE5cUvuiZDg^ zMDRqgkhPGNj3guQIiPKoY$f}S;Ev!cfQhV$tiDWN2Ig&5Ocleh7}j>dcER5Pda!!1 z<}vdaER2O8Fb^0&yJf+86(8Vi#@UP|%o1i+cviR|S`ht+{Smv5ppT%2U&BA1emuRH zDQ3=v&xKu4R}{u6aE1f=vk%ffNSnq?V-n#+cvEasjK|?|Uh!Y?8+Z*oXzS_BbY^N~ zY9zBQvuy%r0ta4iByS|ICE1dM@8_k+rO5rZ`)#G1QqCOy9R6+YZSLd5<3u@A4ohpy zpY4CPQyhwu$u| zOugNHyWQ4iYip0U$A3)!F};=5%8~$d>+II~s{K{_VSshXb;$u412W*b;YfF+7bT05 z+&DL04)DD5dFQ(s?`E6`QD<-JS}<@AR7hoK#M#FX2nf0st~* z$#`l!by)ha^y6vA(=K;j?p&Q*om>N;>(q6gPd%RsWS7#$q>f2l(z&Fwx}&;--^uT+ z{j>JZL2nIuYkkUkxINx{-dNy`1>RWTjRoFV;Ee^|Sm2EX-dNy`1>RWTjRoFV;Ee_T HpDplz&wvo* literal 0 HcmV?d00001 diff --git a/src/resources/resources/mandarin_box_not_empty.png b/src/resources/resources/mandarin_box_not_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..f592d29358be1d4f2269a6bc99bb3177eb7233d4 GIT binary patch literal 723 zcmV;^0xbQBP)EX>4Tx04R}tkv&MmKpe$iTeYGU5j&_jWT*~eK~%(1t5Adrp;l+0Yt2!bCV&JIqBE>hzEl0u6Z503ls?%w0>9pJAPnQFF-0jg#h z$#_giXI6yZE85V5PV{3$Vx~STiV1j*uY36TdKcwc-sk=tT}swufKMQvVY*=vuMn3h_Dds6iJbe&o9B@*C&8!+xF_Hd4ts;xMt0Z(_NLS;0_=Cy679s!_f_ z?Xtpoi?doRv-&;x3qx6Ld5P;Z2NA~t79m1_j50P*goP-r8Yw1{v>)^E4>*32Tr#;f zz{oL=5>!ZzAN&t~cWdS*#@(b)3}}6^?T;ZKxC_)Ow*7r<+qDxQ@C;mO4S%T$On;JI zX=srnpnDs*xNd0j9&ot>^gZd4AvscjrazYh-p}ZpGC=Pw(6Q?FR^P|z1CXMw5;wrX zAuyb$>@|;fw>S6p@0ogkKX8C@ruZTE;Q#;t24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~V73mqN785uDE007TPL_t(2&xMdN3c^4TMPEV! z2E-s1Hew?LFX9P2gjiVEcmX>vU}tIP1@r)xT3FZxth5N2AVdfntJO`igTGm3*?IG3 zt=X`jBjnh-vt3**Rfp3cAGryggD17{eXN7W-8TTsiw(eHbGE{1kk3yU&qq{&)aor( zyU;2C0Vac{XbTWMUc}kY&UaG)*8AkkaZHU~qg|-eTdH8NxIrZ2km;xx6K0t?= zA{r`a+4f&-)1|U1+p2#vtttY`E9y{vRSD`yhEgOml@A+&S?GfVLLdMD002ovPDHLk FV1nthGhzS$ literal 0 HcmV?d00001 diff --git a/src/resources/resources/mandarin_orange.png b/src/resources/resources/mandarin_orange.png new file mode 100644 index 0000000000000000000000000000000000000000..3bf54e9c36a55668aea1ea142f8a404083042528 GIT binary patch literal 624 zcmV-$0+0QPP)}r(0004nX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iTeU?hMeHEOAwzYtAS&XhRVYG*P%E_RU~=h)(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwX9p)m7b)?7NufoI2gm(*ckglc4)8ZBOf|d409CV$ zOe!hl@+(5{6+H-{9}&bPX6mz|n1<*0x`&UicL|>5eeTcErxZ*E_ypn^rW+RVI`Pz| zrE}gVjPFL`jhl} zTZg?^`Gp+u904ODLiG&xO3;+NC24YJ`L;(K){{a7>y{D4^000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~U}5fB(SeXT$M003-BL_t&t*JEHn0^XVW|6yz< z1_lO(`-N)%XFd)1KZWBv!~H_F{|pQa42<^+)&B1)(PD7xxyHc2z`$_v(KiNtIW7hk z1_lPW;FbF?8CaSAF)%Q2F)+f6y7cH1!~g#b47zf>49XL3GXel!oFV-gm?9zo0000< KMNUMnLSTZXfdsq& literal 0 HcmV?d00001 diff --git a/src/resources/resources/mandarin_rain_completed.wav b/src/resources/resources/mandarin_rain_completed.wav new file mode 100644 index 0000000000000000000000000000000000000000..656dd9fa1357afb7fdf458e940f21da4c2b37b7a GIT binary patch literal 21052 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±H~yn{~&%4pYTt3Bi4w0LO-G3k?%-*APSCxaR`To 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 literal 0 HcmV?d00001 diff --git a/src/resources/resources/menu_switch.wav b/src/resources/resources/menu_switch.wav deleted file mode 100644 index b050e7ec099e949999c32a8550700c56528e13ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91750 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 diff --git a/src/resources/resources/orange_put.wav b/src/resources/resources/orange_put.wav new file mode 100644 index 0000000000000000000000000000000000000000..3cb563f295d9de4b6f55bb52bdb9d833de1e73b2 GIT binary patch literal 10188 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 p38)fKC7?<`m4GS%RRXF6R0*gOP$i&BK$U