Homework 2: Add BarFLy to WestWorldwithMessaging: 60 points For this assignment, you will add a BarFly character to the WestWorldWithMessaging program. To do this you will have to make a copy of WestWorldWithMessaging. To do this, from inside NetBeans, open-project the WestWorldWithMessaging directory so that it appears as a project in NetBeans, Right-click on it, which will reveal a menu of commands; click on "Copy...". In the copy project window, you will see a "Browse" button; click on that and create a new directory inside of the AI_Examples directory. That is where you want to put the copy. You might want to call this new directory "MyProjects". Now you want to modify this copy from inside of the NetBean IDE. You will need to make at least the following changes. 1. Add at least two new messages to the MessageTypes.java file. I suggest that these messages be Msg_YouMountainDwarf and Msg_RightJabToJaw. You might add more if you want to have more interaction between Bob and the BarFly. 2. Modify EntityName.java so that there is a new character. This new character needs to be given a name, such as Clyde or Slim. 3. You will have to create a new file called BarFly.java and define the BarFly class in it. It should resemble the Miner or MinersWife class, though it will be much simpler: fewer variables and methods. 4. An instance of the BarFly class needs to be added to main.java. Follow the example of how instances of Bod and Elsa were created in the main.java file. Note that there has to be a new call to EntityMgr for the new character, and in the main loop there has to be a call to the character's Update method. 5. You need to create at least one state for the BarFly character. More may be needed if you have an elaborate interaction between Bob and the BarFly. 6. You will also have to modify Bob's QuenchThirst state so that its OnMessage method will respond to the insult message sent by the BarFly character. It should print out an appropriate dialog from Bob and send the RightJabToJaw message to the BarFly character. When the new character receives this message, he will emit a appropriate text to the screen, such as "Thud, I fall to the floor" or "ZZZZ". Follow the examples of text for Bob and Elsa using the cout method (which is defined elsewhere in the project and which ultimately calls System.out.println to print the text). The minimal behavior that I envision for Bob and the new character is this. Bob enters the saloon. The state for the new character accesses Bob's location and if the location is the saloon, it sends the insult message to Bob. (It also couts a text to the screen so that we can see the insult.) When Bob's QuenchThirst receives the insult telegram, it then couts a comment to the screen and sends the RightJab telegram back to the sender. The state of the new character couts something appropriates as mentioned above showing that the fight is over. You are welcome to make a more elaborate interaction if you want, though that may require more states for Bob and the new character. You have two weeks to do this assignment. Turn in a copy of your BarFly.java file, the OnMessage method you wrote for Bob, and a screenshot showing the dialog between Bob and the new character. It does not have to show all the dialog between Bob and Elsa.