JSFiddle - React, Tailwind, and code Playground

JavaScript

//var r=Math.random();
function d1(r) {
    s = '-----\n';
    s += '|' + (r>1?'o ':'  ') + (r>3?'o':' ') + '|\n';
    s += '|' + (r==6?'o o':(r%2==1?' o ':'   ')) + '|\n';
    s += '|' + (r>3?'o ':'  ') + (r>1?'o':' ') + '|\n';
    s += '-----';
    return s;
}

function d2() {
    r=(M=Math).floor(M.random()*6+1);
    s=[[r>1,0,r>3],[r>5,r&1,r>5],[r>3,0,r>1]];
    s=[[e?'o':' ' for each(e in t)].join('') for each(t in s)];
    return('-----\n|'+s.join('|\n|')+'|\n-----');
}

function d3() {
    r=1+Math.random()*6|0;
    s='-----\n';
    s+='|'+(r>1?'o ':'  ')+(r>3?'o':' ')+'|\n';
    s+='|'+(r-6?' ':'o');
    return s+(r%2-1?' ':'o')+s.split('').reverse().join('');
}

function d4() {
    r=Math.random()*6|0;
    s='-----\n';
    s+='|'+(r>0?'o ':'  ')+(r>2?'o':' ')+'|\n';
    s+='|'+(r-5?' ':'o');
    return s+(r%2?' ':'o')+s.split('').reverse().join('');
}

var w = function(s){document.writeln("<pre>" + s + "</pre>")};

var m=d4();
w(m);

// golfed version 1
// r=(M=Math).floor(M.random()*6+1);alert('-----\n|'+[[e?'o':' ' for each(e in t)].join('') for each(t in [[r>1,0,r>3],[r>5,r&1,r>5],[r>3,0,r>1]])].join('|\n|')+'|\n-----');

// golfed version 2
// r=1+Math.random()*6|0;s='-----\n|'+(r>1?'o ':'  ')+(r>3?'o':' ')+'|\n|'+(r-6?' ':'o');alert(s+(r%2-1?' ':'o')+s.split('').reverse().join(''))

// golfed version 3
// r=Math.random()*6|0;s='-----\n|'+(r>0?'o ':'  ')+(r>2?'o':' ')+'|\n|'+(r-5?' ':'o');alert(s+(r%2?' ':'o')+s.split('').reverse().join(''))