Black plays first and draws a single token and places it on a valid spot on the grid (indicated by the tile being highlighed with a Blue dot gif). You must place a token on a spot that allows you to “flank” or “capture” at least one of your opponent’s tokenss by bordering them in a row.
You must flip all captured tokens to your color.
To capture your opponent’s tokens you must have 1 of your own pieces at the end of a row and then on your turn place a new piece at the beginning of the row. Everything in between on that row is now flipped to your color. You can only capture rows of a single color adjacent to each other; there cannot be any open space or your own discs between them or the combo is interrupted.
You can flank any number of tokenss. You may capture ds tokens, horizontally, diagonally. You may capture in multiple directions at the same time. All tokens that can be flipped must be flipped. You cannot pick and choose which ones are captured.
If you cannot make a valid move then your turn is forfeit and your opponent may go again. If you have a valid move available to you then you must make that move and are not allowed to forfeit your turn.
The game is over when neither player has a legal move (i.e. a move that captures at least one opposing piece) or when the board is full.
This Othello Game was made over the Course of a week .
Sunday was spent creating the css and html for the game
first thing did was create a wireframe.
second day was spent writing out the html , basic css and ,typing pseudo code into javascript file
By Tueday I completed Othello, Tuesday Night was spent reading and looking at examples of the min max algorithim for the Ai, Wenesday and thurday I had to unravel the completed game in order to integrate PLayer 2 aka 'Comp Boi'
thurdays night I added more css and music to play when player lost or won a game.
This project was tackled with 2 weeks of coding experience under my belt , problems I faced where because of either an extra 's' in my variable names , missing an end bracket, or missUse of javascript functions such as using 'getElementByClass' & getElementById when I should have been using querySelector and 'querySelectorAll' Weaving in the The logic for player # 2 gave me trouble I ended up re writing some part of the game in inorder to incorporate the logic for the Ai.
i've slowly improved my attention to detail but the biggest time sink I faced was having a typo or missing a curly brakes or using the wrong functions to call elements from my html and and spending hours just wondering why its not working and feeling like a failure wondering wether on not im good enough to do this.
pratically all versions of Othello on Codepen https://codepen.io/k44/pen/zKiIo Helped me understand the math's behind othello making div's as the grid
https://codepen.io/t-yi/pen/KoMyvo this is a REALLY COOL VERSION OF OTHELLO I Took the gif they used as a indicator of a valid spot
https://raw.githubusercontent.com/t1m1t/othello/master/images/allowed_pic.gif ^^^^^^^^^^^^^^^^^^^^^^^^^^^ This is the gif i took from the codepen