WOW, ok. I got an idea. Why not use this sort of thing in a danger room? Load up a cart with a thousand wooden training spears, and then BLAMMO! Have Urist McDodgeStick stand directly behind the stationary cart so the thing fires directly into his face!
Better keep a fortification between him and the carts, or the formerly stationary cart will flatten him.
Hmm, would this train shield/weapon skills, or just armor user? More importantly... how do you make this repeatable? Loading up a thousand training spears by dwarf power will take forever.
Repeatability is simple: build the spears into an Upright Spear trap and link it to a repeating lever.
And yes, it would train shield and weapon skills, as well as dodge. Flying objects -- be they fired, thrown, or launched -- can be either swatted away (weapon skills), blocked (shield or armor, depending) or dodged. The frequency of each of those depends on the skills the
victim trainee already possesses, so if you have a Legendary Axedwarf with no shield skill equipped with both an axe and a shield, he's much more likely to "swat aside" flying objects than to block them with his shield, further training his already legendary skill while neglecting the one you'd want to train up.
That said, I don't think current combat mechanics allow more than one dodge/block/parry at a time, so a thousand training spears hitting at once would probably favor Armor User training and/or break every bone and bruise every organ in the target's body.