/PacmanGo

Implementation of the popular game Pacman. Using Golang and applying multi threading concepts

Primary LanguageGoMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Golang Pacman

Eat the dots and avoid the ghosts!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Architecture
  5. License
  6. Contact
  7. Acknowledgments

About The Project

Golang Pacman Screen Shot


Winning Screen Shot

Golang is a programming language that is used to build software and is used to develop web applications, one of the advantages of using Golang is that it is a statically typed language and it is easy to write code.

Also handling multi threading is a great feature of Golang and it is very easy to use this wy we decided to create a Pacman game using Golang.

Also pacman is a famous game in the world and it is very easy to play this game but the work of creating a Pacman game is very interesting and challenging since you get to touch a lot of aspects from the language such inpute handling, graphics, multi threading, etc.

(back to top)

Built With

This project was pretty simple in terms of technology. The only dependency was the Go language

(back to top)

Getting Started

It's easy to get started with this project, simply follow the steps below and you'll be up and running in no time, the hard part is winning the game!

Prerequisites

Please make sure you have the following installed before you start

  • Golang

Ubuntu:

  sudo apt-get install golang-go

Mac:

  brew install golang

Windows:

  https://golang.org/dl/

  • Visual Studio Code

Ubuntu:

  sudo apt-get install code

Mac:

    brew cask install visual-studio-code

Windows:

  https://code.visualstudio.com/download

Installation

Don't worry if this is your first time using Golang this, guide should set everything you need

  1. Clone the repository and navigate to root directory
  git clone git@github.com:S4ND1X/PacmanGo.git
  cd PacmanGo
  1. Install Golang dependencies
   make build
  1. Run the application
   go run main.go
  1. To specify number of enemies specify a integer value in the command line between 1 and 12
   go run main.go < 1 - 12 >

Build and Run

  • Build and run the application
   make run enemies=< 1 -12 >
  • Test the application
   make test
  • Build the application
   make build
  • Install dependencies
   make deps
  • Clean previous build
   make clean

(back to top)

Usage

This is a simple Pacman game, you can use the arrow keys to move the Pacman and the WASD keys to move the ghosts.

If you want to play with more enemies, you set the number of enemies in the command line.

go run main.go < 1 - 12 >

If you die terminal process will be ended and you can start again by running the application again.

go run main.go

If you want to end the game press the esc key.

(back to top)

Architecture

We try to keep our architecture simple and focused by dividing our project into logical sections and keeping each section focused on a single task.

Logical Sections

Architecture Screenshot

Flow of Events

Flow Diagram Screenshot

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/S4ND1X/PacmanGo

(back to top)

Acknowledgments

We would like include the following resource that helped us create this project:

  • Golang: The programming language that powers the internet.
  • Pacgo: A Golang guide to creating a Pacman game.
  • Readme Template: An awesome README template to jumpstart your projects!

(back to top)