Train your aim and this also might help with reaction time...
Row 1
1. [impulse] /scoreboard objectives add timer dummy
2. [chain] /scoreboard objectives add var dummy
3. [chain] /scoreboard objectives add amount dummy
4. [chain] /scoreboard objectives add random dummy
Row 2
5. [repeat] /execute as @e[tag=aimTrainer] at @s if block ~ ~ ~ #minecraft:buttons[powered=true] run tag @s add aimTrainerStarted
6. [chain] /execute as @e[tag=aimTrainerStarted] at @s run scoreboard players add @s timer 1
7. [chain] /execute as @e[tag=aimTrainerStarted] at @s store result entity @s Rotation[0] float 1 run random value -180..180
8. [chain] /execute as @e[tag=aimTrainerStarted] at @s store result entity @s Rotation[1] float 1 run random value -90..0
9. [chain] /execute as @e[tag=aimTrainerStarted] at @s if score @s timer matches 0.. unless entity @e[tag=aimTarget] run scoreboard players add @s var 1
10. [chain] /execute as @e[tag=aimTrainerStarted] at @s if score @s timer matches 0.. unless entity @e[tag=aimTarget] run summon minecraft:armor_stand ^ ^ ^3 {Tags:["aimTarget"],NoGravity:1}
11. [chain] /execute as @e[tag=aimTrainerStarted] at @s if score @s timer matches 600.. run tellraw @a ["Your Score is: ",{"score":{"name":"@s","objective":"var"}}]
12. [chain] /execute as @e[tag=aimTrainerStarted] at @s if score @s timer matches 600.. run scoreboard players reset @s var
13. [chain] /execute as @e[tag=aimTrainerStarted] at @s if score @s timer matches 600.. run tag @s remove aimTrainerStarted
14. [chain] /execute as @e[tag=aimTrainer] at @s if score @s timer matches 600.. run scoreboard players reset @s timer
Row 3
15. [repeat] /execute as @e[tag=itemTrainer] at @s if block ~ ~ ~ #minecraft:buttons[powered=true] run tag @s add itemTrainerStarted
16. [chain] /execute as @e[tag=itemTrainerStarted] at @s run scoreboard players add @s timer 1
17. [chain] /execute as @a at @s if entity @e[tag=itemTrainerStarted,distance=..5] store result score @s amount run data get entity @s SelectedItem.id
18. [chain] /execute as @e[tag=itemTrainerStarted] at @s store result score @s amount run data get entity @s equipment.head.id
19. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s amount = @p amount run scoreboard players add @s var 1
20. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s amount = @p amount run playsound minecraft:block.stone_button.click_on ambient @a ~ ~ ~ 10 1
21. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s amount = @p amount store result score @s random run random value 1..9
22. [chain] /execute as @e[tag=itemTrainerStarted] at @s unless score @s random matches 0.. store result score @s random run random value 1..9
23. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 1 run item replace entity @s armor.head with minecraft:melon
24. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 2 run item replace entity @s armor.head with minecraft:sponge
25. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 3 run item replace entity @s armor.head with minecraft:pumpkin
26. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 4 run item replace entity @s armor.head with minecraft:red_concrete
27. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 5 run item replace entity @s armor.head with minecraft:pink_concrete
28. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 6 run item replace entity @s armor.head with minecraft:white_concrete
29. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 7 run item replace entity @s armor.head with minecraft:purple_concrete
30. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 8 run item replace entity @s armor.head with minecraft:magenta_concrete
31. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s random matches 9 run item replace entity @s armor.head with minecraft:light_blue_concrete
32. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s timer matches 600.. run tellraw @a ["Your Item Score is: ",{"score":{"name":"@s","objective":"var"}}]
33. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s timer matches 600.. run scoreboard players reset @s var
34. [chain] /execute as @e[tag=itemTrainerStarted] at @s if score @s timer matches 600.. run tag @s remove itemTrainerStarted
35. [chain] /execute as @e[tag=itemTrainer] at @s if score @s timer matches 600.. run scoreboard players reset @s random
36. [chain] /execute as @e[tag=itemTrainer] at @s if score @s timer matches 600.. run scoreboard players reset @s timer