Checkers Project Built Using Python

Overview

OH MY CHECKERS!!!

Read this article https://www.thesprucecrafts.com/play-checkers-using-standard-rules-409287 to know more about the game of Checkers in general.

"Oh my checkers" is a simplified version of checkers made to make everyone enjoy the fun of the game without having to memorize all the boring rules.

Checkers is played on an 8×8 board with twelve pieces for each player, and that is also the settings for OH MY CHECKERS!!!

What the program does

This program simulates a checkers game. The program gets inputs from the players and updates the game board to reflect the movements. Between that process, the inputs are validated. If an input is invalid, that player would have to play again until a valid is made. This program also checks for a winner after each play. When a game has ended, the programs prints the winner.

How To Play OH MY CHECKERS!!!

1. Run the file main.py.

2. The first player decides on which piece they want and must keep on with that particular piece till the end of the game.

i.e if a player picks the "x" piece, that player must continue to pick "x" pieces only. Same rule applies if the "o" piece is picked. Whatever piece player 1 decides to choose,player 2 is dealt with the other piece.

3. At this point, the python turtle graphic board loads and displays the actual game board. 

NOTE: This will take time, and so players will be unable to select pieces until the board has loaded. 

NOTE: Please reduce brower zoom size to see the full graphics board.
 
4. Each piece on the board has both a row index and a column index. The rows run from 0-7 and so does the columns, this implies that the first piece on the board is 0,0 an the last piece is 7,7.

5. As a player, your role is to input the position of a piece (2,1 as example), and then input a valid position on the board (3,2 as example) to move to.

6. Players move their pieces diagonally from one square to another square. When a player jumps over their opponent's (the other player's) piece diagonally, you take that piece from the board.

7. Always move your checker diagonally forward, toward your opponent's side of the gameboard).

8. After each valid play, the python turtle graphic board loads and displays the actual game board. 

NOTE: This will take time, and so players will be unable to select pieces until the board has loaded.

NOTE: Please reduce brower zoom size to see the full graphics board.

9. To play again, please run main.py  

Rules

1. All inputs should be in this form: row,column; X,Y respectively. With row being the horizontal index and column being the vertical index.

2. Player 1 makes the first move and should control the pieces they move first. 

3. Player 2 makes the second move and should control the other playing pieces.

4. Only "x" and "o" peices can be moved.

5. For your first move, you can only select from the pieces in front of the board.

6. The object of the game is to capture all your opponents. Checkers or trap your opponent. So no move can be made.

How my program checks for the winner in my OH MY CHECKERS!!!

There are various metrics that goes into getting a winner.

The fist player to get to the other side WINS or If a player has got no pieces left on the board, the opposing player WINS if they've still got pieces.

Current Version of OH MY CHECKERS!!! requires two players to take control of the game.

P.S. Please play with a friend to maximize fun.

LET THE GAME BEGIN AND MAY THE ODDS BE IN YOUR FAVOUR!!!

Owner
Meekness Anyaeche
Meekness Anyaeche
An After Effects render queue for ShotGrid Toolkit.

AEQueue An After Effects render queue for ShotGrid Toolkit. Features Render multiple comps to locations defined by templates in your Toolkit config. C

Brand New School 5 Nov 20, 2022
Generate your personal 8-bit avatars using Cellular Automata, a mathematical model that simulates life, survival, and extinction

Try the interactive demo here ✨ ✨ Sprites-as-a-Service is an open-source web application that allows you to generate custom 8-bit sprites using Cellul

Lj Miranda 265 Dec 26, 2022
The newest contender in Server Gateway Interface.

nsgi The newest contender in Server Gateway Interface. Why use this webserver? This webserver is made with the newest version of asyncio, and sockets,

OpenRobot 1 Feb 12, 2022
MODSKIN-LOLPRO-updater: The mod is fkn 10y old and has'nt a self-updater

The mod is fkn 10y old and has'nt a self-updater. To use it just run the exec, wait some seconds, and it will run the new modsk

Shiro Amurha 3 Apr 23, 2022
A compiler for ARM, X86, MSP430, xtensa and more implemented in pure Python

Introduction The PPCI (Pure Python Compiler Infrastructure) project is a compiler written entirely in the Python programming language. It contains fro

Windel Bouwman 277 Dec 26, 2022
An evolutionary multi-agent platform based on mesa and NEAT

An evolutionary multi-agent platform based on mesa and NEAT

Valerio1988 6 Dec 04, 2022
LeetComp - Background tasks powering the static content at LeetComp

LeetComp Analysing compensations mentioned on the Leetcode forums (https://kuuts

Kumar Utsav 125 Dec 21, 2022
Slotscheck - Find mistakes in your slots definitions

🎰 Slotscheck Adding __slots__ to a class in Python is a great way to reduce mem

Arie Bovenberg 67 Dec 31, 2022
solsim is the Solana complex systems simulator. It simulates behavior of dynamical systems—DeFi protocols, DAO governance, cryptocurrencies, and more—built on the Solana blockchain

solsim is the Solana complex systems simulator. It simulates behavior of dynamical systems—DeFi protocols, DAO governance, cryptocurrencies, and more—built on the Solana blockchain

William Wolf 12 Jul 13, 2022
Visual Python and C++ nanosecond profiler, logger, tests enabler

Look into Palanteer and get an omniscient view of your program Palanteer is a set of lean and efficient tools to improve the quality of software, for

Damien Feneyrou 1.9k Dec 26, 2022
For radiometrically calibrating and PSF deconvolving IRIS data

irispreppy For radiometrically calibrating and PSF deconvolving IRIS data. I dislike how I need to own proprietary software (IDL) just to simply prepa

Aaron W. Peat 4 Nov 01, 2022
Trusted sessions for falcon using itsdangerous.

Falcon signed sessions This project allows you to easily add trusted cookies to falcon, it works by storing a signed cookie in the client's browser us

Ward 1 Feb 08, 2022
Tracking stock volatility.

SP500-highlow-tracking Track stock volatility. Being a useful indicator of the stock price volatility, High-Low gap represents the price range of the

Thong Huynh 13 Sep 07, 2022
A OBS service to package a published repository into a tar.gz file

OBS Source Service obs-service-publish_tar obs-service-publish_tar will create a archive.tar[.tar compression] archive containing the published repo

Erico Mendonca 1 Feb 16, 2022
A good Tool to comment on xmw

A good Tool to comment on xmw

1 Feb 10, 2022
Demo of connecting Rasa with Zalo

Demo of connecting Rasa with Zalo

6 Jul 25, 2022
A python package that computes an optimal motion plan for approaching a red light

redlight_approach redlight_approach is a Python package that computes an optimal motion plan during traffic light approach. RLA_demo.mov Given the par

Jonathan Roy 4 Oct 27, 2022
A small Blender addon for changing an object's local orientation while in edit mode

A small Blender addon for changing an object's local orientation while in edit mode.

Jonathan Lampel 50 Jan 06, 2023
Job Guy Backend

جاب‌گای چیست؟ اونجا وضعیت چطوریه؟ یه سوال به همین کلیت و ابهام معمولا وقتی برای یه شرکت رزومه می‌فرستیم این سوال کلی و بزرگ برای همه پیش میاد.اونجا وض

Jobguy.work 217 Dec 25, 2022
The presented desktop application was made to solve 1d schrodinger eqation

schrodinger_equation_1d_solver The presented desktop application was made to solve 1d schrodinger eqation. It implements Numerov's algorithm (step by

Artem Kashapov 2 Dec 29, 2021