Simulate a battle between two creatures
Perl, 254 + 1

for((@a[0..5],@b)=split;$a[1]&gt;0;@c=@a,@a=@b,@b=@c){say"$a[0] attacks $b[0]!\n",rand$b[5]/2&lt;rand$a[4]?do{($==rand($a[2])-rand$b[3]/2)&lt;1and$==1;"$a[0] hits $b[0] for $= damage!\n$b[0] has ",($b[1]-=$=)&gt;0?"$b[1] health left.":"been slain!"}:"$b[0] dodges!"}


Run with perl -nM5.010 (or perl -nE '&lt;code&gt;').  Per meta, the -n switch counts as one extra character.
No fancy golfing tricks in this code, except maybe the use of $= as the damage variable to save an int.

Edit: Hopefully, the damage calculation is correct now.