Well, you have not shown the error message which would save me guessing! (Use SHOW ERROR) However, I can see the following errors:
1) you cannot specify scale and precision values for parameters, i.e. should just say:
create or replace procedure upd_balance(
p_pnr number,p_amount number)...
2) Variable v_nr is not declared - you meant v_pnr!
BTW, why are you copying the parameters into variables anyway? And why not just update without selecting first? Why not just:
create or replace procedure upd_balance(
p_pnr number,p_amount number)
is
begin
update player
set balance=balance+p_amount
where pnr=p_pnr;
end upd_balance;
/
Also, beware of NULL values - you may need to code:
set balance=NVL(balance,0)+NVL(p_amount,0)