CS - Vishnu Project1)

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 38

“FARMER’S FRIEND”

Project Submitted to the


CENTRAL BOARD OF SECONDARY EDUCATION

New Delhi.
Submitted by

G.K.HITENDRA

V.K.SRI BALAJI

H.NIKHIL

In the academic year 2023-2024

Under the guidance of

Mrs S. BHUVANESWARI, M.Sc., B.Ed.,


Department of Computer Science
SRI VINAYAGA VIDHYALAYA SR SEC SCHOOL,
BUJANGANOOR, KARAMADAI, CBE

CERTIFICATE

This is to certify that the project entitled “FARMER’S FRIEND”


is a bonafide work carried out by the student “G.K.HITENDRA ,V.K.SRI BALAJ I,H.NIKHIL” of
Class XII (Computer Science Stream) SRI VINAYAGA VIDHYALAYA SR SEC SCHOOL,
BUJANGANOOR, KARAMADAI, CBE, Affiliated to the Central Board of Secondary Education,
New Delhi during the academic year 2023 -2024 in partial fulfillment of the requirements of the
award of class XII Computer Science project work.

Teacher In-charge Principal

Internal Examiner External Examiner

Place: BUJANGANOOR

Date :
ACKNOWLEDGEMENT

CRICKET GAME

It is a matter of great satisfaction and pleasure to present this project on CRICKET GAME, on the
very outset of this report, we would like to extend our sincere & heartfelt obligation towards all the
personages who have helped me in this endeavor. We also register our sense of gratitude to our
Correspondent Mr. R. Somasundram, for his active guidance, help, cooperation & immense
encouragement made this project successful.

We take this opportunity to owe my thanks to all my faculty members for their encouragement
and able guidance at every stage of this report. We wish to take this opportunity to thank our
Principal, Mr. I Sarlin, whose guidance and support has been an important factor for my
success in my entire academic period.
We also wish to thank our Project Guide Smt. S. Bhuvaneswari M.Sc., B.Ed.,
Department of Computer Science for sparing her precious time in putting together all the bits
and pieces. We brought in as raw data to her and her contribution towards the success of this
project is unmatched. We have to appreciate the guidance given by other supervisor as well as the
panels especially in our project presentation that has improved our presentation skills thanks to
their comment and advice.

We express my gratitude to all those who have directly or indirectly helped me to make this
project. We also wish to thank my parents who have always supported me and appreciated my
work wholeheartedly and been my inspiration
SOFTWARE AND HARDWARES REQUIRED:
1. Python IDLE
2. Microphone
3. A computer
4. Internet access
5. Window 7

PROJECT TEAM MEMBERS AND THEIR ROLES:

Individual project done By M. VISHNU PRASATH


- Front End Python
-Back End MYSQL
 We can enter the name of two teams. From Each team we can enter the name of one player.
 The team which will win the toss can select batting or fielding.
 All wicket types have been added in this project.
”CRICKET GAME”
PROJECT ABSTRACT

Define a function innings that accepts the current batsman and the runs to chase as input
arguments. Ask the user to enter numbers within the range of one to six. According to the rules of
hand cricket, if both the user and the computer choose the same number, the current batsman is out.

Initialize a variable total to store the total runs scored by a batsman and set it to zero. Begin an
infinite while loop and call the input_num() function to store and validate the user’s input. Use the
random module's randint() function to choose a random number between one and six for the
computer.

Display the choices of both players, then check whether they are equal. If they are, display that
the batsman is out and return the total runs they scored in that innings Otherwise, check who is
batting and add the appropriate value to the total score, either pnum or cnum. Display the current
score of the batsman.

In the case of the second innings, you want to check if the batter has already beaten the score of their
opponent. To do so, check if the to_chase value is not empty and if the batsman’s score is greater. If
so, return their winning score.

SOURCE CODE IN PYTHON:


# Cricket Game

print(""" ~~~~~~~~~~ Game of Cricket ~~~~~~~~~~

Instructions:

1. You have to select any random number from 1 to 6.


2. The computer will also select a number.
3. While batting, if the number selected by you and computer is different, then your number will add
to your runs.
If the number selected by you and computer is same, then you will lose your wicket.
4. While bowling, if the number selected by you and computer is different, then the computer's
number will add to its runs.
If the number selected by you and computer is same, then the computer will lose its wicket.
5. Each player will get 2 wickets and 2 overs (12 balls) for batting and bowling.
6. The innings will end after either the three wickets fell or the overs end.
7. The player with maximum runs wins. """)

print("\n---------- Start Game ----------")

import random

# Toss

print("\nHere comes the Toss")


toss = (input("Choose heads or tails: ")).lower()

random_toss = random.randint(1,2) # In random_toss (1 = Heads) and (2 = Tails)


random_opt = random.randint(1,2) # In random_opt (1 = bat) and (2 = ball)
u_opt = 0
c_opt = 0

if random_toss == 1 and toss == "heads":


print("\nYou won the toss")
u_opt = (input("Choose bat or ball: ")).lower()

elif random_toss == 2 and toss == "tails":


print("\nYou won the toss")
u_opt = (input("Choose bat or ball: ")).lower()

else:
print("\nYou lost the toss")

if random_opt == 1:
c_opt = "bat"
print("Computer choose to",c_opt)

elif random_opt == 2:
c_opt = "ball"
print("Computer choose to",c_opt)

# First Innings

print("\n---------- First Innings Begins ----------")

runs_1 = 0
wickets_1 = 0
balls_1 = 0
while wickets_1 != 2 and balls_1 != 12:

u_choice = int(input("\nChoose any number from 1 to 6: "))


c_choice = random.randint(1,6)

if u_choice < 1 or u_choice > 6:


print("\nPlease choose a value from 1 to 6.")

else:
print("Your choice: ",u_choice,"\nComputer's choice: ",c_choice)

if u_choice == c_choice:
wickets_1 += 1

else:
if u_opt == "bat" or c_opt == "ball":
Bat_first = "You"
Ball_first = "Computer"
runs_1 += u_choice

elif u_opt == "ball" or c_opt == "bat":


Bat_first = "Computer"
Ball_first = "You"
runs_1 += c_choice

print("\nScore =",runs_1,"/",wickets_1)

balls_1 += 1

if balls_1 == 6:
print("End of Over 1")

elif balls_1 == 12:

if u_choice < 1 or u_choice > 6:


print("\nPlease choose a value from 1 to 6.")

else:
print("Your choice: ",u_choice,"\nComputer's choice: ",c_choice)

if u_choice == c_choice:
wickets_2 += 1

else:
if Bat_first == "Computer":
runs_2 += u_choice
Bat_second = "You"

elif Bat_first == "You":


runs_2 += c_choice
Bat_second = "Computer"

print("\nScore =",runs_2,"/",wickets_2)

balls_2 += 1

if balls_2 == 6:
print("End of Over 1")

elif balls_2 == 12:


print("End of Over 2")

if runs_2 <= runs_1 and balls_2 <= 11 and wickets_2 != 2:


print("To win:",runs_1 - runs_2 + 1,"runs needed from",12 - balls_2,"balls.")

print("\n---------- End of Innings ----------")

print("\nFinal Score:")
print("Runs =",runs_2)
print("wickets =",wickets_2)

# Result of Match

print("\n~~~~~~~~~~ Result ~~~~~~~~~~")

if runs_1 > runs_2:

if Bat_first == "You":
print("\nCongratulations! You won the Match by",runs_1 - runs_2,"runs.")

else:
print("\nBetter luck next time! The Computer won the Match by",runs_1 - runs_2,"runs.")

elif runs_2 > runs_1:

if Bat_second == "You":
print("\nCongratulations! You won the Match by",2 - wickets_2,"wickets.")

else:
print("\nBetter luck next time! The Computer won the Match by",2 - wickets_2,"wickets.")
else:
print("The Match is a Tie.","\nNo one Wins.")

SOURCE CODE:
import random
import datetime

# Global List Declaration


name = []
phno = []
add = []
checkin = []
checkout = []
room = []
price = []
rc = []
p = []
roomno = []
custid = []
day = []

# Global Variable Declaration

i=0

# Home Function
def Home():

print("\t\t\t\t\t\t WELCOME TO HOTEL ANCASA\n")


print("\t\t\t 1 Booking\n")
print("\t\t\t 2 Rooms Info\n")
print("\t\t\t 3 Room Service(Menu Card)\n")
print("\t\t\t 4 Payment\n")
print("\t\t\t 5 Record\n")
print("\t\t\t 0 Exit\n")

ch=int(input("->"))

if ch == 1:
print(" ")
Booking()

elif ch == 2:
print(" ")
Rooms_Info()

elif ch == 3:
print(" ")
restaurant()

elif ch == 4:
print(" ")
Payment()

elif ch == 5:
print(" ")
Record()

else:
exit()

# Function used in booking

def date(c):

if c[2] >= 2019 and c[2] <= 2020:


if c[1] != 0 and c[1] <= 12:

if c[1] == 2 and c[0] != 0 and c[0] <= 31:

if c[2]%4 == 0 and c[0] <= 29:


pass

elif c[0]<29:
pass

else:
print("Invalid date\n")
name.pop(i)
phno.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()

# if month is odd & less than equal


# to 7th month
elif c[1] <= 7 and c[1]%2 != 0 and c[0] <= 31:
pass
# if month is even & less than equal to 7th
# month and not 2nd month
elif c[1] <= 7 and c[1]%2 == 0 and c[0] <= 30 and c[1] !
= 2:
pass

# if month is even & greater than equal


# to 8th month
elif c[1] >= 8 and c[1]%2 == 0 and c[0] <= 31:
pass

# if month is odd & greater than equal


# to 8th month
elif c[1]>=8 and c[1]%2!=0 and c[0]<=30:
pass

else:
print("Invalid date\n")
name.pop(i)
phno.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()

else:
print("Invalid date\n")
name.pop(i)
phno.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()

else:
print("Invalid date\n")
name.pop(i)
phno.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()

# Booking function
def Booking():

# used global keyword to


# use global variable 'i'
global i
print(" BOOKING ROOMS")
print(" ")
while 1:
n = str(input("Name: "))
p1 = str(input("Phone No.: "))
a = str(input("Address: "))

# checks if any field is not empty


if n!="" and p1!="" and a!="":
name.append(n)
add.append(a)
break

else:
print("\tName, Phone no. & Address cannot be
empty..!!")

cii=str(input("Check-In: "))
checkin.append(cii)
cii=cii.split('/')
ci=cii
ci[0]=int(ci[0])
ci[1]=int(ci[1])
ci[2]=int(ci[2])
date(ci)

coo=str(input("Check-Out: "))
checkout.append(coo)
coo=coo.split('/')
co=coo
co[0]=int(co[0])
co[1]=int(co[1])
co[2]=int(co[2])

# checks if check-out date falls after


# check-in date
if co[1]<ci[1] and co[2]<ci[2]:

print("\n\tErr..!!\n\tCheck-Out date must fall after


Check-In\n")
name.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()
elif co[1]==ci[1] and co[2]>=ci[2] and co[0]<=ci[0]:

print("\n\tErr..!!\n\tCheck-Out date must fall after


Check-In\n")
name.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()
else:
pass

date(co)
d1 = datetime.datetime(ci[2],ci[1],ci[0])
d2 = datetime.datetime(co[2],co[1],co[0])
d = (d2-d1).days
day.append(d)

print("----SELECT ROOM TYPE----")


print(" 1. Standard Non-AC")
print(" 2. Standard AC")
print(" 3. 3-Bed Non-AC")
print(" 4. 3-Bed AC")
print(("\t\tPress 0 for Room Prices"))

ch=int(input("->"))

# if-conditions to display allotted room


# type and it's price
if ch==0:
print(" 1. Standard Non-AC - Rs. 3500")
print(" 2. Standard AC - Rs. 4000")
print(" 3. 3-Bed Non-AC - Rs. 4500")
print(" 4. 3-Bed AC - Rs. 5000")
ch=int(input("->"))
if ch==1:
room.append('Standard Non-AC')
print("Room Type- Standard Non-AC")
price.append(3500)
print("Price- 3500")
elif ch==2:
room.append('Standard AC')
print("Room Type- Standard AC")
price.append(4000)
print("Price- 4000")
elif ch==3:
room.append('3-Bed Non-AC')
print("Room Type- 3-Bed Non-AC")
price.append(4500)
print("Price- 4500")
elif ch==4:
room.append('3-Bed AC')
print("Room Type- 3-Bed AC")
price.append(5000)
print("Price- 5000")
else:
print(" Wrong choice..!!")

# randomly generating room no. and customer


# id for customer
rn = random.randrange(40)+300
cid = random.randrange(40)+10

# checks if allotted room no. & customer


# id already not allotted
while rn in roomno or cid in custid:
rn = random.randrange(60)+300
cid = random.randrange(60)+10

rc.append(0)
p.append(0)

if p1 not in phno:
phno.append(p1)
elif p1 in phno:
for n in range(0,i):
if p1== phno[n]:
if p[n]==1:
phno.append(p1)
elif p1 in phno:
for n in range(0,i):
if p1== phno[n]:
if p[n]==0:
print("\tPhone no. already exists and
payment yet not done..!!")
name.pop(i)
add.pop(i)
checkin.pop(i)
checkout.pop(i)
Booking()
print("")
print("\t\t\t***ROOM BOOKED SUCCESSFULLY***\n")
print("Room No. - ",rn)
print("Customer Id - ",cid)
roomno.append(rn)
custid.append(cid)
i=i+1
n=int(input("0-BACK\n ->"))
if n==0:
Home()
else:
exit()

# ROOMS INFO
def Rooms_Info():
print(" ------ HOTEL ROOMS INFO ------")
print("")
print("STANDARD NON-AC")
print("---------------------------------------------------------------")
print("Room amenities include: 1 Double Bed, Television,
Telephone,")
print("Double-Door Cupboard, 1 Coffee table with 2 sofa,
Balcony and")
print("an attached washroom with hot/cold water.\n")
print("STANDARD NON-AC")
print("---------------------------------------------------------------")
print("Room amenities include: 1 Double Bed, Television,
Telephone,")
print("Double-Door Cupboard, 1 Coffee table with 2 sofa,
Balcony and")
print("an attached washroom with hot/cold water + Window/Split
AC.\n")
print("3-Bed NON-AC")
print("---------------------------------------------------------------")
print("Room amenities include: 1 Double Bed + 1 Single Bed,
Television,")
print("Telephone, a Triple-Door Cupboard, 1 Coffee table with 2
sofa, 1")
print("Side table, Balcony with an Accent table with 2 Chair and
an")
print("attached washroom with hot/cold water.\n")
print("3-Bed AC")
print("---------------------------------------------------------------")
print("Room amenities include: 1 Double Bed + 1 Single Bed,
Television,")
print("Telephone, a Triple-Door Cupboard, 1 Coffee table with 2
sofa, ")
print("1 Side table, Balcony with an Accent table with 2 Chair
and an")
print("attached washroom with hot/cold water + Window/Split
AC.\n\n")
print()
n=int(input("0-BACK\n ->"))
if n==0:
Home()
else:
exit()

# RESTAURANT FUNCTION
def restaurant():
ph=int(input("Customer Id: "))
global i
f=0
r=0
for n in range(0,i):
if custid[n]==ph and p[n]==0:
f=1

print("-------------------------------------------------------------------------")
print(" Hotel AnCasa")

print("-------------------------------------------------------------------------")
print(" Menu Card")
print("-------------------------------------------------------------------------")
print("\n BEVARAGES
26 Dal Fry................ 140.00")
print("---------------------------------- 27 Dal
Makhani............ 150.00")
print(" 1 Regular Tea............. 20.00 28 Dal
Tadka.............. 150.00")
print(" 2 Masala Tea.............. 25.00")
print(" 3 Coffee.................. 25.00 ROTI")
print(" 4 Cold Drink.............. 25.00
----------------------------------")
print(" 5 Bread Butter............ 30.00 29 Plain
Roti.............. 15.00")
print(" 6 Bread Jam............... 30.00 30 Butter
Roti............. 15.00")
print(" 7 Veg. Sandwich........... 50.00 31 Tandoori
Roti........... 20.00")
print(" 8 Veg. Toast Sandwich..... 50.00 32 Butter
Naan............. 20.00")
print(" 9 Cheese Toast Sandwich... 70.00")
print(" 10 Grilled Sandwich........ 70.00 RICE")
print("
----------------------------------")
print(" SOUPS 33
Plain Rice.............. 90.00")
print("---------------------------------- 34 Jeera
Rice.............. 90.00")
print(" 11 Tomato Soup............ 110.00 35 Veg
Pulao.............. 110.00")
print(" 12 Hot & Sour............. 110.00 36 Peas
Pulao............. 110.00")
print(" 13 Veg. Noodle Soup....... 110.00")
print(" 14 Sweet Corn............. 110.00 SOUTH
INDIAN")
print(" 15 Veg. Munchow........... 110.00
----------------------------------")
print(" 37
Plain Dosa............. 100.00")
print(" MAIN COURSE 38
Onion Dosa............. 110.00")
print("---------------------------------- 39 Masala
Dosa............ 130.00")
print(" 16 Shahi Paneer........... 110.00 40 Paneer
Dosa............ 130.00")
print(" 17 Kadai Paneer........... 110.00 41 Rice
Idli.............. 130.00")
print(" 18 Handi Paneer........... 120.00 42 Sambhar
Vada........... 140.00")
print(" 19 Palak Paneer........... 120.00")
print(" 20 Chilli Paneer.......... 140.00 ICE CREAM")
print(" 21 Matar Mushroom......... 140.00
----------------------------------")
print(" 22 Mix Veg................ 140.00 43
Vanilla................. 60.00")
print(" 23 Jeera Aloo............. 140.00 44
Strawberry.............. 60.00")
print(" 24 Malai Kofta............ 140.00 45
Pineapple............... 60.00")
print(" 25 Aloo Matar............. 140.00 46 Butter
Scotch........... 60.00")
print("Press 0 -to end ")
ch=1
while(ch!=0):

ch=int(input(" -> "))

# if-elif-conditions to assign item


# prices listed in menu card
if ch==1 or ch==31 or ch==32:
rs=20
r=r+rs
elif ch<=4 and ch>=2:
rs=25
r=r+rs
elif ch<=6 and ch>=5:
rs=30
r=r+rs
elif ch<=8 and ch>=7:
rs=50
r=r+rs
elif ch<=10 and ch>=9:
rs=70
r=r+rs
elif (ch<=17 and ch>=11) or ch==35 or ch==36 or
ch==38:
rs=110
r=r+rs
elif ch<=19 and ch>=18:
rs=120
r=r+rs
elif (ch<=26 and ch>=20) or ch==42:
rs=140
r=r+rs
elif ch<=28 and ch>=27:
rs=150
r=r+rs
elif ch<=30 and ch>=29:
rs=15
r=r+rs
elif ch==33 or ch==34:
rs=90
r=r+rs
elif ch==37:
rs=100
r=r+rs
elif ch<=41 and ch>=39:
rs=130
r=r+rs
elif ch<=46 and ch>=43:
rs=60
r=r+rs
elif ch==0:
pass
else:
print("Wrong Choice..!!")
print("Total Bill: ",r)

# updates restaurant charges and then


# appends in 'rc' list
r=r+rc.pop(n)
rc.append(r)
else:
pass
if f == 0:
print("Invalid Customer Id")
n=int(input("0-BACK\n ->"))
if n==0:
Home()
else:
exit()

# PAYMENT FUNCTION
def Payment():
ph=str(input("Phone Number: "))
global i
f=0

for n in range(0,i):
if ph==phno[n] :

# checks if payment is
# not already done
if p[n]==0:
f=1
print(" Payment")
print(" --------------------------------")
print(" MODE OF PAYMENT")

print(" 1- Credit/Debit Card")


print(" 2- Paytm/PhonePe")
print(" 3- Using UPI")
print(" 4- Cash")
x=int(input("-> "))
print("\n Amount: ",(price[n]*day[n])+rc[n])
print("\n Pay For AnCasa")
print(" (y/n)")
ch=str(input("->"))
if ch=='y' or ch=='Y':
print("\n\n --------------------------------")
print(" Hotel AnCasa")
print(" --------------------------------")
print(" Bill")
print(" --------------------------------")
print(" Name: ",name[n],"\t\n Phone No.:
",phno[n],"\t\n Address: ",add[n],"\t")
print("\n Check-In: ",checkin[n],"\t\n
Check-Out: ",checkout[n],"\t")
print("\n Room Type: ",room[n],"\t\n Room
Charges: ",price[n]*day[n],"\t")
print(" Restaurant Charges: \t",rc[n])
print(" --------------------------------")
print("\n Total Amount: ",(price[n]*day[n])
+rc[n],"\t")
print(" --------------------------------")
print(" Thank You")
print(" Visit Again :)")
print(" --------------------------------\n")
p.pop(n)
p.insert(n,1)

# pops room no. and customer id from list


and
# later assigns zero at same position
roomno.pop(n)
custid.pop(n)
roomno.insert(n,0)
custid.insert(n,0)

else:

for j in range(n+1,i):
if ph==phno[j] :
if p[j]==0:
pass

else:
f=1
print("\n\tPayment has been
Made :)\n\n")
if f==0:
print("Invalid Customer Id")

n = int(input("0-BACK\n ->"))
if n == 0:
Home()
else:
exit()

# RECORD FUNCTION
def Record():
# checks if any record exists or not
if phno!=[]:
print(" *** HOTEL RECORD ***\n")
print("| Name | Phone No. | Address | Check-In |
Check-Out | Room Type | Price |")

print("-------------------------------------------------------------------------------
---------------------------------------")

for n in range(0,i):
print("|",name[n],"\t |",phno[n],"\t|",add[n],"\
t|",checkin[n],"\t|",checkout[n],"\t|",room[n],"\t|",price[n])

print("-------------------------------------------------------------------------------
---------------------------------------")

else:
print("No Records Found")
n = int(input("0-BACK\n ->"))
if n == 0:
Home()

else:
exit()
# Driver Code
Home()

Output:
Functions Created
Home()- Function to display the project’s main screen i.e. the
home page of the project or you can say the main menu for
selecting the desired operation to perform.
Date(str)- Function to validate date entered by the user/customer.
Booking()- Function for booking room in hotel by entering
user/customer details.
Room_Info()- Function to provide users/customers with hotel
rooms information(i.e. about room amenities).
Restaurant()- Function for room service which provides
user/customer with the restaurant’s menu card to order food at
the room.
Payment()- Function for payment of hotel room and restaurant
bill generation at the time of check-out.
Record()- Function for keeping records of customers stayed in
the hotel.

BIBLIOGRAPHY:
To develop this project many references were used:
1. Computer Science with Python by Sumitha Arora, Dhanpat Rai
Publications.
2. https://www.google.com
3. https://stackoverflow.com
4. www.geeksforgeeks.org
5. www.pypi.org
6. www.youtube.com

You might also like