All Projects â†’ mayanksingh081 â†’ connect4

mayanksingh081 / connect4

Licence: MIT license
🎮 It is a two-player connection game in which the players first choose a color and then take turns dropping one colored disc from the top into a seven-column, six-row vertically suspended grid. The pieces fall straight down, occupying the lowest available space within the column, user wins by forming row of four of same color

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to connect4

terminally bored terminal board games
board games for your terminal!
Stars: ✭ 53 (+194.44%)
Mutual labels:  board-game, connect-four
Conway-s-Game-of-life---Python
Conways game of life with pygame
Stars: ✭ 26 (+44.44%)
Mutual labels:  pygame
Wario-Land-3
A remake of the GBC-Game "Wario Land 3" using Pygame for Python
Stars: ✭ 48 (+166.67%)
Mutual labels:  pygame
alphazero
Board Game Reinforcement Learning using AlphaZero method. including Makhos (Thai Checkers), Reversi, Connect Four, Tic-tac-toe game rules
Stars: ✭ 24 (+33.33%)
Mutual labels:  connect-four
RealTime-DigitRecognition
RealTime DigitRecognition using Convolutional Neural Network(CNN) with keras.
Stars: ✭ 108 (+500%)
Mutual labels:  pygame
DungeonGenerator
Procedural Dungeon Generation with Python and Pygame
Stars: ✭ 57 (+216.67%)
Mutual labels:  pygame
deerportal
Full of the diamonds 💎 board game driven by a 🦌 Deer 🦌 god and classical elements 🔥 💦 💨 🌍
Stars: ✭ 31 (+72.22%)
Mutual labels:  board-game
raylib-py
A Python binding for the great C library raylib.
Stars: ✭ 147 (+716.67%)
Mutual labels:  pygame
PlaneWars
微信飞机大战 python pygame
Stars: ✭ 22 (+22.22%)
Mutual labels:  pygame
Mzinga
Open-source software to play the board game Hive.
Stars: ✭ 57 (+216.67%)
Mutual labels:  board-game
ColorByNumber-iOS
Color by Number: a pixel coloring game on iOS.
Stars: ✭ 50 (+177.78%)
Mutual labels:  board-game
quinto
a board game lost to the sands of time
Stars: ✭ 27 (+50%)
Mutual labels:  board-game
COVID-Resource-Allocation-Simulator
Agent-based modelling for resource allocation in viral crises to investigate resource allocation and policy interventions with respect to transmission rate.
Stars: ✭ 61 (+238.89%)
Mutual labels:  pygame
Snake-Game-with-Deep-learning
Developing a neural network to play a snake game
Stars: ✭ 43 (+138.89%)
Mutual labels:  pygame
Carcassonne
A digital version of the board game Carcassonne, implemented in Java. This desktop computer game supports up to five players at the same time (shared-screen multiplayer mode).
Stars: ✭ 70 (+288.89%)
Mutual labels:  board-game
shogi-rs
A Bitboard-based shogi library in Rust. Board representation, move generation/validation and time control utilities.
Stars: ✭ 39 (+116.67%)
Mutual labels:  board-game
Fegaria-Remastered
Similar to my other project Fegaria, but with improved graphics, collisions and terrain generation.
Stars: ✭ 73 (+305.56%)
Mutual labels:  pygame
Pycraft
Pycraft is the OpenGL, open world, video game made entirely with Python. This project is a game to shed some light on OpenGL programming in Python as it is a seldom touched area of Python's vast amount of uses. Feel free to give this project a run, and message us if you have any feedback!
Stars: ✭ 39 (+116.67%)
Mutual labels:  pygame
pygameweb
🎮🕸️ pygame.org website. Python, PostgreSQL, Flask, sqlalchemy, JS.
Stars: ✭ 94 (+422.22%)
Mutual labels:  pygame
chess
The game of Chess
Stars: ✭ 25 (+38.89%)
Mutual labels:  board-game

Open Issues Forks Stars Maintained Made with Python Open Source Love Built with Love Follow Me GitHub followers Slack

📒 Index

🔰 About

Connect Four is a two-player connection game in which the players first choose a color and then take turns dropping one colored disc from the top into a seven-column, six-row vertically suspended grid. The pieces fall straight down, occupying the lowest available space within the column. The objective of the game is to be the first to form a horizontal, vertical, or diagonal line of four of one's own discs.

📄 Features

  • 2 player interactive game
  • Supports undo operation
  • Supports interactive game sounds
  • Ability to play with computer AI (in development phase)
  • Multiplayer on local network using sockets (in development phase)
  • Ability to customize game theme (in development phase)
  • Cross platform Linux, Windows, Mac (in development phase)

⚡ Usage

To use this project.

🔌 Installation

  • Install dependencies & export environment variables.
$ sudo -H pip3 install -r requirements.txt

📦 Commands

  • Start project using
$ python3 game.py

📁 File Structure

  • Add a file structure here with the basic details about files, below is current file structure.
.
├── assets.py
├── CODE_OF_CONDUCT.md
├── config.py
├── _config.yml
├── connect_game.py
├── events.py
├── game_board.py
├── game_data.py
├── game.py
├── game_renderer.py
├── images
│   ├── blackball91px.png
│   ├── game.svg
│   ├── logo
│   │   ├── c4.gif
│   │   ├── connect4.gif
│   │   └── connect4.png
│   ├── redball90px.png
│   ├── screenshots
│   │   ├── 1.png
│   │   └── 2.gif
│   └── yellowball90px.png
├── LICENSE
├── README.md
├── requirements.txt
├── restart.sh
└── sounds
    ├── disc_drop_1.wav
    ├── disc_drop_2.wav
    └── event.ogg

4 directories, 26 files
No File Name Details
1. assets.py used for loading sound and image files in python.
2. config.py contains game's configuration settings.
3. connect_game.py Contains the ConnectGame class which holds the logic for the whole game.
4. events.py Contains classes used to define and hold event data.
5. game_board.py Contains the GameBoard data structure and methods which operate on it.
6. game_data.py Contains the GameData class, which contains all of the data in the game.
7. game_renderer.py Holds the GameRenderer class, which renders the game state using sound and graphics.
8. game.py contains connect four game logic.
9. images/ contains image resources used in the game.
10. images/logo/ contains logo used in the README.
11. images/screenshots/ contains game screenshots.
12. LICENSE this project uses MIT License.
13. requirements.txt contains all the dependencies used in the game.
14. restart.sh bash script to relaunch the game once it is finished.
15. sounds/ contains sound resources used in the game.
16. CODE_OF_CONDUCT.md tells about our responsibilities as a team
  • Dependency Graph

❗ Guideline

  • Code Style

black

In order to maintain the code style consistency across entire project I use a code formatter. I kindly suggest you to do the same whenever you push commits to this project.

The python code formatter I chose is called Black. It is a great tool and it can be installed quickly by running

sudo -H pip3 install black

or

python3.6 -m pip install black

It requires Python 3.6.0+ to run.

  • Usage
black {source_file_or_directory}

For more details and available options, please check their psf/black.

isort

I also use isort, it is a Python utility / library to sort imports alphabetically, and automatically separated into sections. It provides a command line utility which can be installed using.

sudo -H pip3 install isort
  • Usage
isort {source_file}.py

For more details and available options, please check their timothycrosley/isort.

  • Close Issues

Close issues using keywords: how to ?

🌸 Community

🔥 Contribution

Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.

  1. Report a bug
    If you think you have encountered a new issue, and I should know about it, feel free to report it here and I will take care of it.

  2. Create a pull request
    It can't get better then this, your pull request will be appreciated by the community. You can get started by picking up any open issues from here and make a pull request.

If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.

🌵 Branches

  • No other permanent branches should be created in the main repository, you can create feature branches but they should get merged with the master.

📄 Resources

  • PyGame Documentation : Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language.

📷 Gallery

Start Game Window

Game Play

Game Play GIF

Restart or Quit as the Game ends.

🌟 Credit/Acknowledgment

Contributors

🔒 License

License

✨ Hall Of Fame

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].