0% found this document useful (0 votes)
976 views

Python Micro Project

This document provides a report on developing a Tic-Tac-Toe game using Python programming. It includes an introduction to the rationale and aim of the project, a literature review on relevant sources, and the actual procedure followed to develop the code. The program code for a two-player Tic-Tac-Toe game is presented, along with output screenshots. Resources used and skills developed through completing the project are also summarized.

Uploaded by

Ritesh Bombale
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
976 views

Python Micro Project

This document provides a report on developing a Tic-Tac-Toe game using Python programming. It includes an introduction to the rationale and aim of the project, a literature review on relevant sources, and the actual procedure followed to develop the code. The program code for a two-player Tic-Tac-Toe game is presented, along with output screenshots. Resources used and skills developed through completing the project are also summarized.

Uploaded by

Ritesh Bombale
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 9

A

Report On
“Tic-Tac-Toe Game”
Under the subject
‘Programming with Python [22616]’

Submitted by

Sr. No Enrollment No Name of the student


1 1700100271 Miss. Shinde Mohini Anandrao
2 1700100276 Miss. Jagtap Sakshi Krushna

Under the guidance of


Mr. Emekar S. P
Department of Computer Engineering
Government Polytechnic, Karad
1.0 Rationale
The objective of this project is to develop the well-known board game Tic-Tac-
Toe for two players.
Generally, this is a two-player strategy board game. The Tic-Tac-Toe game is
based on having a game board (2D array) of size 3 x 3. The players alternate placing Xs
and Os on the board until either one has placed three Xs or Os in a row horizontally,
vertically, or diagonally; or all nine board squares are filled. The player wins if s/he
draws three Xs or three Os in a row. Otherwise, the game is draw.
Initially the board grid squares are initialized to zeros. Xs and Os might be
denoted by numbers inside the board grid by ones and twos respectively. I.e. if player one
chooses X, the location of that choice is registered as 1 and when player two chooses O
the location of that choice in your array is registered as 2. At the end if a row of 1s is
registered then player one won the game. Or if a row of 2s is registered thus player two
won the game. If not, the game is draw. The game ends when there is no more empty
fields in the array (board) to fill or if one of the players wins the game.

2.0 Aim of the project


1. To develop an interesting game for children to pass their free time.
2. To develop the well-known board game Tic-Tac-Toe for two players.
3. To be one of the players to get three same symbols in a row – horizontally, vertically or
diagonally on a 3 x 3 grid.

3.0 Course Outcomes Achieved


1. Display message on screen using Python script on IDE.
2. Develop python program to demonstrate use of Operators.
3. Perform operations on data structures in Python.
4. Develop functions for given problems.

4.0 Literature Review


Author (Publication) Abstract Conclusion
Kalyani Adawadkar This paper describes the main We used this paper to learn
(Sigma Institute of features and applications of different features available in
Engineering) Python Programming Python and its applications.
David Beazley This book contains a complete We used this book to learn the
(Sams Publishing) learning of Python Programming basic concepts of Python
Programming
Tom Gutschmidt This book covers game We used this book to learn how to
(Premier Press) programming in three different build efficient, flexible and well-
scripting languages i.e, Python, Lua integrated programs and systems
and Ruby
Table 1- Literature Review
5.0 Actual procedure followed
Actual procedure followed during the project is mentioned in the table below with
the planned start date and completed finish date.
Sr.no Details of activity Planned Planned Name of responsible
Start date Finish date Team members
1. Decide project topic 16/12/2019 23/12/2019 1. Shinde Mohini
2. Jagtap Sakshi
2. Decide features of project 23/12/2019 06/01/2020 1. Shinde Mohini
2. Jagtap Sakshi
3. Prepare project proposal 06/01/2020 13/01/2020 1. Shinde Mohini
2. Jagtap Sakshi
4. Decide different data 13/01/2020 27/01/2020 1. Shinde Mohini
structures 2. Jagtap Sakshi
5. Develop actual program 27/01/2020 17/02/2020 1. Shinde Mohini
code 2. Jagtap Sakshi
6. Debug the program code 17/02/2020 02/03/2020 1. Shinde Mohini
2. Jagtap Sakshi
7. Preparing final project report 02/03/2020 16/03/2020 1. Shinde Mohini
2. Jagtap Sakshi

Table 2- Actual procedure followed

 Program code

#Implementation of Two Player Tic-Tac-Toe game in Python.

theBoard = {'1': ' ' , '2': ' ' , '3': ' ' ,
'4': ' ' , '5': ' ' , '6': ' ' ,
'7': ' ' , '8': ' ' , '9': ' ' }

board_keys = []

for key in theBoard:


board_keys.append(key)

def printBoard(board):
print("\n")
print(' '+board['1'] + ' | ' + board['2'] + ' | ' + board['3'])
print(' ---+---+---')
print(' '+board['4'] + ' | ' + board['5'] + ' | ' + board['6'])
print(' ---+---+---')
print(' '+board['7'] + ' | ' + board['8'] + ' | ' + board['9'])
print("\n")

# Now we'll write the main function which has all the gameplay functionality.
def game():

turn = 'X'
count = 0

for i in range(10):
printBoard(theBoard)
move=input("It's your turn," + turn + ". Move to which place? ")

#move = input()

if theBoard[move] == ' ':


theBoard[move] = turn
count += 1
else:
print("THAT PLACE IS ALREADY FILLED.\nMove to which place?")
continue

# Now we will check if player X or O has won,for every move after 5 moves.
if count >= 5:
if theBoard['1'] == theBoard['2'] == theBoard['3'] != ' ': # across the top
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['4'] == theBoard['5'] == theBoard['6'] != ' ': # across the middle
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['7'] == theBoard['8'] == theBoard['9'] != ' ': # across the bottom
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['7'] == theBoard['4'] == theBoard['1'] != ' ': # down the left side
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['8'] == theBoard['5'] == theBoard['2'] != ' ': # down the middle
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['9'] == theBoard['6'] == theBoard['3'] != ' ': # down the right side
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['1'] == theBoard['5'] == theBoard['9'] != ' ': # diagonal
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break
elif theBoard['7'] == theBoard['5'] == theBoard['3'] != ' ': # diagonal
printBoard(theBoard)
print("\nGAME OVER.\n\n")
print(" ****** CONGRATULATIONS! " +turn + " YOU WON THE GAME
******\n\n")
break

# If neither X nor O wins and the board is full, we'll declare the result as 'tie'.
if count == 9:
print("\nGAME OVER.\n\n")
print("*** IT'S A TIE!! ***\n\n")
break

# Now we have to change the player after every move.


if turn =='X':
turn = 'O'
else:
turn = 'X'

# Now we will ask if player wants to restart the game or not.


restart = input("Do want to play Again?(y/n)")
if restart == "y" or restart == "Y":
for key in board_keys:
theBoard[key] = " "

game()

if __name__ == "__main__":
game()

Output:

Fig 1: Tic Tac Toe Game Board


Fig 2: Message displayed if you choose the position which is already chosen

Fig 3: Message displayed after winning the game


Fig 4: Message displayed after losing the game

6.0 Actual Resources Required


The resources used during the completion of project are mentioned in the below
Sr.no Name of resources Specifications Quantity Remarks
material
1. YouTube MP4-file format, 640 x 1
360 pixels
2. Microsoft Word 2010 version 1

3. IDLE Version 3.8.1 1

4. Laptop Dell, RAM 8 GB, 1


Harddisk 1 TB, i3
processor
8.0 Skill Developed/ learning out of this Micro-Project
We learnt,
1. To demonstrate the use of Operators.
2. To perform operations on data structures in Python.
3. To develop functions for given problems.
4. Efficient communication skills.
5. Working as a team member for developing c program.
6. Developing leadership qualities.

9.0 Applications of the Project


1. Thisproject can be used as an interesting game for children to pass their free time.
2. The project can be also used to understand the.
3. The project can be used in learning the

Subject Teacher
Mr. Emekar S. P

You might also like