Intentions
The Random Architecture Program is an architecture program generator. It is supplied with a number of words in a database, and currently offers 6,497,280 possible combinations.
How it works
The javascript has several arrays of words:
- Program
- Adjective
- Job
- Adjective
When loaded, the page displays a random sequence of these four words, for example: “Bureau de poste post-moderne de chanteur loufoque”.
Additionally, we added a script to draw a random line drawing on the screen in the background.
var array_1_feminin = ["Philharmonie", "Maison", "Gare", "Aire d'autoroute", "Station-service", "Cantine", "École", "Maisonnette", "Cabane", "Cité-jardin", "Clinique", "Crèche", "Piscine", "Discothèque", "Usine", "Mairie", "Résidence pour personnes âgées", "Maison de vacances", "Halle", "Église", "Synagogue", "Mosquée"]
var array_1_masculin = ["Aéroport", "Centre de loisirs", "Centre de plongée", "Centre culturel", "Opéra", "Immeuble", "Logement social", "Tribunal", "Cabanon", "Chalet", "Hopital", "Institut", "Musée", "Hôtel", "Camping", "Centre équestre", "Plateau de téléréalité", "Stade", "Théâtre", "Cinéma", "Club", "Supermarché", "Centre commercial", "Magasin", "Garage", "Spa", "Château d'eau", "Château", "Palais", "Siège social", "Monument", "Port", "Phare", "Hangar", "Atelier", "Fablab", "Centre sportif", "Palais des congrès", "Parc d'exposition", "Bureau de poste", "Bar", "Temple"]
var array_2_feminin = ["", "imaginaire", "dynamique", "disruptive", "circulaire", "monumentale", "étroite", "déformée", "exigüe", "géométrique", "primitive", "volumineuse", "simple", "immense", "déconstruite", "carrée", "antique", "vide", "compacte", "accidentée", "souple", "silencieuse", "sableuse", "argentée", "blanche", "bleue", "moderne", "post-moderne", "contemporaine", "post-internet", "Art Moderne", "harmonieuse", "généreuse", "magnifique", "séduisante", "sombre", "splendide", "collective", "écologique", "hardcore", "bétonnée", "en bois", "en plastique", "en béton", "métallique", "en porte-à-faux", "humide"]
var array_2_masculin = ["", "imaginaire", "dynamique", "disruptif", "circulaire", "monumental", "étroit", "déformé", "exigü", "géométrique", "primitif", "volumineux", "simple", "immense", "déconstruit", "carré", "antique", "vide", "compact", "accidenté", "souple", "silencieux", "sableux", "argenté", "blanc", "bleu", "moderne", "post-moderne", "contemporain", "post-internet", "Art Moderne", "harmonieux", "généreux", "magnifique", "séduisant", "sombre", "splendide", "collectif", "écologique", "hardcore", "bétonné", "en bois", "en plastique", "en béton", "métallique", "en porte-à-faux", "humide"]
var array_3_feminin = ["d'avocate", "de consultante", "de start-uppeuse", "de notaire", "de médecin", "d'acheteuse", "d'actrice", "d'actuaire", "d'affréteuse", "d'agricultrice", "d'aide de laboratoire", "d'aide-soignante", "d'ambulancière", "d'analyste", "d'animatrice", "d'antiquaire", "d'apicultrice", "d'archéologue", "d'architecte", "d'artiste-peintre", "d'assistante vétérinaire", "d'astronaute", "d'astronome", "d'attachée de presse", "d'aviatrice", "de banquière", "de bibliothécaire", "de bijoutière", "de biologiste", "de bouchère", "de boulangère", "de bûcheronne", "de cardiologue", "de cartographe", "de caviste", "de chanteuse", "de xylophoniste", "de chocolatière", "de Wedding Planneuse", "d'instagrammeuse", "de web dévelopeuse", "de dentiste", "d'investisseure", "de lobbyiste", "de consultante", "de trader", "d'experte comptable", "de chercheuse"]
var array_3_masculin = ["d'avocat", "de consultant", "de start-upper", "de notaire", "de médecin", "d'acheteur", "d'acteur", "d'actuaire", "d'affréteur", "d'agriculteur", "d'aide de laboratoire", "d'aide-soignant", "d'ambulancier", "d'analyste", "d'animateur", "d'antiquaire", "d'apiculteur", "d'archéologue", "d'architecte", "d'artiste-peintre", "d'assistant vétérinaire", "d'astronaute", "d'astronome", "d'attaché de presse", "d'aviateur", "de banquier", "de bibliothécaire", "de bijoutier", "de biologiste", "de boucher", "de boulanger", "de bûcheron", "de cardiologue", "de cartographe", "de caviste", "de chanteur", "de xylophoniste", "de chocolatier", "de Wedding Planner", "d'instagrammeur", "de web dévelopeur", "de dentiste", "d'investisseur", "de lobbyiste", "de consultant", "de trader", "d'expert comptable", "de chercheur"]
var array_4_feminin = ["dépressive", "ingénieuse", "désillusionnée", "ennuyée", "merveilleuse", "dynamique", "propre sur soi", "parfaite", "sauvage", "séduisante", "snob", "agressive", "ambitieuse", "avare", "fêtarde", "combative", "chaleureuse", "désagréable", "généreuse", "franche", "loufoque", "lâche", "jalouse", "mystérieuse", "sincère", "solitaire", "vorace", "sûre de soi", "timide", "tranquille", "frustrée", "coquine", "coupable", "prétentieuse", "prudente", "capitaliste", "anarchiste", "révolutionnaire", "autonomiste", "optimiste", "pessimiste", "critique", "hypocrite", "illuminée", "confinée"]
var array_4_masculin = ["dépressif", "ingénieux", "désillusionné", "ennuyé", "merveilleux", "dynamique", "propre sur soi", "parfait", "sauvage", "séduisant", "snob", "agressif", "ambitieux", "avare", "fêtard", "combatif", "chaleureux", "désagréable", "généreux", "franc", "loufoque", "lâche", "jaloux", "mystérieux", "sincère", "solitaire", "vorace", "sûr de soi", "timide", "tranquille", "frustré", "coquin", "coupable", "prétentieux", "prudent", "capitaliste", "anarchiste", "révolutionnaire", "autonomiste", "optimiste", "pessimiste", "critique", "hypocrite", "illuminé", "confiné"]
function reloadFunction() {
var random_1 = Math.round(Math.random())
if (random_1 == 1) {
var array_1_id = Math.floor(Math.random() * array_1_feminin.length);
var array_1_sample = array_1_feminin[array_1_id];
var array_2_id = Math.floor(Math.random() * array_2_feminin.length);
var array_2_sample = array_2_feminin[array_2_id];
document.getElementById("array_1").innerHTML = array_1_sample;
document.getElementById("array_2").innerHTML = array_2_sample;
} else {
var array_1_id = Math.floor(Math.random() * array_1_masculin.length);
var array_1_sample = array_1_masculin[array_1_id];
var array_2_id = Math.floor(Math.random() * array_2_masculin.length);
var array_2_sample = array_2_masculin[array_2_id];
document.getElementById("array_1").innerHTML = array_1_sample;
document.getElementById("array_2").innerHTML = array_2_sample;
}
var random_2 = Math.round(Math.random())
if (random_2 == 1) {
var array_3_id = Math.floor(Math.random() * array_3_feminin.length);
var array_3_sample = array_3_feminin[array_3_id];
var array_4_id = Math.floor(Math.random() * array_4_feminin.length);
var array_4_sample = array_4_feminin[array_4_id];
document.getElementById("array_3").innerHTML = array_3_sample;
document.getElementById("array_4").innerHTML = array_4_sample;
} else {
var array_3_id = Math.floor(Math.random() * array_3_masculin.length);
var array_3_sample = array_3_masculin[array_3_id];
var array_4_id = Math.floor(Math.random() * array_4_masculin.length);
var array_4_sample = array_4_masculin[array_4_id];
document.getElementById("array_3").innerHTML = array_3_sample;
document.getElementById("array_4").innerHTML = array_4_sample;
}
var canvas = document.querySelector('canvas');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
var c = canvas.getContext('2d');
c.beginPath();
c.lineWidth = 10;
c.lineJoin = 'round';
c.moveTo(300, 200);
for (var i = 0; i < 10; i++) {
var x = Math.random() * window.innerWidth;
var y = Math.random() * window.innerHeight;
var gray = 230
var hue = 'rgb(' + gray + ',' + gray + ',' + gray + ')';
c.lineTo(x, y);
}
c.strokeStyle = hue;
c.stroke();
}Repository
The repository of the website is hosted on Gitlab and public, you can find it here.
Stack
This website is made of vanilla HTML+CSS+JS, and has no external dependency.