R, 43 bytes
function(v)rank(c(11,0,10,1:4*0,2:4)[v])[1]
The function returns 2
for 'greater than'
, 1
for 'less than'
, 1.5
for 'equal'
Explanation :
c(11,0,10,1:4*0,2:4)[v] # extract the score of each card in v;
# cards in v are used as indexes in the
# scores vector c(11,0,10,0,0,0,0,2,3,4)
rank( )[1] # rank returns : c(1, 2) if v[1] < v[2]
# c(2, 1) if v[1] > v[2]
# c(1.5,1.5) if v[1] == v[2]
# and we select the first value