ball=NDSolve[{y''[t]==-9.81,y[0]==13.5,y'[0]==0,WhenEvent[y[t]==0,y'[t]->-0.95y'[t]]},y,{t,0,10}];

kin[v_]:=.5 v^2;
pot[y_]:=9.8y;
energy[y_,v_]:=kin[v]+pot[y];
GraphicsGrid[{{Plot[y[t]/.ball,{t,0,10},AxesLabel->{"t","y"}],Plot[Evaluate[{kin[y'[t]],pot[y[t]],energy[y[t],y'[t]]}/.ball],{t,0,10},Filling->{3->0},AxesLabel->{"t","energy"}]}}]

{ballsteps,{points}}=NDSolve[{x''[t]==0,y''[t]==-9.8,y[0]==6,y'[0]==0,x[0]==0,x'[0]==1,a[0]==5,WhenEvent[Mod[x[t],1]==0,If[a[t]>0,a[t]->a[t]-1,"RemoveEvent"]],WhenEvent[y[t]==a[t],{{x'[t],y'[t]}->.9{x'[t], -y'[t]},Sow[{x[t],y[t]}]}]},{x,y,a},{t,0,15},DiscreteVariables->{a}]//Reap;

GraphicsGrid[{{Show[ParametricPlot[Evaluate[{{x[t],y[t]},{x[t],a[t]}} /. ballsteps],{t,0,15},ImageSize->300,Epilog->{Red,PointSize[Medium],Point[points]}], Plot[{0,Floor[6-x]},{x,-1,15}, Filling->{2->0}, Exclusions->None],Frame->{{True,False},{True,False}},FrameLabel->{"x","y"}],Plot[Evaluate[{kin[y'[t]],pot[y[t]],energy[y[t],Norm[{x'[t],y'[t]}]]}/.ballsteps],{t,0,15},Filling->{3->0},Frame->{{True,False},{True,False}},FrameLabel->{"t","energy"},Ticks->None]}}]