Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Could you please help me to write a pseudocode for this problem and program it with recursive function by JAVA. Thank you! In this programming

image text in transcribedimage text in transcribed

Could you please help me to write a pseudocode for this problem and program it with recursive function by JAVA. Thank you!

In this programming part you are asked to implement phase-1 of a game called #tictactoe. #tictactoe game consists of one row of any number of squares, where some of the squares store noughts and crosses (i.e., Os and Xs), and the remaining squares store the character "#". The squares storing the "#" character each hide their actual content which must be either an X or 0. an In this programming assignment, you will design in pseudo code and implement in Java two versions of #tictactoe game phase-1. A program that takes as input your game row of any length of random number of squares with X and O, and hidden squares with "#", and finds all possible rows of noughts and crosses that can be constructed by replacing the hidden squares (storing "#") with either X or 0. Version 1: In your first version, you must write a recursive method called UnHide which reads the row (and any other parameters; e.g., length, start index and end index of row, etc., if needed) and generates ALL possible combinations of that rows without the hidden # square. For example; given: a) A row [XOXX*00*XO], the method UnHide will display something like: XOXXOOOOXO XOXXODOXXO XOXXXOOOXO XOXXXOOXXO b) A row [XOXX*00*XOXX*O**] the method UnHide will display something like: XOXXOOOOXoXX0000 XOXXOOOOXOXXOOOX XOXXOOOOXOXXOOXO XOXXOOOOXOXXOOXX XOXXOOOOXOXXX000 XOXXOOOOXOXXXOOX XOXXO000XOXXXOXO XOXXOOOOXOXXXOXX XOXXOOOXXOXXO000 XOXXOOOXXOXXOOOX XOXXOOOXXOXXOOXO XOXXOOOXXOXXOOXX XOXXOOOXXOXXXOOO XOXXOOOXXOXXXOOX XOXXOOOXXOXXXOXO XOXXOOOXXOXXXOXX XOXXXOOOXOXXOO00 XOXXXOOOXOXXOOOX XOXXXOOOXOXXOOXO XOXXXOOOXOXXOOXX XOXXXOOOXoXXXOOO XOXXXOOOXOXXXOOX XOXXXOOOXOXXXOXO XOXXXOOOXOXXXOXX XOXXXOOXXOXXOO00 XOXXXOOXXOXXOOOX XOXXXOOXXOXXOOXO XOXXXOOXXOXXOOXX XOXXXOOXXOXXXOOO XOXXXOOXXOXXXOOX XOXXXOOXXOXXXOXO XOXXXOOXXOXXXOXX You will need to run the program multiple times. With each run, you will need to provide a random generated row size with a hidden # tail in an incremented number from 2, 4, 6, up to 100 (or higher value if required for your timing measurement) and measure the corresponding run time for each run. You can use Javas built-in time function for finding the execution time. You should redirect the output of each program to an out.txt file. You should write about your observations on timing measurements in a separate text file. You are required to submit the two fully commented Java source files, the compiled executables, and the text files. Briefly explain what is the complexity of your algorithm. More specifically, has your solution has an acceptable complexity; is it scalable enough; etc. If not, what are the reasons behind that? In this programming part you are asked to implement phase-1 of a game called #tictactoe. #tictactoe game consists of one row of any number of squares, where some of the squares store noughts and crosses (i.e., Os and Xs), and the remaining squares store the character "#". The squares storing the "#" character each hide their actual content which must be either an X or 0. an In this programming assignment, you will design in pseudo code and implement in Java two versions of #tictactoe game phase-1. A program that takes as input your game row of any length of random number of squares with X and O, and hidden squares with "#", and finds all possible rows of noughts and crosses that can be constructed by replacing the hidden squares (storing "#") with either X or 0. Version 1: In your first version, you must write a recursive method called UnHide which reads the row (and any other parameters; e.g., length, start index and end index of row, etc., if needed) and generates ALL possible combinations of that rows without the hidden # square. For example; given: a) A row [XOXX*00*XO], the method UnHide will display something like: XOXXOOOOXO XOXXODOXXO XOXXXOOOXO XOXXXOOXXO b) A row [XOXX*00*XOXX*O**] the method UnHide will display something like: XOXXOOOOXoXX0000 XOXXOOOOXOXXOOOX XOXXOOOOXOXXOOXO XOXXOOOOXOXXOOXX XOXXOOOOXOXXX000 XOXXOOOOXOXXXOOX XOXXO000XOXXXOXO XOXXOOOOXOXXXOXX XOXXOOOXXOXXO000 XOXXOOOXXOXXOOOX XOXXOOOXXOXXOOXO XOXXOOOXXOXXOOXX XOXXOOOXXOXXXOOO XOXXOOOXXOXXXOOX XOXXOOOXXOXXXOXO XOXXOOOXXOXXXOXX XOXXXOOOXOXXOO00 XOXXXOOOXOXXOOOX XOXXXOOOXOXXOOXO XOXXXOOOXOXXOOXX XOXXXOOOXoXXXOOO XOXXXOOOXOXXXOOX XOXXXOOOXOXXXOXO XOXXXOOOXOXXXOXX XOXXXOOXXOXXOO00 XOXXXOOXXOXXOOOX XOXXXOOXXOXXOOXO XOXXXOOXXOXXOOXX XOXXXOOXXOXXXOOO XOXXXOOXXOXXXOOX XOXXXOOXXOXXXOXO XOXXXOOXXOXXXOXX You will need to run the program multiple times. With each run, you will need to provide a random generated row size with a hidden # tail in an incremented number from 2, 4, 6, up to 100 (or higher value if required for your timing measurement) and measure the corresponding run time for each run. You can use Javas built-in time function for finding the execution time. You should redirect the output of each program to an out.txt file. You should write about your observations on timing measurements in a separate text file. You are required to submit the two fully commented Java source files, the compiled executables, and the text files. Briefly explain what is the complexity of your algorithm. More specifically, has your solution has an acceptable complexity; is it scalable enough; etc. If not, what are the reasons behind that

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database And Expert Systems Applications 33rd International Conference Dexa 2022 Vienna Austria August 22 24 2022 Proceedings Part 1 Lncs 13426

Authors: Christine Strauss ,Alfredo Cuzzocrea ,Gabriele Kotsis ,A Min Tjoa ,Ismail Khalil

1st Edition

3031124227, 978-3031124228

Students also viewed these Databases questions