You can't say "all you need" when it's more complex than the alternative. It's not a big deal but it's still more complex.
While I agree that dice roll would be easier (because I too learned how to do that in my single C++ class) all you'd need is a win/fail state based on input and time, like "player must hit button 10 times in 3 seconds" or whatever parameters desired. You don't need to the AI to do anything at all.
Random dice roll at the end of the clash is a single line of code within a single frame of the execution.
Even just counting up a variable is something that needs to be done at a different place of the execution, because you still need to render every frame. Then it depends on how you handle inputs. Is it per frame, as the rest of the game only needed that? Do you have a more kernel like structure like modern games where inputs are running with interruptss or are they using two different variabled global ticks?
Simplicity wise, and you don't know how late in development that happened just doing it random works well enough.
Now you just add some Zynga monetization on it that improves that random chance by 20% and you have a F2P game.