50% found this document useful (6 votes)
20K views

Computer Project Class 11

This document contains the code for a Python tic-tac-toe game that allows a user to play against the computer. The program will respond to user moves on the board and check for a winner after each turn. The code includes functions for printing the board, validating moves, checking for a winner, and making moves for both the player and computer. It uses a list to represent the board and tuples to define the winning combinations.

Uploaded by

Megha Bhardwaj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
50% found this document useful (6 votes)
20K views

Computer Project Class 11

This document contains the code for a Python tic-tac-toe game that allows a user to play against the computer. The program will respond to user moves on the board and check for a winner after each turn. The code includes functions for printing the board, validating moves, checking for a winner, and making moves for both the player and computer. It uses a list to represent the board and tuples to define the winning combinations.

Uploaded by

Megha Bhardwaj
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

PYTHON PROJECT FILE

INTRODUCTION

This program will play tic tac toe with the


user. It will respond to player moves. User
just have to enter what do they desired to
choose. ‘X’ or ‘0’
CERTIFICATE
This is to certify that Megha and Ankita
of 11th A has successfully completed the
computer science assignment for the
academic year 2018-19 as per the
guidelines given by CBSE.
ACKNOWLEGMENT
I wish to express our sincere thanks to
Mrs. Ritu Puri, principal of School Of
Excellence , Sec – 22 Dwarka, New
Delhi for guiding up throughout the
session.
I wish to express my thanks and gratitude
to teacher Mrs. Sakshi Sabharwal (PGT-
Computer Science) for her expert help ,
evaluation and guidance.
INDEX
1. ACKNOWLEGMENT
2. CERTIFICATES
3. INTRODUCTION
4. SYSTEM REQUIREMENTS
5. SALIENT FEATURES
6. CODE
7. OUTPUT

8.BIBLOGRAPHY
SALIENT FEATURES
PROGRAM IS USER FRIENDLY
THE PROGRAM IS COMPACT
THE PROGRAM IS
RESPONSIVE
THE PROGRAM IS COMPACT
SYSTEM
REQUREMENTS
Main processor : Pentium 111 and above.
Hard disk : 1 GB
RAM : 1GB
Operating system : Windows XP and
above.
Complier: Jupyter, Pycham, Atom etc.
Language : Python.

FLOWCHART
START

ASK FOR
PLAYER’S
LETTER

DECIDE
WHO
WILL GO
FIRTST

PLAYER’S COMPUTER’S
MOVE MOVE

Get’s computer turn


Show the board
Get’s its turn Check if
computer
won

Gets players
move

Check for
tie

Check if
player won

Ask to play again

Game will start


again
Check for
tie

stop
SOURCE CODE

#!/usr/bin/python3

# Simple TicTacToe game in Python -

EAO

import random

import sys
board=[i for i in range(0,9)]

player, computer = '',''

# Corners, Center and Others,

respectively

moves=((1,7,3,9),(5,),(2,4,6,8))

# Winner combinations

winners=((0,1,2),(3,4,5),(6,7,8),(0,3,6),(1

,4,7),(2,5,8),(0,4,8),(2,4,6))
# Table

tab=range(1,10)

def print_board():

x=1

for i in board:

end = ' | '

if x%3 == 0:
end = ' \n'

if i != 1: end+='---------\n';

char=' '

if i in ('X','O'): char=i;

x+=1

print(char,end=end)

def select_char():
chars=('X','O')

if random.randint(0,1) == 0:

return chars[::-1]

return chars

def can_move(brd, player, move):

if move in tab and brd[move-1] ==

move-1:
return True

return False

def can_win(brd, player, move):

places=[]

x=0

for i in brd:

if i == player: places.append(x);
x+=1

win=True

for tup in winners:

win=True

for ix in tup:

if brd[ix] != player:

win=False

break
if win == True:

break

return win

def make_move(brd, player, move,

undo=False):

if can_move(brd, player, move):

brd[move-1] = player
win=can_win(brd, player, move)

if undo:

brd[move-1] = move-1

return (True, win)

return (False, False)

# AI goes here

def computer_move():
move=-1

# If I can win, others don't matter.

for i in range(1,10):

if make_move(board, computer, i,

True)[1]:

move=i

break

if move == -1:
# If player can win, block him.

for i in range(1,10):

if make_move(board, player, i,

True)[1]:

move=i

break

if move == -1:

# Otherwise, try to take one of

desired places.
for tup in moves:

for mv in tup:

if move == -1 and

can_move(board, computer, mv):

move=mv

break

return make_move(board, computer,

move)
def space_exist():

return board.count('X') +

board.count('O') != 9

player, computer = select_char()

print('Player is [%s] and computer is

[%s]' % (player, computer))

result='%%% Deuce ! %%%'

while space_exist():
print_board()

print('# Make your move ! [1-9] : ',

end='')

move = int(input())

moved, won = make_move(board,

player, move)

if not moved:

print(' >> Invalid number ! Try

again !')
continue

if won:

result='* Congratulations ! You won

! *'

break

elif computer_move()[1]:

result='=== You lose ! =='


break;

print_board()

print(result)
BIBLOGRAPHY

1.www.google.com

2.www.github.com

3.slideshare

4.computer science with python by sumita

arora for class 11th

You might also like