Giter VIP home page Giter VIP logo

pipeline-panic's Introduction

Pipeline Panic

Screenshot 2024-04-16 at 10 46 47

Save the world before the pink sludge consumes us all!

Pipeline panic is a modern browser based re-interpretation of the Pipe Mania video game originally published in 1989. Built for educational purposes.

You can play the game here: https://pipeline-panic.vercel.app

Game objective

Build a pipe that goes from start to end.

The grid will have two pipes S (start) and E (end), your goal is to connect these pipes while earning as much Pipeline Dolares (¤) as possible. The longer the pipe, the more ¤ you are likely to earn. You will have 15 seconds to build your pipe before the panic starts.

Once the panic starts, pink sludge will flow from the start pipe. If you haven't completed your pipe the sludge will start leaking and the game is lost If you have completed the pipe and the sludge reaches the end pipe the game is won.

How to play

Tap/click anywhere on the grid to place a new pipe. You can also replace existing pipes (but to a higher cost)

Next to the grid, you'll se a list of pipes available to you. When placing a pipe it will pick the pipe at the front of this list.

How to earn ¤

  • You start with ¤50 in the bank
  • You earn ¤50 for every tile that gets filled with sludge
  • It costs ¤1 to place a tile
  • It costs ¤2 to replace an existing tile

Be careful! You can't go below ¤0, meaning you won't be able to replace or place new tiles if you run out of money.

If there is a leak, all your money is lost and the game is over.

Good luck!

pipeline-panic's People

Contributors

danielstocks avatar

Stargazers

 avatar

Watchers

 avatar

pipeline-panic's Issues

Prevent text selection in tiles

Current beavhiour
Start and end tiles have text S & T in them. When clicking continuously to place pipes in grid sometimes text gets selected.

This also applies to any tile if selecting and dragging

Image

Image

Desired behaviour
Text or tiles in grid should not be selectable

Improve mobile device support

The game works, but doesn't fit on screen and forces user to scroll.

  • Adapt grid to portrait mode
  • Make UI responsive

Refactor Grid.ts class

There's more stuff that can be internalised into the Grid class. While we're at it:

  • Add unit tests
  • Encapsulate create-initial-tiles business logic into Grid class
  • Encapsulate parts of tick functionality from main.ts to Grid.ts

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.