C#での動かし方の質問です。

マップ上を自動で歩き回る敵のオブジェクトを作ろうと思っています。
各方向に壁があるかを調べるために、本体から前、左右、後の4方向に判定を伸ばします。
そのうち、例えば前方と右に壁がないことがわかった時、その2方向からどちらかを抽選して
そちらに移動する・・・ということをやりたいと思っています。
その時、前方は60%、左右は30%、後ろは10%など変化をつけたいと思っています。

それぞれの判定が壁にぶつかったかどうかの判定はできると思うのですが、
その中から「壁にぶつかった」ものを選び、その中で抽選をする・・・という部分が
どうやるべきかがなかなか思いつきません。

こういう時に使うべき命令や、手法など、ヒントでもいいので頂けると助かります。
C#、というかプログラム自体が勉強し始めたばかりなので
ifやforを使って変数をこねくり回すのがやっとというくらいなので
わかりやすい言葉で教えていただけるとなお助かります。