Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #imports random library
- import random
- messages=[]
- playerPositions=[]
- player1PositionsValue=[]
- player2PositionsValue=[]
- creation=False
- win=False
- positions=[]
- for k in range(9):
- positions.append(str(k+1).zfill(2))
- for j in range(40):
- positions.append(j+10)
- #this function will roll 2 dice and add them together
- def diceRoll(messages):
- dice1=random.randint(1,6)
- dice2=random.randint(1,6)
- if dice1 == dice2:
- totalDice=((dice1+dice2)-(2*(dice1+dice2)))
- else:
- totalDice=dice1+dice2
- print(messages[0],dice1,messages[1],dice2,messages[13],totalDice)
- return totalDice
- #this function reads in the messages from an external file called messages.txt
- def messagesReading():
- global messages
- file=open("messages.txt","r")
- for line in file:
- messages.append(line.strip("\n"))
- file.close()
- return messages
- #this function creates and displays the grid system
- def gridStorage(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions):
- global creation
- if creation == False:
- for k in range(9):
- playerPositions.append(" ")
- for j in range(40):
- playerPositions.append(" ")
- for i in range(49):
- player1PositionsValue.append("")
- player2PositionsValue.append("")
- player1PositionsValue[0]=1
- player2PositionsValue[0]=1
- creation=True
- playerPositions[0]=" % &"
- print(positions[42],playerPositions[42],positions[43],playerPositions[43],positions[44],playerPositions[44],positions[45],playerPositions[45],positions[46],playerPositions[46],positions[47],playerPositions[47],positions[48],playerPositions[48])
- print(positions[35],playerPositions[35],positions[36],playerPositions[36],positions[37],playerPositions[37],positions[38],playerPositions[38],positions[39],playerPositions[39],positions[40],playerPositions[40],positions[41],playerPositions[41])
- print(positions[28],playerPositions[28],positions[29],playerPositions[29],positions[30],playerPositions[30],positions[31],playerPositions[31],positions[32],playerPositions[32],positions[33],playerPositions[33],positions[34],playerPositions[34])
- print(positions[21],playerPositions[21],positions[22],playerPositions[22],positions[23],playerPositions[23],positions[24],playerPositions[24],positions[25],playerPositions[25],positions[26],playerPositions[26],positions[27],playerPositions[27])
- print(positions[14],playerPositions[14],positions[15],playerPositions[15],positions[16],playerPositions[16],positions[17],playerPositions[17],positions[18],playerPositions[18],positions[19],playerPositions[19],positions[20],playerPositions[20])
- print(positions[7],playerPositions[7],positions[8],playerPositions[8],positions[9],playerPositions[9],positions[10],playerPositions[10],positions[11],playerPositions[11],positions[12],playerPositions[12],positions[13],playerPositions[13])
- print(positions[0],playerPositions[0],positions[1],playerPositions[1],positions[2],playerPositions[2],positions[3],playerPositions[3],positions[4],playerPositions[4],positions[5],playerPositions[5],positions[6],playerPositions[6])
- else:
- print(positions[42],playerPositions[42],positions[43],playerPositions[43],positions[44],playerPositions[44],positions[45],playerPositions[45],positions[46],playerPositions[46],positions[47],playerPositions[47],positions[48],playerPositions[48])
- print(positions[35],playerPositions[35],positions[36],playerPositions[36],positions[37],playerPositions[37],positions[38],playerPositions[38],positions[39],playerPositions[39],positions[40],playerPositions[40],positions[41],playerPositions[41])
- print(positions[28],playerPositions[28],positions[29],playerPositions[29],positions[30],playerPositions[30],positions[31],playerPositions[31],positions[32],playerPositions[32],positions[33],playerPositions[33],positions[34],playerPositions[34])
- print(positions[21],playerPositions[21],positions[22],playerPositions[22],positions[23],playerPositions[23],positions[24],playerPositions[24],positions[25],playerPositions[25],positions[26],playerPositions[26],positions[27],playerPositions[27])
- print(positions[14],playerPositions[14],positions[15],playerPositions[15],positions[16],playerPositions[16],positions[17],playerPositions[17],positions[18],playerPositions[18],positions[19],playerPositions[19],positions[20],playerPositions[20])
- print(positions[7],playerPositions[7],positions[8],playerPositions[8],positions[9],playerPositions[9],positions[10],playerPositions[10],positions[11],playerPositions[11],positions[12],playerPositions[12],positions[13],playerPositions[13])
- print(positions[0],playerPositions[0],positions[1],playerPositions[1],positions[2],playerPositions[2],positions[3],playerPositions[3],positions[4],playerPositions[4],positions[5],playerPositions[5],positions[6],playerPositions[6])
- return playerPositions
- #this function updates player 1's position and sends it to the grid to be displayed graphically
- def moveP1(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions):
- global creation
- temp12=input(messages[11])
- totalDice=diceRoll(messages)
- p1Position=player1PositionsValue.index(1)
- p2Position=player2PositionsValue.index(1)
- if p1Position+totalDice > 49:
- print(messages[14])
- win=True
- print(messages[16])
- ans=input(str("").lower())
- if ans == "yes" or ans == "y" or ans == "1":
- creation=False
- playerPositions=[]
- alternatingTurn(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- else:
- print(messages[17])
- else:
- player1PositionsValue[p1Position]=""
- player1PositionsValue[p1Position+totalDice+1]=1
- if p1Position == p2Position:
- playerPositions[p1Position]=" &"
- playerPositions[p1Position+totalDice+1]=" % "
- else:
- playerPositions[p1Position]=" "
- playerPositions[p1Position+totalDice+1]=" % "
- gridStorage(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- #this function updates player 2's position and sends it to the grid to be displayed graphically
- def moveP2(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions):
- global creation
- temp11=input(messages[12])
- totalDice=diceRoll(messages)
- p1Position=player1PositionsValue.index(1)
- p2Position=player2PositionsValue.index(1)
- if p2Position+totalDice > 49:
- print(messages[15])
- win=True
- print(messages[16])
- ans=input(str("").lower())
- if ans == "yes" or ans == "y" or ans == "1":
- creation=False
- playerPositions=[]
- alternatingTurn(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- else:
- print(messages[17])
- else:
- player2PositionsValue[p2Position]=""
- player2PositionsValue[p2Position+totalDice+1]=1
- if p1Position == p2Position:
- playerPositions[p2Position]=" % &"
- playerPositions[p2Position+totalDice+1]=" &"
- else:
- playerPositions[p2Position]=" "
- playerPositions[p2Position+totalDice+1]=" &"
- gridStorage(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- #this function welcomes the user to the program by printing messages in order
- def welcome(messages):
- print(messages[2])
- print(messages[3])
- print(messages[4])
- print(messages[5])
- temp1=input()
- print(messages[6])
- temp1=input()
- print(messages[7])
- print(messages[8])
- print(messages[9])
- print(messages[10])
- #this function runs through player 1 and 2's turns alternately
- def alternatingTurn(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions):
- global win
- messages=messagesReading()
- welcome(messages)
- playerPositions=gridStorage(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- while win == False:
- moveP1(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- moveP2(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
- #starts the program
- alternatingTurn(messages,playerPositions,player1PositionsValue,player2PositionsValue,positions)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement