Sure, here's an implementation of the game you described in a single HTML file:
This game has a blue square representing the player and a red square representing the opponent. The player moves left and right using the left and right arrow keys respectively. The player can punch by pressing the up arrow key and perform an uppercut by holding the down arrow key and then pressing the up arrow key. The hitboxes for punches are the same as the player's square, and the hitboxes stay for a specific duration. The player and opponent both have 100 HP, and damage is deducted accordingly.
Please note that this code is a simple implementation to give you an idea of how the game can be created. You can enhance it further with additional features and improvements as per your requirements.