Search

Solution Cart

Remove item Thumbnail image Product Price Quantity Subtotal
× You are required to develop a takeaway order management system for a restaurant that delivers pizza and pasta. Your program should maintain a list of customer orders that need to be delivered at any one time. When first run, it should present the user with a menu with the following options: 1. Enter the details of a customer order, which is then added to the order list. 2. Deliver an order, and remove it from the list. The next order to be delivered should always be the order that has been on the list for the longest time. The details of the delivered order should be printed to the screen. 3. Print out details of all the orders in the list. 4. Exit the program. This menu should continue running in a loop until Option 4 is selected by the user. An order's details consist of: - a list of food items - a customer name - a customer contact number - a delivery address - the meal type of the order, i.e., whether or not it is vegetarian, vegan, or contains meat. This information should be determined by the program, based on the food items contained in the order. If there is any food item with meat in the order, then the order's meal type is classed as 'meat'. If there are no meat items but some vegetarian items, then the order is classed as 'vegetarian'. For an order to be classed as 'vegan', there must be no food items that are meat or vegetarian. - a total cost, which is calculated by the program. This is the sum of the prices of all the food items in the order. - A pizza has a list of toppings, which can be one or more of any combination of the following six items: ham, cheese, pineapple, mushrooms, tomato, seafood. For a pizza to be vegetarian, it must not contain ham or seafood. For a pizza to be vegan, it must not contain ham, seafood, or cheese. - A pasta meal has only a single topping, which is one of the following four items: bolognese (meat), marinara (meat), primavera (vegetarian), tomato (vegan). - Pizza and pasta without any toppings can be assumed to be vegan. Each food item also has an associated price, which is calculated by the program as follows: - The base price of either a pizza or pasta meal is $11.50. - Each pizza topping adds an extra $2, except pineapple which adds $2.50 and seafood which adds $3.50. - For the pasta toppings, tomato adds $4, bolognese and primavera each add $5.20, and marinara adds $6.80. For full marks, your design should contain all of the following: - inheritance, with an abstract class as the super class. - an interface which ensures that the price and meal type can always be retrieved from both food items and orders - at least one enum type - at least four classes overall (including the abstract class). Code design and correctness (35 marks) High-level functionality (7 marks) - Implementing overall main menu structure correctly - Adding an entered order correctly to the order list - Removing the oldest order from the order list, and printing that order's details to the screen (using appropriate calls to toString methods) - Printing all order details (using appropriate calls to toString methods) Correctly retrieving and storing order details (8 marks) - Storing the customer's name, contact number, and delivery address with the order - Allowing the user to enter a list of food items, which are stored with the order - Allowing the user to define multiple toppings for each pizza item, and a single topping for each pasta item Price and meal type calculations (8 marks) - Ensuring prices of orders and food items are calculated and reported correctly - Ensuring meal types (meat/vegetarian/vegan) of orders and food items are calculated and reported correctly Design requirements (12 marks) - Sensible overall class design and adherence to good design principles - Modularisation of complex tasks within classes - Validation checks on user input - Appropriate and correct use of inheritance - Appropriate and correct use of an abstract class - Correct use of an interface to ensure price and meal type are implemented as required - Appropriate and correct use of enum type You are required to develop a takeaway order management system for a restaurant that delivers pizza… $10.00
$10.00
× Your task is to implement in Python the following adversarial search algorithms (refer to lecture slides and/or your textbook for details | pseudocode provided below): MiniMax (as specified by the MINIMAX-SEARCH pseudocode below) When the game is complete, your program should display a corresponding message: X WON or O WON TIE X LOST or O LOST MiniMax with alpha-beta pruning (as specified by the ALPHA-BETA-SEARCH pseudocode below), and apply them to play the game of Tic-Tac-Toe (computer). Using any other approach is not going to be accepted. Problem input/command line interface: Your program should: Accept three (3) command line arguments, so your code could be executed with python cs480_P01_AXXXXXXXX.py ALGO FIRST MODE where: - cs480_P01_AXXXXXXXX.py is your python code file name, - ALGO specifies which algorithm the computer player will use: 1 - MiniMax, 2 - MiniMax with alpha-beta pruning, - FIRST specifies who begins the game: X When it is human player's turn, your program should display the following prompt: X's move. What is your move (possible moves at the moment are: | enter 0 to exit the game)? where: is a sorted list of all available moves at the moment, for example, if the board arrangement is: and it is X's move, the prompt should be: What is your move (possible moves at the moment are: 2, 3, 7, 9) | enter 0 to exit the game)? If the user enters anything other than 0/ valid move number (0 should terminate the game) your program should repeat the prompt above. Once the user enters a valid move, display the updated game board on screen. When it is the computer's turn (regardless of the game mode), your program should display (it could be an 'X' or 'O' move): X's selected move: Z. Number of search tree nodes generated: A.A.A where: - Z is the move/action number (a positive integer from the {1, 2, 3, 4, 5, 6, 7, 8, 9} set) selected by computer - A.A.A is the number of search tree nodes generated (the number of MiniMax nodes computer explored before making the decision [including "root"]) to select it. Follow it with the updated game board on screen. - NOTE!!! Computer's search tree move exploration order should be in a sorted fashion (1, 2, 3, 4, 5, 6, 7, 8, 9 | assuming HERE that ALL moves are available). 2 - computer (X) versus computer (O), Example: python cs480_P01_A11111111.py 2 X 1 If the number of arguments provided is NOT three (none, one, two or more than three) or arguments are invalid (incorrect ALGO, FIRST or MODE) your program should display the following error message: ERROR: Not enough/too many/illegal input arguments. and exit. Program details: Specific program details: The Tic-Tac-Toe game board is represented by 3x3 grid with cells numbered as follows - Possible moves/actions for both players match cell numbers (if a player wants to place an 'X' in the middle of the board, the move/action is '5'), Your program should begin by displaying the following information: Last Name, First Name, Axxxxxxxx solution: Algorithm: MiniMax with alpha-beta pruning First: X Mode: human versus computer where: - Axxxxxxxx is your IIT A number, - Algorithm is the algorithm specified by a command line argument, - First is the information who makes the first move as specified by a command line argument, - Mode is the game mode as specified by a command line argument, If the game mode is human versus computer display an empty board first and prompt the user to pick the move (see below) Your task is to implement in Python the following adversarial search algorithms refer to lecture $10.00
$10.00

Cart totals

Subtotal $20.00
Total $20.00

You may be interested in…

Free Worldwide shipping

On all orders above $50

Easy 30 days returns

30 days money back guarantee

International Warranty

Offered in the country of usage

100% Secure Checkout

PayPal / MasterCard / Visa