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
A python script made for personal use to monitor for sports card restocks on target.com since they are sold out often

TargetProductMonitor A python script made for personal use to monitor for sports card resocks on target.com since they are sold out often. When a rest

Bryan Lorden 2 Jul 31, 2022
Tool to generate wrappers for Linux libraries allowing for dlopen()ing them without writing any boilerplate

Dynload wrapper This program will generate a wrapper to make it easy to dlopen() shared objects on Linux without writing a ton of boilerplate code. Th

Hein-Pieter van Braam 25 Oct 24, 2022
the classic version Of torrentleechx #Unmaintained #Archived

TorrentleechX-Classic Old Modified Version Repo #Unmaintained #Archived for support join here working example group Leech Here For Any Issues/Imroveme

XcodersHub 18 Jan 30, 2022
This repository holds those infrastructure-level modules, that every application requires that follows the core 12-factor principles.

py-12f-common About This repository holds those infrastructure-level modules, that every application requires that follows the core 12-factor principl

Tamás Benke 1 Dec 15, 2022
Displays Christmas-themed ASCII art

Christmas Color Scripts Displays Christmas-themed ASCII art. This was mainly inspired by DistroTube's Shell Color Scripts Screenshots ASCII Shadow Tex

1 Aug 09, 2022
Retrying library for Python

Tenacity Tenacity is an Apache 2.0 licensed general-purpose retrying library, written in Python, to simplify the task of adding retry behavior to just

Julien Danjou 4.3k Jan 02, 2023
This is the community maintained fork of ungleich's cdist (after f061fb1).

cdist This is the community maintained fork of ungleich's cdist (after f061fb1). Work is split between three repositories: cdist - implementation of t

cdist community edition 0 Aug 02, 2022
An awesome script to convert the University Of Oviedo web calendar to Google or Outlook calendars.

autoUniCalendar Un script en Python para convertir el calendario de la intranet de la Universidad de Oviedo en un calendario de Outlook o Google Calen

Bimo99B9 14 Sep 28, 2022
Multiple GNOME terminals in one window

Terminator by Chris Jones [email protected] and others. Description Terminator was

GNOME Terminator 1.5k Jan 01, 2023
Python for downloading model data (HRRR, RAP, GFS, NBM, etc.) from NOMADS, NOAA's Big Data Program partners (Amazon, Google, Microsoft), and the University of Utah Pando Archive System.

Python for downloading model data (HRRR, RAP, GFS, NBM, etc.) from NOMADS, NOAA's Big Data Program partners (Amazon, Google, Microsoft), and the University of Utah Pando Archive System.

Brian Blaylock 194 Jan 02, 2023
Simple AoC helper program you can use to develop your own solutions in python.

AoC-Compabion Simple AoC helper program you can use to develop your own solutions in python. Simply install it in your python environment using pip fr

Alexander Vollmer 1 Dec 20, 2021
Import Apex legends mprt files exported from Legion

Apex-mprt-importer-for-Blender Import Apex legends mprt files exported from Legion. REQUIRES CAST IMPORTER Usage: Use a VPK extracter to extract the m

15 Dec 18, 2022
A simple chatbot that I made for school project

Chatbot: Python A simple chatbot that I made for school Project. Tho this chatbot is dumb sometimes, but it's not too bad lol. Check it Out! FAQ How t

Prashant 2 Nov 13, 2021
With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which alerts the user regarding open slots in the vicinity!

cowin_notifier With the initiation of the COVID vaccination drive across India for all individuals above the age of 18, I wrote a python script which

13 Aug 01, 2021
Modelling the 30 salamander problem from `Pure Mathematics` by Martin Liebeck

Salamanders on an island The Problem From A Concise Introduction to Pure Mathematics By Martin Liebeck Critic Ivor Smallbrain is watching the horror m

Faisal Jina 1 Jul 10, 2022
Analyzes crypto candles over a set time period and then trades based on winning patterns found

patternstrade Analyzes crypto candles over a set time period and then trades based on winning patterns found. Heavily customizable. Warning: This was

ConnorCreate 14 May 29, 2022
py2dis - A disassembly engine & library for Python

py2dis - A disassembly engine & library for Python. py2dis is a disassembly library for Python that does not use any modules/libraries other than colo

3 Feb 04, 2022
A performant state estimator for power system

A state estimator for power system. Turbocharged with sparse matrix support, JIT, SIMD and improved ordering.

9 Dec 12, 2022
Set of tools to analyze Tinynuke samples

tinynuke-toolset You'll find in that repository a set of tools and scripts I developped to analyze Tinynuke samples. Dll extractor: script used to ext

Heat Miser 14 Aug 18, 2022
A small site to list shared directories

Nebula Server Directories This site can be used to list folder and subdirectories in your server : Python It's required to have Python 3.8 or more ins

Adrien J. 1 Dec 28, 2021