I have been trying to test the first entry point of this game which is play. But when it tries to compile it, there's some error showing. How do I proceed or is there something I am missing?

[%%version 0.4]

type game = {

number : nat;

bet : tez;

player : key_hash;

}

type storage = {

game : game option;

oracle_id : address;

}

let%entry play (number : nat) storage =

if number>100p then Current.failwith "number must be <=100";

if 2p.Current.amount()>Current.balance() then Current.failwith"less balance";

match storage.game with

|some g -> failwith ("game has already started",g)

|None ->

let bet = Current.amount() in

let storage = storage.game <- Some {number, bet, player} in

(([]:operation list),storage)