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
Predicting Global Crop Yield for World Hunger

Crop Yield And Global Famine - The fifth project I created during my time at General Assembly. I completed this project with three other classmates in the span of three weeks. Most of my work was dir

Adam Muhammad Klesc 2 Jun 19, 2022
Advent of Code 2021 challenges

Data analysis Document here the project: AoC21 Description: Project Description Data Source: Type of analysis: Please document the project the better

Daniel Wendel 1 Jan 07, 2022
Quantity Takeoff with Python. Collecting groups of elements by filters

The free tool QuantityTakeoff allows you to group elements from Revit and IFC models (in BIMJSON-CSV format) with just a few filters and find the required volume values for the grouped elements.

OpenDataBIM 9 Jan 06, 2023
Tutorials for on-ramping to StarkNet

Full-Stack StarkNet Repo containing the code for a short tutorial series I wrote while diving into StarkNet and learning Cairo. Aims to onramp existin

Sam Barnes 71 Dec 07, 2022
ELF file deserializer and serializer library

elfo ELF file deserializer and serializer library. import elfo elf = elfo.ELF.from_path('main') elf ELF( header=ELFHeader( e_ident=e

Filipe Laíns 3 Aug 23, 2021
Better Giveaways is a bot that will change the experience of using a giveaway bot forever.

Better-Giveaways Better Giveaways is a bot that will change the experience of using a giveaway bot forever. VoxelBotUtils/Novus, latest PyPi releases

Lightning 2 Jan 12, 2022
Demodulate and error correct FIS-B and ADS-B signals on 978 MHz.

FIS-B 978 ('fisb-978') is a set of programs that demodulates and error corrects FIS-B (Flight Information System - Broadcast) and ADS-B (Automatic Dep

2 Nov 15, 2022
NASH 2021 project... this may or may not end up working 🤷‍♂️

wavespace synthesiser this is my NASH 2021 project, which may or may not end up working 🤷‍♂️ what is going on? imagine you have a big folder of audio

Ben Hayes 12 May 17, 2022
Persian Kaldi profile for Rhasspy built from open speech data

Persian Kaldi Profile A Rhasspy profile for Persian (fa). Installation Get started by first installing Vosk: # Create virtual environment python3 -m v

Rhasspy 12 Aug 08, 2022
Anki cards generator for Leetcode

Leetcode Anki card generator Summary By running this script you'll be able to generate Anki cards with all the leetcode problems. I personally use it

Pavel Safronov 150 Dec 25, 2022
E-Paper display loop with plugins

PaperPi V3 NOTE This version of PaperPi is under heavy development and is not ready for the average user. We are working on adding more screen compati

Aaron Ciuffo 34 Dec 30, 2022
Expression interpreter written in Python

Calc Interpreter An interpreter modeled after a calculator implemented in Python 3. The program currently only supports basic mathematical expressions

1 Oct 17, 2021
Aim of the project is to reduce phishing victims. 😇

Sites: For more details visit our Blog. How to use 😀 : You just have to paste the url in the ENTER THE SUSPECTED URL section and SELECT THE RESEMBELI

0 May 19, 2022
30DaysOfCode-PhoenixClub - Solution of everyday coding problem given in 30DaysofCode contest held on Hackerrank

30DaysOfCode-PhoenixClub 👨‍💻 Every day problems solution given in 30DaysOfCode

Urveshkumar 8 Jan 30, 2022
Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero.

Given an array of integers, calculate the ratios of its elements that are positive, negative, and zero. Print the decimal value of each fraction on a new line with places after the decimal.

Shruti Dhave 2 Nov 29, 2021
Meliodas Official 1.4 BombSquad Server Scripts

Noxious-Official-1.4-BombSquad-Server-Scripts Scripts Are Provided By Sparxtn Somewhat Edited By Me Scripts are Working Fine Just Download & Use It Be

Meliodas♡ 2 Oct 16, 2022
this is a basic python project that I made using python

this is a basic python project that I made using python. This project is only for practice because my python skills are still newbie.

Elvira Firmansyah 2 Dec 14, 2022
sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character.

ꦱꦮ sawa (ꦱꦮ) is an open source programming language, an interpreter to be precise, where you can write python code using javanese character. sawa iku

Rony Lantip 307 Jan 07, 2023
India Today Astrology App

India Today Astrology App Introduction This repository contains the code for the Backend setup of the India Today Astrology app as a part of their rec

Pranjal Pratap Dubey 4 May 07, 2022
This repository collects nice scripts ("plugins") for the SimpleBot bot for DeltaChat.

Having fun with DeltaChat This repository collects nice scripts ("plugins") for the SimpleBot bot for DeltaChat. DeltaChat is a nice e-mail based mess

Valentin Brandner 3 Dec 25, 2021