Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

pythonn

The report outlines a project to develop a two-player Tic-Tac-Toe game using Python, detailing the game's objective, rules, and programming implementation. It highlights the aim of creating an engaging game for children and achieving specific programming outcomes, such as using operators and data structures. Additionally, the report includes a literature review and resources utilized during the project, along with skills developed through the process.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

pythonn

The report outlines a project to develop a two-player Tic-Tac-Toe game using Python, detailing the game's objective, rules, and programming implementation. It highlights the aim of creating an engaging game for children and achieving specific programming outcomes, such as using operators and data structures. Additionally, the report includes a literature review and resources utilized during the project, along with skills developed through the process.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

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 Pranjali Raghuvir Badgujar

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-TacToe
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 different
(Sigma Institute of features and applications of Python features available in Python and its
Engineering) Programming applications.
David Beazley This book contains a complete We used this book to learn the basic
(Sams Publishing) learning of Python Programming 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
scripting languages i.e, Python, Lua wellintegrated programs and
and Ruby systems
Table 1- Literature Review
 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():
move=input("It's your turn," + turn + ". Move to which place? ")

#move = input()

if theBoard[move] == ' ':


theBoard[move] = turn
count += 1

print("THAT PLACE IS ALREADY FILLED. \nMove to which place?")

# Now we will check if player X or O has won,for every move after 5 moves.

if theBoard['1'] == theBoard['2'] == theBoard['3'] != ' ': # across the top


turn = 'X'
count = 0

for i in range(10): printBoard(theBoard)

else:

continue

if count >= 5:

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_ke ys:
theBoard[key] = " "

game()
Fig 1: Tic Tac Toe Game Board

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

Fig 3: Message displayed after winning the game


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

Fig 4: Message displayed after losing the game

6.0 Actual Resources Required


The resources us ed during the completion of project are mention ed in the below
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.
3.

9.0 Applications of the Project


1 . Thisproject can be used as a n interesting game for children to pass their free time .
2 . The project can be also used to understand the .

Subject Teacher
M r. Warude mam

The project can be used in learning the

You might also like