Why does Hamlet swear Horatio and Marcellus to secrecy?

a. He is plotting against Claudius with Prince Fortinbras of Norway.

b. He is planning a surprise for Ophelia and doesn't want them to spoil it.

c. He intends to act crazy around the castle and doesn't want them to give him away.

d. He is planning a birthday party for Queen Gertrude.