GithubHelp home page GithubHelp logo

code-institute-submissions / tic-tac-toe-46 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adrianmuntean97/tic-tac-toe

0.0 0.0 0.0 132 KB

Shell 6.36% JavaScript 15.52% Python 34.52% HTML 32.62% Dockerfile 10.88% Procfile 0.11%

tic-tac-toe-46's Introduction

Tic-Tac-Toe

Tic-Tac-Toe is a Python terminal game, which runs in Code Institute mock terminal on Heroku.

Users can try to beat the computer by filling an entire row, column or diagonal with X before the computer do it with O.

The live link can be found here - https://tic-tac-toe-adrian.herokuapp.com/

Am i Responsive

How to Play

Tic-Tac-Toe is based on a pen and paper game. In this version, the player enters their name and board size. The player is playing against a computer. The player is playing as X and the computer as O. The player and computer each take a turn to try and fill a space. The winner is the one that fills an entire row, column, or diagonal.

Features

Existing Features

  • The player ability to choose his name

Player Name

  • Player ability to choose the board size

Board Size

  • Play against the computer
  • User choice is colored in green
  • Computer making random moves

Main Game

  • The player cannot enter the same row and column again
  • The input player provided must be valid

Invalid Input

  • Computer is trying to block the player when it detects the player will win in the next turn

Computer Block

  • Computer is trying to win by detecting if it can win in the next turn

Computer Win

Testing

  • I have tested the game and it works on all 3 board sizes.
  • The computer is making random moves until it detects it can win then is going for the win.
  • In the current state there are no known bugs.
  • All the features are working as intended.
  • I have tested the app on PEP8 Python Validator and no there was no error.

Bugs

  • Old version gave the player the choice to whatever board size he wanted. The old version could break the game if for example, the user selected a board size like 100x100 making the game impossible to win (fixed by making the board size available between 3x3 to 5x5)

Deployment

The project was deployed using Code Institute's mock terminal for Heroku.

  • Steps for deployment:
    • Clone this repository
    • Create a new Heroku app
    • Set the buildpacks to Python and NodeJS in that order
    • Link the Heroku app to the repository
    • Click on Deploy

Credits

  • Code Institute for the deployment terminal

tic-tac-toe-46's People

Contributors

adrianmuntean97 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.