Skip to content

dtsato/pacman_workshop

Repository files navigation

Refactoring Strategies: Beyond the Basics

Code repository used for the "Refactoring Strategies: Beyong the Basics" workshop. Presented at: Agile Brazil 2013, DevNexus 2014, Chicago Coder Conference 2016, and many ThoughtWorks offices.

Abstract

Refactoring is a fundamental practice for an agile developer. Each refactoring is a small and isolated activity, but the value comes when you perform a sequence of refactorings to effect larger changes. This workshop will guide participants through hands-on exercises designed to teach three essential skills to become good at refactoring: 1) Identifying what needs refactoring: what makes code smell, confusing, or complex? 2) Identifying the end goal: what are the design options and which one will yield the best results? 3) Tracing a strategy to get the code from 1 to 2.

For the workshop, developers should bring their laptop with a basic working Java environment (JDK 1.6+, Eclipse or IntelliJ), have some knowledge about automated testing (JUnit) and refactorings, and optionally spend some time getting familiar with the code base.

Authors

The code in this repository was originally written by:

  • Danilo Sato (@dtsato)
  • Mariana Bravo (@marivb)

References

A complete and detailed explanation of the original game can be found in the Pacman Dossier.

Features

Done:

  • New game (splash screen)
  • Draw the maze
  • Pacman movement
  • Ghost movement (random)
  • Eating dots / counting points
  • Colision detection
  • Teleport
  • Detect win or lose (transition screens)
  • Animations (chewing, ghost eyes, pacman dying)

To do:

  • Managing lives (1)
  • Sounds
  • "Cornering": choosing direction before reaching the decision point
  • Demo mode
  • Manage high-score
  • Energizer dots ("frigthening mode")
  • Ghost AI (chasing strategies)

Credits

This implementation was written by Danilo Sato and Mariana Bravo for educational purposes. PAC-MAN® & © 1980 NAMCO BANDAI Games Inc.

About

PacMan game implemented in Java, written for a refactoring workshop

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published