flag_enflag_fricon_affiliationicon_cardsicon_charactersicon_chequeicon_coeuricon_compteicon_diceicon_discordicon_discounticon_facebookicon_figurineicon_filtericon_gifticon_helmeticon_instagramicon_lightningicon_meeple_circleicon_meepleicon_meeplesicon_megaphoneicon_opinion-bubbleicon_pandaicon_paniericon_pen-brushicon_percenticon_playicon_postmanicon_ribbonicon_rocketicon_rssicon_sherifficon_smiley-negativeicon_smiley-positiveicon_sorticon_staricon_swordsicon_tankicon_threadsicon_thumbsicon_tiktokicon_top-gamesicon_towericon_twitchicon_twittericon_videoicon_wishlisticon_blueskyicon_youtubeillus_bankwireillus_bubbleillus_cashondeliveryillus_cb_paypalillus_CBillus_chequeillus_rating-starslogo_paypallogo_philibert_noel_bonnetlogo_philibert_noel_tabletlogo_philibert_noellogo_philibertlogo_ukoo

Découvrez les nouveautés de la semaine et les jeux bientôt disponibles !

Aux portes de Loyang

INT-LOY01

Aux portes de Loyang est le troisième volume de la trilogie de Uwe Rosenberg, après Agricola et Le Havre. Retrouvez dans ce jeu tous les aspects des jeux de gestion de l'auteur allemand.
  • Français
  • à partir de 10 ans
  • 2 à 3h
  • 1 à 4 joueur(s)

Les avis ludiques sur ce jeu

39,95 €

Disponible

Frais de port à partir de 1,95€ - Offerts à partir de 60€ (France métro.)

Ajouter à une liste :

Listes d'envies

À vous de travailler à un meilleur approvisionnement des denrées alimentaires de base pour profiter de la progression économique de cette ville florissante.
Cultivez, stockez, vendez... et prenez bien soin de vos clients réguliers sous peine d'être mal vu par la communauté !
Ce classique de Uwe Rosenberg (Agricola, Caverna...) propose tous les aspects de ses jeux de gestion désormais cultes, tout en permettant à des joueurs plus novices de participer facilement.

Ce jeu apparaît dans les Tops Jeux de nos joueurs

  • Mon top jeux

    (29 avis positifs)

  • Top Solo

    (11 avis positifs)

  • La ludothèque dans le couloir

    par Nepoulas

    (4 avis positifs)

*Voir nos conditions de Frais de port

Disponible en occasion à partir de ' + data.occasion_from_price + '

'); } } else { console.error('ukoosummary : ' + data.message); } } }); } // START - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) function checkAjaxLoadRequired() { $(document).find('.ajax_module_block').each(function() { if ($(this).hasClass('ajax_module_block') && elementInView(this)) { $(this).removeClass('ajax_module_block'); var params = []; params.module = $(this).data('module'); params.id = $(this).attr('id'); if (typeof $(this).data('id_product') !== undefined) { params.id_product = $(this).data('id_product'); } loadDeferedHomeBlock(params); } }); // Pour optim : si tous les blocs sont chargés, on désactive le listener // sur le scroll pour l'event "checkAjaxLoadRequired" if (!$(document).find('.ajax_module_block').length) { $(window).off('scroll', checkAjaxLoadRequired); } } function loadDeferedHomeBlock(params) { var url_parameters = ''; if (typeof params.id_product !== 'undefined') { url_parameters = '?id_product=' + parseInt(params.id_product); } $.ajax({ type: 'GET', url: baseDir + 'modules/' + params.module + '/ajax_delayed.php' + url_parameters, dataType: 'json', contentType: 'json', success: function(data) { if (data.status === 'ok') { var content = data.content; if (params.module === 'blockviewed' || params.module === 'antadisblog') { $('#' + params.id).html(content); } else if (params.module === 'ukooreviews') { $('#' + params.id + ' .ajax_block_loader').first().replaceWith($(content).find('.uk-reviews-home__products-container')[0]); $('#' + params.id + ' .ajax_block_loader').last().replaceWith($(content).find('.uk-reviews-home__products-container')[1]); } else if (params.module === 'youtubewall') { $('#' + params.id + ' .title_block').append($(content).find('#youtuwall-subscribe-custom')); $('#' + params.id + ' .ajax_block_loader').replaceWith($(content).find('#youtuwall')); } else { // [ukoo_gilles] [2019-12-19 10:55] -> bugfix - on cible le 1er élément ul uniquement sinon la // structure HTML injectée n'est plus bonne content = $(content).find('ul').first(); $('#' + params.id + ' .ajax_block_loader').replaceWith(content); if (!$('#' + params.id).find('.ajax_block_product').length) { $('#' + params.id).find('.view-more').remove(); } } // l'id contenu dans params.id n'existe maintenant plus dans le DOM if (params.module === 'blockviewed') { if (typeof ajaxCart !== 'undefined') { ajaxCart.overrideButtonsInThePage(); } $("#product #viewed-products_block_left .owl-carousel").owlCarousel({ responsive: { 0: { items: 1 }, 1024: { items: 2 }, 1380: { items: 3 } }, margin: 15, autoplay: false, autoplayTimeout: 3000, autoplayHoverPause: true, nav: true, rewind: true, lazyLoad: true }); } } else if (data.status === 'error') { console.log(data.message); } }, error: function(jqXHR, textStatus, errorThrown) { alert(textStatus); }, }); } function elementInView(elem) { var elementTop = $(elem).offset().top; var elementBottom = elementTop + $(elem).outerHeight(); var viewportTop = $(window).scrollTop(); var viewportBottom = viewportTop + $(window).innerHeight(); return elementBottom > viewportTop && elementTop < viewportBottom; } // END - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) $(document).ready(function() { // START - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) // on lance une première fois le chargement différé des blocs qui sont déjà dans le champ de vision // au chargement de la page if ($(document).find('.ajax_module_block').length) { checkAjaxLoadRequired(); // lors du scroll, on relance le chargement des blocs différés $(window).scroll(checkAjaxLoadRequired); } // END - Chargement différés "à la demande" de certains blocs module (ayant la classe ajax_module_block) }); $(document).on('click', '.dfd-icon-xl', function(event){ let doofinderInput = $('.dfd-searchbox-main input'); $('#search_query_top').val(doofinderInput.val()); $('#searchbox').submit(); event.stopPropagation(); }); $(document).on('keypress', '.dfd-searchbox-main input', function(event){ let keycode = (event.keyCode ? event.keyCode : event.which); if (keycode == '13') { let doofinderInput = $('.dfd-searchbox-main input'); $('#search_query_top').val(doofinderInput.val()); $('#searchbox').submit(); event.stopPropagation(); } }); -->