mirror of
https://github.com/owenlejeune/AirHockey.git
synced 2025-11-08 08:32:45 -05:00
61cb07e72a0a02242a63a891732e4a40d6a87797
Bumps [electron](https://github.com/electron/electron) from 8.0.0 to 8.0.1. - [Release notes](https://github.com/electron/electron/releases) - [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md) - [Commits](https://github.com/electron/electron/compare/v8.0.0...v8.0.1) Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
Air Hockey
A simple browser-based air hockey game using socket.io with Electron desktop client
Development Environment
- node 8.9.4
- npm 5.7.1
- Tested on MacOS 10.13.2
Dependencies
node.js, Electron, socket.io
Installation Instructions
- Clone to local machine
- Run npm install from root directory and Electron Client directory to install node module dependencies
Running the App
Starting the server
- Execute node app.js from root directory to start the app server
Launching Browser Client
- Navigate to http://localhost:3000/airhockey.html from your browser
Launching Electron Client
- Execute npm start from inside the Electron Client directory to launch the Electron Client
Usage
- To join the game, click "Join Game" and enter your name
- Once another player has joined from another browser window, the game will begin and puck will pick a random direction to travel
- Use the arrow keys on your keyboard to move your paddle
- The paddle will not move until 2 players are present
- When the puck enters one of the purple goals on either end, the opposing player will score a point and the player's positions will be reset, with the puck traveling in a new random direction
- If you attempt to join a game with 2 players, you will not be allowed, but your name will appear in the Spectator box below the game
- If you are currently a Spectator and a paddle becomes available, clicking Join Game will automatically assign your name to that paddle
- You can toggle collision and goal sounds using the Toggle Sounds button
Description
Languages
JavaScript
85.2%
HTML
10.1%
CSS
4.7%