PHP (7.4), 91 bytes
Generates the output string using a template string and strtr array replacement mode.
fn($s,$e,$m,$w)=>strtr(' 0
3(121)4',['&|\/'[$s],'^.oO'[$e],'v.oO'[$m],' ('[$w],' )'[$w]])
PHP (7.4), 93 bytes
Generates the output string as it goes on.
fn($s,$e,$m,$w)=>' '.'&|\/'[$s].'
'.' ('[$w].'('.($y='^.oO'[$e]).'v.oO'[$m]."$y)".' )'[$w];
PHP (7.4), 93 bytes
fn($s,$e,$m,$w)=>' '.'&|\/'[$s].'
'.' ('[$w].'('.($y='^.oO'[$e]).'v.oO'[$m]."$y)".' )'[$w];
PHP (7.4), 91 bytes
Generates the output string using a template string and strtr array replacement mode.
fn($s,$e,$m,$w)=>strtr(' 0
3(121)4',['&|\/'[$s],'^.oO'[$e],'v.oO'[$m],' ('[$w],' )'[$w]])
PHP (7.4), 93 bytes
Generates the output string as it goes on.
fn($s,$e,$m,$w)=>' '.'&|\/'[$s].'
'.' ('[$w].'('.($y='^.oO'[$e]).'v.oO'[$m]."$y)".' )'[$w];