They became a network naval battle. For some reason, I wanted to do something as a first project, a networked, universal one, so that people could still play with it. So, a month of effort, and meet. He is ready! At first, I wanted to use the praised Domain services, but somehow I didn’t grow together right away. Therefore, for communication, I used Workflow services. This is a surprisingly convenient communication tool. You write logic blocks - Activity (I wrote code activity) with input and output parameters, and then insert them into the Workflow service. Moreover, I had only one XAMLX file. He automatically generated the interaction interface (Service contract), I had a Pick activity in the root, and inside the branches I already had a Receive activity that received the parameters and sent them for further execution. And look what happened: Sea battle online . If anyone is interested in the details, feel free to contact me and I will tell you what's what. ')
Here is a screenshot: