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
Data Structures and Algorithms Python - Practice data structures and algorithms in python with few small projects

Data Structures and Algorithms All the essential resources and template code nee

Hesham 13 Dec 01, 2022
A lighweight screen color picker tool

tkpick A lighweigt screen color picker tool Availability Only GNU/Linux 🐧 Installing Install via pip (No auto-update): [sudo] pip install tkpick Usa

Adil Gürbüz 7 Aug 30, 2021
Your Google Recon is Now Automated

GRecon : GRecon (Greei-Conn) is a simple python tool that automates the process of Google Based Recon AKA Google Dorking The current Version 1.0 Run 7

adnane-tebbaa 189 Dec 21, 2022
A simple panel with IP, CNPJ, CEP and PLACA queries

Painel mpm Um painel simples com consultas de IP, CNPJ, CEP e PLACA Início 🌐 apt update && apt upgrade -y pkg i python git pip install requests Insta

MrDiniz 4 Nov 04, 2022
Repository, with small useful and functional applications

Repositorio,com pequenos aplicativos uteis e funcionais A ideia e ir deselvolvendo pequenos aplicativos funcionais e adicionar a este repositorio List

GabrielDuke 6 Dec 06, 2021
The fastest way to copy to (not from) high speed flash storage.

FastestCopy The fastest way to copy to (not from) high speed flash storage. This is about 3-6x faster than file copy on explorer.exe to usb flash driv

Derek Frombach 0 Nov 03, 2021
Python bindings for Basler's VisualApplets TCL script generation

About visualapplets.py The Basler AG company provides a TCL scripting engine to automatize the creation of VisualApplets designs (a former Silicon Sof

Jürgen Hock 2 Dec 07, 2022
💉 🔍 VaxFinder - Backend The backend for the Vaccine Hunters Finder tool.

💉 🔍 VaxFinder - Backend The backend for the Vaccine Hunters Finder tool. Development Prerequisites Python 3.8 Poetry: A tool for dependency manageme

Vaccine Hunters Canada 32 Jan 19, 2022
✔️ Create to-do lists to easily manage your ideas and work.

Todo List + Add task + Remove task + List completed task + List not completed task + Set clock task time + View task statistics by date Changelog v 1.

Abbas Ataei 30 Nov 28, 2022
The third home of the bare Programming Language (1st there's my heart, the forest came second and then there's Github :)

The third home of the bare Programming Language (1st there's my heart, the forest came second and then there's Github :)

Garren Souza 7 Dec 24, 2022
La version open source du bot Discord Sblerboy

Sblerboy-Open-Source La version open source du bot Discord Sblerboy Sblerboy est un bot Discord permettant de jouer à des jeux de Gameboy directement

15 Nov 19, 2022
Generate a wordlist to fuzz amounts or any other numerical values.

Generate a wordlist to fuzz amounts or any other numerical values. Based on Common Security Issues in Financially-Oriented Web Applications.

Ivan Šincek 3 Oct 14, 2022
Python with braces. Because Python is awesome, but whitespace is awful.

Bython Python with braces. Because Python is awesome, but whitespace is awful. Bython is a Python preprosessor which translates curly brackets into in

1 Nov 04, 2021
Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM)

FCM Notification for ERPNext Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM) Steps to use the app:

Tridz 9 Nov 14, 2022
An interactive course to git

OperatorEquals' Sandbox Git Course! Preface This Git course is an ongoing project containing use cases that I've met (and still meet) while working in

John Torakis 62 Sep 19, 2022
Thumbor-bootcamp - learning and contribution experience with ❤️ and 🤗 from the thumbor team

Thumbor-bootcamp - learning and contribution experience with ❤️ and 🤗 from the thumbor team

Thumbor (by @globocom) 9 Jul 11, 2022
A tool that automatically creates fuzzing harnesses based on a library

AutoHarness is a tool that automatically generates fuzzing harnesses for you. This idea stems from a concurrent problem in fuzzing codebases today: large codebases have thousands of functions and pie

261 Jan 04, 2023
MobaXterm-GenKey

MobaXterm-GenKey 你懂的!! 本地启动 需要安装Python3!!!

malaohu 328 Dec 29, 2022
Buildium-to-stessa - Automation to assist in converting Buildium transactions into Stessa format

Buildium Transactions - Stessa Transactions There is currently no third-party i

Austin Comstock 4 Apr 17, 2022
This is a spamming selfbot that has custom spammed message and @everyone spam.

This is a spamming selfbot that has custom spammed message and @everyone spam.

astro1212 1 Jul 31, 2022