diff --git a/articles/tutorials/building_2d_games/10_handling_input/index.md b/articles/tutorials/building_2d_games/10_handling_input/index.md index e8a93ca5..fb358e86 100644 --- a/articles/tutorials/building_2d_games/10_handling_input/index.md +++ b/articles/tutorials/building_2d_games/10_handling_input/index.md @@ -146,7 +146,7 @@ The thumbstick values are represented as a [**Vector2**](xref:Microsoft.Xna.Fram - X-axis: A value between `-1.0f` (pushed fully to the left) and `1.0f` (pushed fully to the right). - Y-axis: A value between `-1.0f` (pushed fully downward) and `1.0f` (pushed fully upward). -For example, if you wanted to move a sprite using the left thumbstick, you could do the following +For example, if you wanted to move a sprite using the left thumbstick, you could do the following: [!code-csharp[](./snippets/thumbstick.cs)] @@ -331,7 +331,7 @@ For our game, we are going to implement keyboard and gamepad controls based on t | [Keys.D] and [Keys.Right] | [Thumbstick.Left.X] and [Buttons.DPadRight] | Moves the slime right on the screen. | | [Keys.Space] | [Buttons.A] | Increased the speed of the slime. | -Open `Game1.cs` and update it with the following: +Open `Game1.cs` the *DungeonSlime* project and update it with the following: [!code-csharp[](./snippets/game1.cs?highlight=17-21,60-64,69-157,168)] @@ -390,7 +390,7 @@ A basic input buffer can be implemented using a queue data structure, which foll > > This contrasts with a [`Stack`](https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.stack-1?view=net-9.0>), which follows Last In, First Out (LIFO) behavior, where the most recently added item is the first one retrieved. -The size of an input buffer is an important design decision. If it's too small, players might still feel the game isn't responsive enough. If it's too large, the game might feel like it's playing itself by working through a backlog of commands. +The size of an input buffer is an important design decision. If it is too small, players might still feel the game is not responsive enough. If it is too large, the game might feel like it is playing itself by working through a backlog of commands. ### When to Use Input Buffering @@ -401,7 +401,7 @@ Consider implementing input buffering in your game when: - Actions require precise timing that is difficult for players to hit consistently. - You want to allow players to "queue up" their next few moves. -We'll see a practical implementation of input buffering in [Chapter 23](../23_completing_the_game/index.md) when we finalize our snake-like game mechanics, where timing and direction changes are critical to gameplay. +We will see a practical implementation of input buffering in [Chapter 23](../23_completing_the_game/index.md) when we finalize our snake-like game mechanics, where timing and direction changes are critical to gameplay. ## Conclusion diff --git a/articles/tutorials/building_2d_games/23_completing_the_game/index.md b/articles/tutorials/building_2d_games/23_completing_the_game/index.md index 9fb9cb7b..697ae71f 100644 --- a/articles/tutorials/building_2d_games/23_completing_the_game/index.md +++ b/articles/tutorials/building_2d_games/23_completing_the_game/index.md @@ -315,7 +315,7 @@ Implementing the input buffering technique we introduced in [Chapter 10](../10_h ### Implementing Input Buffering in the Slime Class -For the `Slime` class, we will implement input buffering based on the example given using a `Queue` in [Chapter 10](../10_handling_input/index.md#implementing-a-simple-input-buffer). In the `GameObject` folder of the `DungeonSlime` project (your main game project), open the `Slime.cs` file so we can make the changes. +For the `Slime` class, we will implement input buffering based on the example given using a `Queue` in [Chapter 10](../10_handling_input/index.md#implementing-a-simple-input-buffer). In the `GameObject` folder of the *DungeonSlime* project (your main game project), open the `Slime.cs` file so we can make the changes. First, update the using statements at the top of the `Slime` class to add the `System.Linq` using statement: diff --git a/articles/tutorials/building_2d_games/25_packaging_game/index.md b/articles/tutorials/building_2d_games/25_packaging_game/index.md index 22c81214..49a36f2a 100644 --- a/articles/tutorials/building_2d_games/25_packaging_game/index.md +++ b/articles/tutorials/building_2d_games/25_packaging_game/index.md @@ -180,7 +180,7 @@ To create this structure, from the same terminal window: > [!NOTE] > This moves the `Content` directory to the expected location for resources in a macOS application bundles. -5. Create a new file called *Info.plist* in the *Contents* directory of the application bundle with the following command: +5. Create a new file called `Info.plist` in the `Contents` directory of the application bundle with the following command: ```sh touch bin/Release/DungeonSlime.app/Contents/Info.plist @@ -189,7 +189,7 @@ To create this structure, from the same terminal window: > [!NOTE] > The `touch` command creates an empty file if it does not exist or updates the modification time if it does exist. We are using it here to create a blank file that we will populate with content in the next step. -6. Open the *Info.plist* file you just created in a text editor and add the following content to the file and save it. +6. Open the `Info.plist` file you just created in a text editor and add the following content to the file and save it. [!code-xml[](./snippets/info.plist?highlight=8,10,12,16,30)] @@ -216,7 +216,7 @@ To create this structure, from the same terminal window: > For more information on the `Info.plist` manifest file, refer to the [About Info.plist Keys and Values](https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html) Apple Developer documentation. -7. Next, create the application bundle *.icns* icon file. To do this, perform the following: +7. Next, create the application bundle `.icns` icon file. To do this, perform the following: 1. First, you will need a `.png` file that can be used to create the icon set for the final `.icns` output. If you already have a `.png` icon for your game, ensure it is in the root of the main project directory and is named `Icon.png`. If you do not have one already prepared, you can use the `Icon.bmp` that was generated in the root of the main project directory when you initially created the project. However, it will need to be converted to a `.png` first. To do this, execute the following command: