<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="edit_on_doubleclick" content="/">
<meta name="robots" content="index,nofollow">

<title>MapGenerator - ProloWiki</title>
<script type="text/javascript" src="/moin_static197/common/js/common.js"></script>

<script type="text/javascript">
<!--
var search_hint = "Search";
//-->
</script>

<script type="text/javascript">
<!-- // GUI edit link and i18n
var gui_editor_link_href = "/MapGenerator?action=edit&editor=gui";
var gui_editor_link_text = "Edit (GUI)";
//-->
</script>

<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static197/modernized/css/common.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/moin_static197/modernized/css/screen.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/moin_static197/modernized/css/print.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/moin_static197/modernized/css/projection.css">

<!-- css only for MS IE6/IE7 browsers -->
<!--[if lt IE 8]>
   <link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/moin_static197/modernized/css/msie.css">
<![endif]-->


<link rel="alternate" title="ProloWiki: MapGenerator" href="/MapGenerator?diffs=1&amp;show_att=1&amp;action=rss_rc&amp;unique=0&amp;page=MapGenerator&amp;ddiffs=1" type="application/rss+xml">
<link rel="alternate" type="application/wiki" title="Edit" href="/MapGenerator?action=edit">

<link rel="Start" href="/Wiki">
<link rel="Alternate" title="Wiki Markup" href="/MapGenerator?action=raw">
<link rel="Alternate" media="print" title="Print View" href="/MapGenerator?action=print">
<link rel="Search" href="/FindPage">
<link rel="Index" href="/TitleIndex">
<link rel="Glossary" href="/WordIndex">
<link rel="Help" href="/HelpOnFormatting">
</head>

<body  lang="en" dir="ltr">

<div id="header">

<form id="searchform" method="get" action="/MapGenerator">
<div>
<input type="hidden" name="action" value="fullsearch">
<input type="hidden" name="context" value="180">
<label for="searchinput">Search:</label>
<input id="searchinput" type="text" name="value" value="" size="20"
    onfocus="searchFocus(this)" onblur="searchBlur(this)"
    onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
<input id="titlesearch" name="titlesearch" type="submit"
    value="Titles" alt="Search Titles">
<input id="fullsearch" name="fullsearch" type="submit"
    value="Text" alt="Search Full Text">
</div>
</form>
<script type="text/javascript">
<!--// Initialize search form
var f = document.getElementById('searchform');
f.getElementsByTagName('label')[0].style.display = 'none';
var e = document.getElementById('searchinput');
searchChange(e);
searchBlur(e);
//-->
</script>


<div id="username"><a href="/MapGenerator?action=login" id="login" rel="nofollow">Login</a></div>
<h1 id="locationline">

<span id="pagelocation"><a class="backlink" href="/MapGenerator?action=fullsearch&amp;value=linkto%3A%22MapGenerator%22&amp;context=180" rel="nofollow" title="Click to do a full-text search for this title">MapGenerator</a></span>
</h1>


<ul id="navibar">
<li class="wikilink"><a href="/RecentChanges">RecentChanges</a></li><li class="wikilink"><a href="/FindPage">FindPage</a></li><li class="wikilink"><a class="nonexistent" href="/HelpContents">HelpContents</a></li><li class="current"><a href="/MapGenerator">MapGenerator</a></li>
</ul>

<div id="pageline"><hr style="display:none;"></div>

<ul class="editbar"><li><a href="/MapGenerator?action=edit&amp;editor=text" name="texteditlink" rel="nofollow">Edit (Text)</a></li><li class="toggleCommentsButton" style="display:none;"><a href="#" class="nbcomment" onClick="toggleComments();return false;">Comments</a></li><li><a class="nbinfo" href="/MapGenerator?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/MapGenerator?action=AttachFile" rel="nofollow">Attachments</a></li><li>
<form class="actionsmenu" method="GET" action="/MapGenerator">
<div>
    <label>More Actions:</label>
    <select name="action"
        onchange="if ((this.selectedIndex != 0) &&
                      (this.options[this.selectedIndex].disabled == false)) {
                this.form.submit();
            }
            this.selectedIndex = 0;">
        <option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="show" disabled class="disabled">Subscribe User</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="show" disabled class="disabled">Remove Spam</option>
<option value="show" disabled class="disabled">Revert to this revision</option>
<option value="PackagePages">Package Pages</option>
<option value="SyncPages">Sync Pages</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="Load">Load</option>
<option value="Save">Save</option>
<option value="SlideShow">SlideShow</option>
    </select>
    <input type="submit" value="Do">
    
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>

</div>

<div id="page" lang="fr" dir="ltr">
<div dir="ltr" id="content" lang="fr"><span class="anchor" id="top"></span>
<span class="anchor" id="line-1"></span><p class="line874">Voici un petit générateur de carte mal codé en C++11, si ça en éclate certains. <span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span><span class="anchor" id="line-4"></span><p class="line867">
<h2 id="Code_du_g.2BAOk-n.2BAOk-rateur">Code du générateur</h2>
<span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span><p class="line867"><span class="anchor" id="line-7"></span><span class="anchor" id="line-8"></span><span class="anchor" id="line-9"></span><span class="anchor" id="line-10"></span><span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span><span class="anchor" id="line-13"></span><span class="anchor" id="line-14"></span><span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span><span class="anchor" id="line-17"></span><span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span><span class="anchor" id="line-21"></span><span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span><span class="anchor" id="line-25"></span><span class="anchor" id="line-26"></span><span class="anchor" id="line-27"></span><span class="anchor" id="line-28"></span><span class="anchor" id="line-29"></span><span class="anchor" id="line-30"></span><span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span><span class="anchor" id="line-33"></span><span class="anchor" id="line-34"></span><span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></span><span class="anchor" id="line-37"></span><span class="anchor" id="line-38"></span><span class="anchor" id="line-39"></span><span class="anchor" id="line-40"></span><span class="anchor" id="line-41"></span><span class="anchor" id="line-42"></span><span class="anchor" id="line-43"></span><span class="anchor" id="line-44"></span><span class="anchor" id="line-45"></span><span class="anchor" id="line-46"></span><span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></span><span class="anchor" id="line-49"></span><span class="anchor" id="line-50"></span><span class="anchor" id="line-51"></span><span class="anchor" id="line-52"></span><span class="anchor" id="line-53"></span><span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><span class="anchor" id="line-56"></span><span class="anchor" id="line-57"></span><span class="anchor" id="line-58"></span><span class="anchor" id="line-59"></span><span class="anchor" id="line-60"></span><span class="anchor" id="line-61"></span><span class="anchor" id="line-62"></span><span class="anchor" id="line-63"></span><span class="anchor" id="line-64"></span><pre><span class="anchor" id="line-1"></span>#include &lt;iostream&gt;
<span class="anchor" id="line-2"></span>#include &lt;random&gt;
<span class="anchor" id="line-3"></span>
<span class="anchor" id="line-4"></span>
<span class="anchor" id="line-5"></span>struct Map_Data
<span class="anchor" id="line-6"></span>{
<span class="anchor" id="line-7"></span>    static const unsigned int width=32u, height=32u;
<span class="anchor" id="line-8"></span>    char cells[width][height];
<span class="anchor" id="line-9"></span>    unsigned int pl1_x, pl1_y, pl2_x, pl2_y;
<span class="anchor" id="line-10"></span>};
<span class="anchor" id="line-11"></span>
<span class="anchor" id="line-12"></span>
<span class="anchor" id="line-13"></span>int main (int argc, const char *argv[])
<span class="anchor" id="line-14"></span>{
<span class="anchor" id="line-15"></span>    double isl_freq=.1, volc_freq=.4;
<span class="anchor" id="line-16"></span>    std::cerr &lt;&lt; "Veuillez entrer la fréquence des îles par case dans l'intervalle [0 ; 1]."
<span class="anchor" id="line-17"></span>              &lt;&lt; std::endl;
<span class="anchor" id="line-18"></span>    std::cin &gt;&gt; isl_freq;
<span class="anchor" id="line-19"></span>    std::cerr &lt;&lt; "Veuillez entrer la fréquence des volcans par île dans le même intervalle."
<span class="anchor" id="line-20"></span>              &lt;&lt; std::endl;
<span class="anchor" id="line-21"></span>    std::cin &gt;&gt; volc_freq;
<span class="anchor" id="line-22"></span>
<span class="anchor" id="line-23"></span>    std::random_device rd;
<span class="anchor" id="line-24"></span>    std::mt19937 gen(rd());
<span class="anchor" id="line-25"></span>    std::uniform_real_distribution&lt;&gt; dis(0.,1.);
<span class="anchor" id="line-26"></span>    Map_Data my_map;
<span class="anchor" id="line-27"></span>    unsigned int x, y;
<span class="anchor" id="line-28"></span>    for (x=0u;x&lt;my_map.width;x++)
<span class="anchor" id="line-29"></span>        for (y=0u;y&lt;my_map.height;y++)
<span class="anchor" id="line-30"></span>            if (dis(gen)&lt;isl_freq)
<span class="anchor" id="line-31"></span>                if (dis(gen)&lt;volc_freq)
<span class="anchor" id="line-32"></span>                    my_map.cells[x][y]='^';
<span class="anchor" id="line-33"></span>                else
<span class="anchor" id="line-34"></span>                    my_map.cells[x][y]='o';
<span class="anchor" id="line-35"></span>            else
<span class="anchor" id="line-36"></span>                my_map.cells[x][y]='~';
<span class="anchor" id="line-37"></span>
<span class="anchor" id="line-38"></span>    std::uniform_int_distribution&lt;&gt; pl_dis(0,31);
<span class="anchor" id="line-39"></span>    do
<span class="anchor" id="line-40"></span>        my_map.pl1_x=pl_dis(gen), my_map.pl1_y=pl_dis(gen);
<span class="anchor" id="line-41"></span>    while (my_map.cells[my_map.pl1_x][my_map.pl1_y]!='o');
<span class="anchor" id="line-42"></span>    do
<span class="anchor" id="line-43"></span>        my_map.pl2_x=pl_dis(gen), my_map.pl2_y=pl_dis(gen);
<span class="anchor" id="line-44"></span>    while ((my_map.cells[my_map.pl2_x][my_map.pl2_y]!='o')
<span class="anchor" id="line-45"></span>         ||((my_map.pl1_x==my_map.pl2_x)&amp;&amp;(my_map.pl1_y==my_map.pl2_y)));
<span class="anchor" id="line-46"></span>
<span class="anchor" id="line-47"></span>    std::cout &lt;&lt; my_map.pl1_x &lt;&lt; ' ' &lt;&lt; my_map.pl1_y &lt;&lt; std::endl
<span class="anchor" id="line-48"></span>              &lt;&lt; my_map.pl2_x &lt;&lt; ' ' &lt;&lt; my_map.pl2_y &lt;&lt; std::endl;
<span class="anchor" id="line-49"></span>    for (y=0u;y&lt;my_map.height;y++)
<span class="anchor" id="line-50"></span>    {
<span class="anchor" id="line-51"></span>        for (x=0u;x&lt;my_map.width;x++)
<span class="anchor" id="line-52"></span>            std::cout &lt;&lt; my_map.cells[x][y];
<span class="anchor" id="line-53"></span>        std::cout &lt;&lt; std::endl;
<span class="anchor" id="line-54"></span>    }
<span class="anchor" id="line-55"></span>
<span class="anchor" id="line-56"></span>    return 0;
<span class="anchor" id="line-57"></span>}</pre><span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span><span class="anchor" id="line-67"></span><p class="line867">
<h2 id="Lancement">Lancement</h2>
<span class="anchor" id="line-68"></span><span class="anchor" id="line-69"></span><p class="line867">
<h3 id="Compilation">Compilation</h3>
<span class="anchor" id="line-70"></span><span class="anchor" id="line-71"></span><p class="line874">Si vous avez enregistré ce code dans un fichier map_generator.cc : <span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span><p class="line867"><span class="anchor" id="line-74"></span><span class="anchor" id="line-75"></span><pre><span class="anchor" id="line-1-1"></span>g++ map_generator.cc -o map_generator -std=c++11</pre><span class="anchor" id="line-76"></span><span class="anchor" id="line-77"></span><p class="line867">
<h3 id="Ex.2BAOk-cution">Exécution</h3>
<span class="anchor" id="line-78"></span><span class="anchor" id="line-79"></span><p class="line867"><span class="anchor" id="line-80"></span><span class="anchor" id="line-81"></span><pre><span class="anchor" id="line-1-2"></span>./map_generator &gt; carte.map</pre><span class="anchor" id="line-82"></span><span class="anchor" id="line-83"></span><p class="line874">Vous pouvez éventuellement fournir un fichier d'entrée également <span class="anchor" id="line-84"></span>afin de ne pas avoir besoin de fournir à chaque fois les valeurs demandées. <span class="anchor" id="line-85"></span><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">MapGenerator  (last edited 2013-05-09 20:03:04 by <span title="??? @ pas-r03p01.prolo[192.168.0.32]">pas-r03p01</span>)</p>

<div id="pagebottom"></div>
</div>


<div id="footer">
<ul class="editbar"><li><a href="/MapGenerator?action=edit&amp;editor=text" name="texteditlink" rel="nofollow">Edit (Text)</a></li><li class="toggleCommentsButton" style="display:none;"><a href="#" class="nbcomment" onClick="toggleComments();return false;">Comments</a></li><li><a class="nbinfo" href="/MapGenerator?action=info" rel="nofollow">Info</a></li><li><a class="nbattachments" href="/MapGenerator?action=AttachFile" rel="nofollow">Attachments</a></li><li>
<form class="actionsmenu" method="GET" action="/MapGenerator">
<div>
    <label>More Actions:</label>
    <select name="action"
        onchange="if ((this.selectedIndex != 0) &&
                      (this.options[this.selectedIndex].disabled == false)) {
                this.form.submit();
            }
            this.selectedIndex = 0;">
        <option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="show" disabled class="disabled">Subscribe User</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="show" disabled class="disabled">Remove Spam</option>
<option value="show" disabled class="disabled">Revert to this revision</option>
<option value="PackagePages">Package Pages</option>
<option value="SyncPages">Sync Pages</option>
<option value="show" disabled class="disabled">------------------------</option>
<option value="Load">Load</option>
<option value="Save">Save</option>
<option value="SlideShow">SlideShow</option>
    </select>
    <input type="submit" value="Do">
    
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>

<ul id="credits">
<li><a href="http://moinmo.in/" title="This site uses the MoinMoin Wiki software.">MoinMoin Powered</a></li><li><a href="http://moinmo.in/Python" title="MoinMoin is written in Python.">Python Powered</a></li><li><a href="http://moinmo.in/GPL" title="MoinMoin is GPL licensed.">GPL licensed</a></li><li><a href="http://validator.w3.org/check?uri=referer" title="Click here to validate this page.">Valid HTML 4.01</a></li>
</ul>


</div>
</body>
</html>

