1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
serg [7]
3 years ago
9

In this lab, you will develop a game, "Tic Tac Toe". Assume there are two players; the computer and theuser.Initially you will

create the board, a 3x3 matrix, and fill it out with zeros.Ask user to start first, and record the user’s input as 1You can ask the user to enter the row first than the column (for ex; the user can enter 2 and 1,then the code shouldupdate the value of second row first column)The computer should make random moves, and the computer input should be recorded as 2After each move, check if someone wins, and display the boardDisplay the result (who wins and the board)Create as much helper functions as needed.Divide and ConquerSampleRun:board = [[0,0, 0],[0,0, 0],[0,0,0]]enter the row;2enter the column;1board = [[0,0, 0],[1,0, 0],[0,0,0]]the computer playsboard = [[0,2, 0],[1,0,0],[0,0,0]]CS103-Lab9Page4of6enter the row;2enter the column;2board = [[0,2, 0],[1,1, 0],[0,0,0]]the computer playsboard = [[0,2, 0],[1,1, 0],[0,0,2]]enter the row;2enter the column;3board = [[0,2, 0],[1,1,1],[0,0,2]]Game Over !!!!Winner: The User

Computers and Technology
1 answer:
Aleonysh [2.5K]3 years ago
4 0

Answer:

Code:

# importing all necessary libraries

import numpy as np

import random

# Select a random place for the player

def play(board, player):

selection = availableSpots(board)

if player==1:

row=(int)(input("Enter the row :"))

column=(int)(input("Enter the column :"))

current_loc=(row-1,column-1)

while current_loc not in selection:

print("Invalid Input. Please give again")

row=(int)(input("Enter the row :"))

column=(int)(input("Enter the column :"))

current_loc=(row-1,column-1)

else:

current_loc = random.choice(selection)

board[current_loc] = player

return board

# Check for empty places on board

def availableSpots(board):

  l = []

  for i in range(len(board)):

      for j in range(len(board)):

          if board[i][j] == 0:

              l.append((i, j))

  return(l)

# Creates an empty board

def create_board():

  return(np.array([[0, 0, 0],

                  [0, 0, 0],

                  [0, 0, 0]]))

# Checks whether the player has three

# of their marks in a horizontal row

def row_win(board, player):

  for x in range(len(board)):

      win = True

      for y in range(len(board)):

          if board[x, y] != player:

              win = False

              continue

      if win == True:

          return(win)

  return(win)

# Checks whether the player has three

# of their marks in a vertical row

def col_win(board, player):

  for x in range(len(board)):

      win = True

      for y in range(len(board)):

          if board[y][x] != player:

              win = False

              continue

      if win == True:

          return(win)

  return(win)

# Checks whether the player has three

# of their marks in a diagonal row

def diag_win(board, player):

  win = True

  for x in range(len(board)):

      if board[x, x] != player:

          win = False

  return(win)

# Evaluates whether there is

# a winner or a tie

def evaluate(board):

  winner = 0

  for player in [1, 2]:

      if (row_win(board, player) or

          col_win(board,player) or

          diag_win(board,player)):

          winner = player

  if np.all(board != 0) and winner == 0:

      winner = -1

  return winner

def printWinner(winner):

print("Game Over !!!")

if winner==1:

print("Player Wins")

elif winner==2:

print("Computer Wins")

else:

print("Nobody Wins")

# Main function to start the game

def play_game():

board, winner = create_board(), 0

print(board)

while winner == 0:

for player in [1, 2]:

board = play(board, player)

print("Board")

print(board)

winner = evaluate(board)

if winner != 0:

break

printWinner(winner)

play_game()

Explanation:

See screen shot of code and see final output

You might be interested in
A group of students take hundreds of digital photos for a science project about weather patterns. Each photo file contains data
lesya [120]

Analyzing the metadata would be more appropriate than analyzing the data when: determining the likelihood that the photo was taken at a particular public event.

<h3>What is a data?</h3>

A data can be defined as a representation of instructions or information in a formalized manner, especially as a series of binary digits (bits).

<h3>What is a metadata?</h3>

A metadata can be defined as the data that provides information about one or more aspects of a given data, so as to provide a structured reference that helps to sort and identify all of its attributes such as:

  • Author
  • Date created
  • Date modified
  • File type
  • File size

In this scenario, analyzing the metadata would be more appropriate than analyzing the data when determining the likelihood that the photo was taken or created at a particular public event.

Read more on data here: brainly.com/question/25558534

6 0
2 years ago
A type of technology that can be attached to a tag and used to identify postal packages is a(n)
deff fn [24]

Answer: bar code

Explanation: that is what it is

5 0
3 years ago
PLEASE GET THE RIGHT ANSWERS AND HELP MEEE
Afina-wow [57]

Answer: #1 is A

Explanation: Parents often monitor what their child is doing online because online activities can be threatening and sometimes dangerous to a child's life, depending on what they come across on the web. just a hunch

4 0
3 years ago
Read 2 more answers
WILL GIVE BRAIINLIEST AND WATER ICE FROM RITA'S!!!!!!!!!
cricket20 [7]

Answer:

When you purchase a connecting flight, checked baggage is usually forwarded to your final destination, and will change planes when you do. ... In some cases if you purchased multiple tickets that are not all on the same carrier you may need to recheck your baggage

Explanation:

3 0
3 years ago
When is it appropriate to use images in presentations?
Svetach [21]
The answer to the question is c
7 0
4 years ago
Read 2 more answers
Other questions:
  • How many years does it take in total to complete Bachelor’s, Master’s, and Phd in CS?
    14·1 answer
  • All ofthe following are correct EXCEPT one option when it comes towriting disappointing news letters. Identify theexception.
    6·1 answer
  • During an interview, your non-verbal communication (body language, gestures, tone of voice, speed of talking,
    6·1 answer
  • Question 5 (10 points)
    12·1 answer
  • Which is the primary use of a word processor? create, edit, format, and print text-based documents maintain a database of record
    5·1 answer
  • Dzięńdobry kto ogarnia komędy w minicraft bardzo dobrze i by mi pomógł w stworzeniu serwera [dostanie w zamian range właścieciel
    5·1 answer
  • Green Field county stadium is planning to conduct a cricket match between two teams A and B. A large crowd is expected in the st
    6·1 answer
  • Which installation changes from the old information system to the new one incrementally, starting with one or a few functional c
    14·1 answer
  • How to convert a .enw file into a .pdf without downloading any applications? (If I have to, then I will. Just please tell me.)
    14·2 answers
  • Suppose you are developing a data visualization application DataViz which calls some functions from a statistics library class S
    5·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!