\ animation - boxes bouncing off picture \ with lines between boxes \ Lab 2 Summer 2015 - boxes replaced by emoji \ πŸ‘·πŸ‘ΈπŸ‘ΉπŸ‘ΊπŸ‘»πŸ‘ΌπŸ‘½πŸ‘ΎπŸ‘ΏπŸ’€πŸ’πŸ’‚πŸ’ƒ \ Roger's day off \ πŸ‡¬πŸ‡§πŸŒπŸ“±πŸ”ŒπŸ˜΄πŸ’€β°πŸ“’πŸ’­πŸšΏπŸ‘•β˜•οΈπŸ³πŸ’†πŸ½πŸ•§πŸš™πŸƒπŸ»πŸ•›β›…οΈπŸŒ±πŸŽΎπŸ‘ŠπŸΌβœ¨πŸšΏπŸ“πŸš—πŸπŸ–πŸ«πŸ¦β˜•οΈπŸ˜„πŸ’†πŸ½πŸ“ΊπŸŽΎπŸ˜€β˜€οΈπŸ’­πŸ’‘πŸŽ―πŸ˜‹πŸ‘‹πŸΌπŸ”š \ Andy's wedding day \ πŸŒžβ˜”πŸ˜‚πŸ‘”πŸ’…πŸ’‡πŸ˜‚πŸ‘°πŸ˜‚πŸš—πŸ’’πŸ’ƒπŸ‘«πŸ™πŸ’πŸ’πŸ‘πŸ“πŸŽΉπŸ“·πŸŽ₯πŸš—πŸ·πŸ΄πŸŽ‚πŸŽŠπŸŽ‰πŸ‘―πŸŽΆπŸŽ€πŸΉπŸ»πŸ·πŸΊπŸ©πŸ¦πŸ·πŸΉπŸΈπŸΊπŸŒ™β€πŸ’•πŸ˜˜πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€πŸ’€ const numboxes=10,emojisize=30,delay=50; var xbox{numboxes},ybox{numboxes}, xincr{numboxes},yincr{numboxes}, emojinum{numboxes}, i,j,picnum; procedure movebox(i); \ Move box i, bouncing off wall if needed var bounced; begin bounced:=0; \ flag for need to change emoji xbox{i}:=xbox{i}+xincr{i}; if xbox{i}<10 then if xincr{i}<0 then begin xincr{i}:= -xincr{i}; bounced:=1 end; if xbox{i}>490 then if xincr{i}>0 then begin xincr{i}:= -xincr{i}; bounced:=1 end; ybox{i}:=ybox{i}+yincr{i}; if ybox{i}<10 then if yincr{i}<0 then begin yincr{i}:= -yincr{i}; bounced:=1 end; if ybox{i}>290 then if yincr{i}>0 then begin yincr{i}:= -yincr{i}; bounced:=1 end; if bounced=1 then begin emojinum{i}:=emojinum{i}+1; if emojinum{i}>emojicount then emojinum{i}:=1 end end; begin call cvclear; picnum:=1; i:=0; while i -1 do begin call cvclear; call cvdraw(picnum,cvx-40,cvy-50,80,100); i:=0; while icvx-45 then if xbox{i}cvy-55 then if ybox{i}-1 then begin call cvasclick; picnum:=picnum+1; if picnum=4 then picnum:=1 end end; call cvclear end end.