>>10
> getchar();から制御が帰ってきているかはどうやって確認すればいいのでしょうか?

デバッガのステップ実行をしてみて、
getchar 関数の次に制御が移動するかを確認する。

標準入力に1文字入力されるまでgetchar関数は制御を戻さない。
コンソール画面でEnterキーを押さないで、これバグってると泣いてるバカを
この板で過去に3人ほど見た記憶がある。

> visibleとは、マーカが見えているか否かを計算して出される値で、0以上であればマーカが見えているということになります。

もっと正確に。
visibleは見えているマーカーの数を表しているのか。
それとも、マーカーが1個でも見えていれば0以上の適当な値になるのか。
それとも、必要なマーカー全てが見えなければ0未満の値になるのか。

どれにしても、あなたのプログラムだとvisibleが0以上なら、
その下の else if にも else にも制御が移らないわけだが、
それは仕様通りの動作なのか?


>>12
音はループ再生されるそうだが