モバイル2Dゲーム「言葉から言葉を作る」の開発

ある夏の夕方、私は地下鉄の仕事から家に車を運転していましたが、手紙から言葉を作る必要がある男でタブレットをプレイしている男を見ました。 タブレットにダウンロードし、プレイを開始しました。 しばらく遊んだ後、いくつかの機能をより快適に実装できることに気づき、おもちゃをもっと悪くすることができると判断して、仕事を始めました。













辞書を使用する



Oracleデータベースの使用経験があるため、そのデータベース(Oracle 11.2 XE)の処理を行うことにしました。 区切りテキストファイルの形式でインターネット上にいくつかの辞書をダウンロードし、外部テーブルメカニズムを使用してデータベースにロードしました。 ダウンロードされた単語から、長さが8〜10文字の700の名詞が選択されました。 これらは、プレイヤーが作成する文字の正確な単語になります。 次に、これらの700個の単語のそれぞれについて、その単語で構成できる単語のセットを選択する必要があります。 これを行うには、文字の出現で検索できるように、すべての単語にインデックスを付ける必要があります。









次の単語を使用して、テーブルの上にビューを作成します。







create or replace view words_parsed_v as select word, regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as , regexp_count(word, '') as  from words; --  5    select * from words_parsed_v where rownum <= 5;
      
      





言葉 でも b g d e まあ s そして 番目 l m n について n p t f x c h w あなたは b s b あの y 私は
水族館 2 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
水彩画 2 0 1 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
trench 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 1
一般的な 1 0 0 1 0 2 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
卒業証書 0 0 0 0 1 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


さらに、このビューを使用して、各「メイン」ワードの「埋め込み」ワードを見つけるための簡単なアルゴリズムが作成されます。







自動処理に加えて、名詞、スペルミスの修正などを除くすべての品詞をフィルタリングすることも手作業なしで可能であったことは注目に値します。







オンライン辞書との相互作用



辞書内のすべての単語が解釈されたわけではないため、私は倒錯しなければなりませんでした。 一定の間隔でオンライン辞書にアクセスし、説明を引き出す手順を書きました。 簡単な例は、手順のロジックを理解するのに役立ちます。







 create or replace function get_url_dic_academic(p_word varchar2) return varchar2 as begin return 'http://dic.academic.ru/searchall.php?SWord=' || p_word || '&from=xx&to=ru&did=&stype='; end; / select httpuritype(get_url_dic_academic('')).GetClob() as rst from dual;
      
      





最後のリクエストの結果は、ネタバレの下に隠されています。 これは、正規表現を使用して記述したパーサーによって処理されますが、ここで引用するコードについては意味がわかりません。







Rstクエリ結果
 <!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>    </title> <meta name="Description" content="    " /> <!--meta http-equiv="Content-Language" content="ru" /--> <meta name="Keywords" content=", , , , " /> <meta name="inmobi-site-verification" content="b8995e33d3169f217a2278195a66e8c3"> <script type="text/javascript" src="/js/adfox.asyn.code.ver3.js"> </script> <!--[if IE]> <meta http-equiv="cleartype" content="on" /> <meta http-equiv="msthemecompatible" content="no"/> <![endif]--> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1"> <meta name="revisit-after" content="15 days" /> <meta name="rating" content="safe for kids" /> <meta property="og:title" content="" /> <meta property="og:type" content="article" /> <meta property="og:url" content="" /> <meta property="og:image" content="/images/Logo_social_ru.png?3" /> <meta property="og:description" content="    " /> <meta property="og:site_name" content="    " /> <link rel="search" type="application/opensearchdescription+xml" title="    " href="/dicsearch.xml" /> <meta name="ROBOTS" content="NOINDEX, FOLLOW" /> <!-- DFP --> <script type='text/javascript'> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; (function() { var gads = document.createElement('script'); gads.async = true; gads.type = 'text/javascript'; var useSSL = 'https:' == document.location.protocol; gads.src = (useSSL ? 'https:' : 'http:') + '//www.googletagservices.com/tag/js/gpt.js'; var node = document.getElementsByTagName('script')[0]; node.parentNode.insertBefore(gads, node); })(); </script> <script type='text/javascript'> // --== Google DFP ==-- googletag.cmd.push(function() { googletag.defineSlot('/59581491/top_bnr', [[728, 90], [970, 90]], 'div-gpt-ad-topline').addService(googletag.pubads()); googletag.defineSlot('/59581491/right-top', [240, 400], 'div-gpt-ad-right-top').addService(googletag.pubads()); //googletag.defineSlot('/59581491/right_bnr', [240, 400], 'div-gpt-ad-right-1').addService(googletag.pubads()); //googletag.defineSlot('/59581491/right_bnr', [240, 400], 'div-gpt-ad-right-2').addService(googletag.pubads()); //       googletag.pubads().setTargeting("lang", "ru"); // ru, en, de, es, fr googletag.pubads().setTargeting("pageType", "search"); // main, article, search, book, contents googletag.pubads().setTargeting("segment", ""); //   googletag.pubads().collapseEmptyDivs(); googletag.pubads().enableSingleRequest(); googletag.enableServices(); }); </script> <!-- /DFP --> <style type="text/css">div.hidden,#TerminsNavigationBar,#ad_bottom,#ad_right,#ad_top,#ad_top2,#contextmenu,#dic-query,#footer ul+div,#lang,#langbar,#logo img.h,#restrictions,#search-box .translate-lang,#search-tabs,#sharemenu,#t-direction-head,#top-menu,#translate-arrow,.smm,div.autosuggest{display:none}p,ul{list-style-type:none;margin:0 0 15px}ul li{margin-bottom:6px}.content ul{list-style-type:disc}*{padding:0;margin:0}body,html{height:100%}body{padding:0;margin:0;color:#000;font:14px Helvetica,Arial,Tahoma,sans-serif;background:#fff;line-height:1.5em}a{color:#0d44a0;text-decoration:none}h1{font-size:24px;margin:0 0 18px}h2{font-size:20px;margin:0 0 14px}h3{font-size:16px;margin:0 0 10px}h1 a,h2 a{color:#454545!important}#page{margin:0 auto;min-height:100%;position:relative;padding-top:105px;width:745px;padding-right:255px}* html #page{height:100%}#header{position:relative;height:122px}#logo{float:left;margin-top:21px;width:125px}#logo a.img{width:90px;margin:0 0 0 16px}#logo a.img.logo-en{margin-left:13px}#logo a{display:block;font-size:12px;text-align:center;word-break:break-all}#site-title{padding-top:35px;margin:0 0 5px 135px}#site-title a{color:#000;font-size:18px;font-style:italic;display:block;font-weight:400}#search-box{margin-left:135px;border-top-right-radius:3px;border-bottom-right-radius:3px;padding:4px;position:relative;background:#abcf7e;min-height:33px}#search-box.dic{background:#896744}#search-box table{border-spacing:0;border-collapse:collapse;width:100%}#search-box table td{padding:0;vertical-align:middle}#search-box table td:first-child{padding-right:3px}#search-box table td:last-child{width:1px}#dic-query,#search-query,.translate-lang{padding:6px;font-size:16px;border:1px solid #949494;width:100%;box-sizing:border-box;height:32px;margin:0;background:#fff;float:left;border-radius:0!important}#search-button{width:70px;height:32px;text-align:center;border:1px solid #7a8e69;border-radius:3px;background:#e0e0e0}#search-tabs{display:block;margin:0 15px 0 135px;padding:0;list-style-type:none}#search-tabs li{float:left;min-width:70px;max-width:140px;padding:0 15px;height:23px;line-height:23px;background:#bde693;text-align:center;margin-right:1px}#search-box.dic+#search-tabs li{background:#C9A784}#search-tabs li:last-child{border-bottom-right-radius:3px}#search-tabs li a{color:#353535;font-style:italic;font-size:12px;display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#search-tabs li.active{height:22px;line-height:23px;position:relative;background:#abcf7e;border-bottom-left-radius:3px;border-bottom-right-radius:3px}#search-box.dic+#search-tabs li.active{background:#896744}#search-tabs li.active a{color:#fff}#content{clear:both;margin:30px 0;padding-left:15px}#content a{text-decoration:underline}#content .breadcrumb{margin-bottom:20px}#search_links,#search_sublinks{margin-bottom:8px;margin-left:-8px}#search_links a,#search_sublinks a{padding:3px 8px 1px;border-radius:2px}#search_links a.active,#search_sublinks a.active{color:#000!important;background:#bde693;text-decoration:none!important}.term{color:#8b4513}@media (max-width:767px){.hideForMobile{display:none}#header{height:auto}#page{padding:5px;width:auto}#logo{float:none;width:144px;text-align:left;margin:0;padding-top:5px}#logo a{height:44px;overflow:hidden;text-align:left}#logo img.h{display:initial;width:144px;height:44px}#logo img.v{display:none}#site-title{padding:0;margin:10px 0 5px}#search-box,#search-tabs{clear:both;margin:0;width:auto;padding:4px}#search-box.translate #search-query{width:100%;margin-bottom:4px}#search-box.translate #td-search{overflow:visible;display:table-cell}ul#search-tabs{white-space:nowrap;margin-top:5px;overflow-x:auto;overflow-y:hidden}ul#search-tabs li,ul#search-tabs li.active{background:0 0!important;box-shadow:none;min-width:0;padding:0 5px;float:none;display:inline-block}ul#search-tabs li a{border-bottom:1px dashed green;font-style:normal;color:green;font-size:16px}ul#search-tabs li.active a{color:#000;border-bottom-color:#fff;font-weight:700}ul#search-tabs li a:hover,ul#search-tabs li.active a:hover{color:#000}#content{margin:15px 0}}#search_results{margin-left:23px}.terms-list .item{float:left;margin:2px 0 0 -108px;position:relative;width:100px;color:#898989;font-size:11px;text-align:right}</style> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" sizes="16x16" /> <link rel="shortcut icon" href="/images/icon.ico" type="image/x-icon" sizes="32x32" /> <link rel="shortcut icon" href="/images/icon.ico" type="image/x-icon" sizes="48x48" /> <!--[if lt IE 9]> <script type="text/javascript" src="/js/html5shiv.js"></script> <![endif]--> <!--[if lte IE 8]> <script type="text/javascript" src="/js/ierange.js"></script> <![endif]--> <!--[if lte IE 6]> <script type="text/javascript" src="/js/ie-hover-pack.js"></script> <![endif]--> <!-- test --> <!-- Yandex --> <script type="text/javascript"><!-- yandex_site_charset = 'UTF-8'; //   var yandex_ad_fontSize = 1; //    var yandex_direct_fontColor = '000000'; var yandex_direct_titleColor = '0000CC'; var yandex_direct_siteurlColor = '006600'; var yandex_direct_linkColor = '0000CC'; function yandex_direct_print(){ } //    var yandex_market_fontColor = '000000'; // var yandex_market_BorderColor = 'E3D8F4'; var yandex_market_BorderColor = 'FFFFFF'; // 'E3D8F4'; var yandex_market_BgColor = 'FFFFFF'; // 'F5F1FB'; var yandex_market_headerBgColor = 'FFFFFF'; var yandex_market_catColor = '777278'; var yandex_market_offerlinkColor = '0B57AC'; var yandex_market_linkColor = '0B57AC'; function yandex_market_print(){ } //  .  var yandex_premium_fontColor = '000000'; var yandex_premium_titleColor = '0000CC'; var yandex_premium_siteurlColor = '006600'; function yandex_premium_print(){ } var yandex_r = Math.round(Math.random() * 100000); //--></script> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <script> (adsbygoogle = window.adsbygoogle || []).push({ google_ad_client: "ca-pub-8594606551930257", enable_page_level_ads: true }); </script> <script type="text/javascript" async src="https://relap.io/api/v6/head.js?token=JLTNw8NHQr9CHRgd"></script> <script type="text/javascript"> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-2754246-1', 'auto'); ga('require', 'displayfeatures'); // ga('set', 'dimension1', ''); ga('set', 'dimension2', 'search'); // ga('set', 'campaignKeyword', dimensionValue1); ga('send', 'pageview', {'dimension1':''}); </script> <script type="text/javascript"> if(typeof(console) == 'undefined' ) console = {}; if(typeof(console.log) == 'undefined' ) console.log = function(){}; if(typeof(console.warn) == 'undefined' ) console.warn = function(){}; if(typeof(console.error) == 'undefined' ) console.error = function(){}; if(typeof(console.time) == 'undefined' ) console.time = function(){}; if(typeof(console.timeEnd) == 'undefined' ) console.timeEnd = function(){}; Academic = {}; Academic.sUserLanguage = 'ru'; Academic.sDomainURL = ''; Academic.sMainDomainURL = 'http://dic.academic.ru/'; Academic.sTranslateDomainURL = 'http://translate.academic.ru/'; Academic.Lang = {}; Academic.Lang.sTermNotFound = ',  ,  '; </script> </head> <body> <div id="page"> <div id="header"> <div id="logo"> <a href="http://dic.academic.ru"> <img src="/images/Logo.png" class="v" alt="dic.academic.ru" width="88" height="68" /> <img src="/images/Logo_h.png" class="h" alt="dic.academic.ru" width="88" height="68" /> <br /> dic.academic.ru </a> </div> <ul id="top-menu"> <li id="lang"> <a href="#" class="link">RU</a> <ul id="lang-menu"> <li><a href="http://www.enacademic.com">EN</a></li> <li><a href="http://www.deacademic.com">DE</a></li> <li><a href="http://www.fracademic.com">FR</a></li> <li><a href="http://www.esacademic.com">ES</a></li> </ul> </li> <!--li><a class="android" href="http://dic.academic.ru/android.php">Android </a></li--> <!--li><a class="apple" href="http://dic.academic.ru/apple.php">iPhone/iPad </a></li--> <li><a class="add-fav link" href="#" onClick="add_favorite(this);"> </a></li> <li><a href="http://partners.academic.ru/partner_proposal.php" target="_blank">   </a></li> <!--li><a href="#"></a></li--> </ul> <h2 id="site-title"> <a href="http://dic.academic.ru">    </a> </h2> <div id="search-box"> <form action="http://dic.academic.ru/searchall.php" method="get" name="formSearch"> <table><tr><td id="td-search"> <input type="text" name="SWord" id="search-query" required="1" value="" title="       " placeholder="       " autocomplete="off" autofocus> <div class="translate-lang"> <select name="from" id="translateFrom"> <option value="xx"> </option><option value="ab"></option><option value="ad"></option><option value="az"></option><option value="ay"></option><option value="ai"> </option><option value="ak"></option><option value="sq"></option><option value="al"></option><option value="en"></option><option value="ar"></option><option value="an"></option><option value="hy"></option><option value="rp"></option><option value="at"></option><option value="af"></option><option value="bb"></option><option value="eu"></option><option value="ba"></option><option value="be"></option><option value="bg"></option><option value="bu"></option><option value="cy"></option><option value="wr"></option><option value="hu"></option><option value="vp"></option><option value="hs"></option><option value="vi"></option><option value="ht"></option><option value="el"></option><option value="ka"></option><option value="gn"></option><option value="gd"></option><option value="da"></option><option value="dl"></option><option value="pr"> </option><option value="he"></option><option value="yi"></option><option value="in"></option><option value="id"></option><option value="ik"></option><option value="ga"></option><option value="is"></option><option value="es"></option><option value="it"></option><option value="yo"></option><option value="kk"></option><option value="kc"></option><option value="ca"></option><option value="qy"></option><option value="qu"></option><option value="ky"></option><option value="zh"></option><option value="go"></option><option value="kv"></option><option value="ko"></option><option value="cr"></option><option value="ct"></option><option value="kp"></option><option value="ku"></option><option value="km"></option><option value="la"></option><option value="lv"></option><option value="ln"></option><option value="lt"></option><option value="lb"></option><option value="mu"></option><option value="mk"></option><option value="ms"></option><option value="ma"></option><option value="mi"></option><option value="mj"></option><option value="mc"></option><option value="mf"></option><option value="mn"></option><option value="nu"></option><option value="de"></option><option value="nl"></option><option value="og"></option><option value="no"></option><option value="oa"></option><option value="os"></option><option value="ot"></option><option value="pi"></option><option value="pm"></option><option value="pa"></option><option value="fa"></option><option value="pl"></option><option value="pt"></option><option value="ro">, </option><option value="ru"></option><option value="sa"></option><option value="se"></option><option value="sr"></option><option value="ld"></option><option value="sz"></option><option value="sk"></option><option value="sl"></option><option value="sw"></option><option value="tl"></option><option value="tg"></option><option value="th"></option><option value="tt"></option><option value="tw"></option><option value="bo"></option><option value="tf"></option><option value="tv"></option><option value="tr"></option><option value="tk"></option><option value="ud"></option><option value="uz"></option><option value="ug"></option><option value="uk"></option><option value="ur"></option><option value="uu"></option><option value="fo"></option><option value="fi"></option><option value="fr"></option><option value="hi"></option><option value="hr"></option><option value="cu"> ()</option><option value="ch"></option><option value="ke"></option><option value="ck"></option><option value="ce"></option><option value="cs"></option><option value="cv"></option><option value="cn"></option><option value="sv"></option><option value="cj"></option><option value="sx"></option><option value="ev"></option><option value="gw"></option><option value="mv"></option><option value="eo"></option><option value="et"></option><option value="ya"></option><option value="sh"></option><option value="ja"></option> </select> </div> <div id="translate-arrow"><a>&nbsp;</a></div> <div class="translate-lang"> <select name="to" id="translateOf"> <option value="xx"> </option><option value="ab"></option><option value="av"></option><option value="ad"></option><option value="az"></option><option value="ay"></option><option value="ai"> </option><option value="sq"></option><option value="al"></option><option value="en"></option><option value="ar"></option><option value="hy"></option><option value="af"></option><option value="eu"></option><option value="ba"></option><option value="be"></option><option value="bg"></option><option value="hu"></option><option value="vp"></option><option value="vd"></option><option value="vi"></option><option value="ht"></option><option value="gl"></option><option value="el"></option><option value="ka"></option><option value="da"></option><option value="pr"> </option><option value="he"></option><option value="yi"></option><option value="iz"></option><option value="in"></option><option value="id"></option><option value="ga"></option><option value="is"></option><option value="es"></option><option value="it"></option><option value="yo"></option><option value="kk"></option><option value="kc"></option><option value="ca"></option><option value="qy"></option><option value="qu"></option><option value="zh"></option><option value="go"></option><option value="ko"></option><option value="ct"></option><option value="kp"></option><option value="ku"></option><option value="km"></option><option value="la"></option><option value="lv"></option><option value="ln"></option><option value="lt"></option><option value="jp"></option><option value="mu"></option><option value="mk"></option><option value="ms"></option><option value="mt"></option><option value="mi"></option><option value="mj"></option><option value="mf"></option><option value="mn"></option><option value="de"></option><option value="nl"></option><option value="no"></option><option value="os"></option><option value="pi"></option><option value="pm"></option><option value="pa"></option><option value="fa"></option><option value="pl"></option><option value="pt"></option><option value="ps"></option><option value="ro">, </option><option value="ru" selected></option><option value="sr"></option><option value="sk"></option><option value="sl"></option><option value="sw"></option><option value="tl"></option><option value="tg"></option><option value="th"></option><option value="ta"></option><option value="tt"></option><option value="tr"></option><option value="tk"></option><option value="ud"></option><option value="uz"></option><option value="ug"></option><option value="uk"></option><option value="ur"></option><option value="uu"></option><option value="fo"></option><option value="fi"></option><option value="fr"></option><option value="hi"></option><option value="hr"></option><option value="cu"> ()</option><option value="ch"></option><option value="ck"></option><option value="ce"></option><option value="cs"></option><option value="cv"></option><option value="sv"></option><option value="cj"></option><option value="ev"></option><option value="gw"></option><option value="mv"></option><option value="eo"></option><option value="et"></option><option value="sh"></option><option value="ja"></option> </select> </div> <input type="hidden" name="did" id="did-field" value="" /> <input type="hidden" id="search-type" name="stype" value="0" /> </td><td> <button id="search-button">!</button> </td></tr></table> </form> <input type="text" name="dic_query" id="dic-query" title=" .    " placeholder=" .    " autocomplete="off" autofocus> </div> <ul id="search-tabs"> <li data-search-type="0" id="interpretations" class="active"><a href="#" onclick="return false;"></a></li> <li data-search-type="1" id="translations" ><a href="#" onclick="return false;"></a></li> <li data-search-type="10" id="books" ><a href="#" onclick="return false;"></a></li> <!-- li data-search-type="11" id="cinemas" ><a href="#" onclick="return false;"></a></li --> </ul> </div> <div id="ad_top2"><div class="banner"></div><!--BETWEEN SSP CODE V2.0 START--><script type="text/javascript">var between_type="adj";document.write('<script type = "text/javascript" src = "http://cache.betweendigital.com/sections/149534.js"></scr'+'ipt>')</script><!--BETWEEN SSP END--> </div> <div id="content"> <div id="search_results"> <h1 id="title"></h1> <div id="search_links"> <a class="active" ></a> <a href="http://translate.academic.ru//ru/"></a> <a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=10"></a> <a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=11"></a> </div><!----><ul class="terms-list" id="found_articles"> <li><p><span class="item">1</span> <strong><a href="http://big_medicine.academic.ru/2478/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — . : I.  .............. 424   .     XVI XVIII .     .    XIX .   .  XIX  …</p> <p class="src"><a href="http://big_medicine.academic.ru/">  </a></p> </li> <li><p><span class="item">2</span> <strong><a href="http://dic.academic.ru/dic.nsf/dic_fwords/7704/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — (.,  bios ,  logos ).          .   ,     .  .., 1910.  .,  bios, ,  logos, .    .&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/dic_fwords/">    </a></p> </li> <li><p><span class="item">3</span> <strong><a href="http://dic.academic.ru/dic.nsf/dic_biology/627/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — ( ...  ...),     .  .   :         , ,   ,        .  .&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/dic_biology/">  </a></p> </li> <li><p><span class="item">4</span> <strong><a href="http://dic.academic.ru/dic.nsf/enc3p/72882"></a></strong> — ( ...  ...)               ,    , ,   ,        .&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/enc3p/">  </a></p> </li> <li><p><span class="item">5</span> <strong><a href="http://illustrated_dictionary.academic.ru/1345/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — ( ...  ...),     .         , , , ,         .  &#8230; …</p> <p class="src"><a href="http://illustrated_dictionary.academic.ru/">  </a></p> </li> <li><p><span class="item">6</span> <strong><a href="http://epistemology_of_science.academic.ru/79/%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> —          ( . bio   logos , )          , ,     .            1802&#8230; …</p> <p class="src"><a href="http://epistemology_of_science.academic.ru/">    </a></p> </li> <li><p><span class="item">7</span> <strong><a href="http://dic.academic.ru/dic.nsf/ecolog/2771/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — ( ...  ..),     .         .  “”  . .   . .      (1802). &#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/ecolog/"> </a></p> </li> <li><p><span class="item">8</span> <strong><a href="http://gallicismes.academic.ru/6493/%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — , . biologie f. 1.      ,    .  2.  &LT;         &GT;..        &#8230; …</p> <p class="src"><a href="http://gallicismes.academic.ru/">    </a></p> </li> <li><p><span class="item">9</span> <strong><a href="http://dic.academic.ru/dic.nsf/ntes/492/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — ,      .    , , , , , , ,   .       , , ,&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/ntes/">-  </a></p> </li> <li><p><span class="item">10</span> <strong><a href="http://dic.academic.ru/dic.nsf/ushakov/747586"></a></strong> — , , . , . ( . bios   logos ).      .   . .. . 1935 1940 …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/ushakov/">  </a></p> </li> <li><p><span class="item">11</span> <strong><a href="http://dic.academic.ru/dic.nsf/ogegova/12178"></a></strong> — , , .     ,    .  . (     ). | . , , .   . .. , ..&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/ogegova/">  </a></p> </li> <li><p><span class="item">12</span> <strong><a href="http://dic.academic.ru/dic.nsf/enc_philosophy/1852/%D0%91%D0%98%D0%9E%D0%9B%D0%9E%D0%93%D0%98%D0%AF"></a></strong> — ( . bios –   logos – )   ,    , , , .       ,   ,      &#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/enc_philosophy/"> </a></p> </li> <li><p><span class="item">13</span> <strong><a href="http://dic.academic.ru/dic.nsf/dic_synonims/9343/%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — .,   : 73 •  (1) •  (1) •  (3) …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/dic_synonims/"> </a></p> </li> <li><p><span class="item">14</span> <strong><a href="http://technical_translator_dictionary.academic.ru/14640/%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — &mdash; [http://www.dunwoodypress.com/148/PDF/Biotech Eng Rus.pdf]   EN biology …</p> <p class="src"><a href="http://technical_translator_dictionary.academic.ru/">  </a></p> </li> <li><p><span class="item">15</span> <strong><a href="http://philosophy_sponville.academic.ru/220/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> —    ¦ Biologie           .  ,            ,  ,    ,   .     &#8230; …</p> <p class="src"><a href="http://philosophy_sponville.academic.ru/">  </a></p> </li> <li><p><span class="item">16</span> <strong><a href="http://genetics_dictionary.academic.ru/913/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_"> </a></strong> — * іі * biology   ,     : , , , ,   .       .      ,&#8230; …</p> <p class="src"><a href="http://genetics_dictionary.academic.ru/">.  </a></p> </li> <li><p><span class="item">17</span> <strong><a href="http://dic.academic.ru/dic.nsf/ruwiki/55"></a></strong> —       , .  ().  (. ???????? ???, , ; . . ?????&#160; , )&#160;  ,          &#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/ruwiki/"></a></p> </li> <li><p><span class="item">18</span> <strong><a href="http://dic.academic.ru/dic.nsf/bse/69404/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — ( ...  ...             .   .   :         ,  ,   ,       &#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/bse/">  </a></p> </li> <li><p><span class="item">19</span> <strong><a href="http://dic.academic.ru/dic.nsf/es/8884/%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — ; . [ . bios   logos ] 1.         . /       . ,  . //  ,   .&#8230; …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/es/"> </a></p> </li> <li><p><span class="item">20</span> <strong><a href="http://dic.academic.ru/dic.nsf/enc_medicine/4642/%D0%91%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F"></a></strong> — I  (. bios  + logos )         .    , ,    ()  ,   …</p> <p class="src"><a href="http://dic.academic.ru/contents.nsf/enc_medicine/"> </a></p> </li> </ul> <div class="page-nav"> <strong> </strong> <ul class="arrow"> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=1"><span></span>&nbsp;&#8594;</a></li> </ul> <ul> <li class="active">1</li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=1">2</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=2">3</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=3">4</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=4">5</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=5">6</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=6">7</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=7">8</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=8">9</a></li> <li><a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&amp;stype=0&amp;btype=1&amp;p=9">10</a></li> </ul> </div> </div> </div> <div id="ad_bottom"> <div style="text-align: center;"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 336x280,  08.10.08 --> <ins class="adsbygoogle" style="display:inline-block;width:740px;height:280px" data-ad-client="ca-pub-8594606551930257" data-ad-slot="6157433105"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="banner"></div> <!-- . --> <div id="yandex_ad"></div> <script type="text/javascript"> (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Direct.insertInto(48186, "yandex_ad", { ad_format: "direct", font_size: 1, type: "grid", limit: 4, title_font_size: 3, links_underline: true, site_bg_color: "FFFFFF", header_bg_color: "FEEAC7", title_color: "0000CC", url_color: "006600", text_color: "000000", hover_color: "0066FF", sitelinks_color: "0000CC", favicon: true, no_sitelinks: false }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.src = "//an.yandex.ru/system/context.js"; s.type = "text/javascript"; s.async = true; t.parentNode.insertBefore(s, t); })(window, document, "yandex_context_callbacks"); </script> </div> <div id="footer"> <div id="liveinternet"> <!--LiveInternet counter--><script type="text/javascript"><!-- document.write("<a href='http://www.liveinternet.ru/click' "+ "target=_blank style='border-bottom: none;'><img src='http://counter.yadro.ru/hit?t44.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,80))+";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='31' height='31'><\/a>") //--></script><!--/LiveInternet--> </div> <div id="restrictions">16+</div> &copy; , 2000-2014 <ul> <li>  : <a id="m_s" href="#"></a>, <a id="m_a" href="#">  </a> </li> </ul> <div> <a href="http://partners.academic.ru/partner_proposal.php">   </a>,   PHP, <div class="img joom"></div> Joomla, <div class="img drp"></div> Drupal, <div class="img wp"></div> WordPress, MODx. </div> </div> <script async src="/js/academic.min.js?150324" type="text/javascript"></script> <!--script type="text/javascript" src="/js/cl.js"></script> <script src="/js/select2/select2.min.js"></script--> <!--script type="text/javascript" src="https://apis.google.com/js/plusone.js"--> <!--/script--> <div id="ad_right"> <div class="banner"> <div id='div-gpt-ad-right-top' style='width:240px; height:400px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-right-top'); }); </script> </div> </div> <div class="banner"> <!-- Yandex.Premium 21881 --> <div id="yandex_premium_21881"></div> <script type="text/javascript"><!-- (function(w, d, n, s, t) { function renderDirect () { Ya.Direct.insertInto("21881", "yandex_premium_21881", { ad_format: "premium", type: "vertical", limit: 3, favicon: true, no_sitelinks: false, sitelinks_color: "0000CC", title_font_size: 3, font_size: 1, site_bg_color: "FFFFFF", title_color: "0000CC", text_color: "000000", url_color: "006600", hover_color: "0000CC", links_underline: true, search_text: "", search_page_number: 1 }); } w[n] = w[n] || []; w[n].push(renderDirect); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(window, document, "yandex_context_callbacks"); //--></script> </div> <!--AdFox START--> <!--dic.academic.ru--> <!--: dic.academic.ru / * / *--> <!-- : 240x400--> <!--: < >--> <!-- ________________________AdFox Asynchronous code START__________________________ --> <script type="text/javascript"> <!-- if (typeof(pr) == 'undefined') { var pr = Math.floor(Math.random() * 4294967295) + 1; } if (typeof(document.referrer) != 'undefined') { if (typeof(afReferrer) == 'undefined') { afReferrer = encodeURIComponent(document.referrer); } } else { afReferrer = ''; } var addate = new Date(); var dl = encodeURIComponent(document.location); var pr1 = Math.floor(Math.random() * 4294967295) + 1; document.write('<div id="AdFox_banner_'+pr1+'"><\/div>'); document.write('<div style="visibility:hidden; position:absolute;"><iframe id="AdFox_iframe_'+pr1+'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div>'); AdFox_getCodeScript(1,pr1,'//ads.adfox.ru/247068/prepareCode?pp=g&amp;ps=cfov&amp;p2=fifz&amp;pct=a&amp;plp=a&amp;pli=a&amp;pop=a&amp;pr=' + pr +'&amp;pt=b&amp;pd=' + addate.getDate() + '&amp;pw=' + addate.getDay() + '&amp;pv=' + addate.getHours() + '&amp;prr=' + afReferrer + '&amp;dl='+dl+'&amp;pr1='+pr1); // --> </script> <!-- _________________________AdFox Asynchronous code END___________________________ --> <div class="banner"></div> <!--BETWEEN SSP CODE V2.0 START--><script type="text/javascript">var between_type="adj";document.write('<script type = "text/javascript" src = "http://cache.betweendigital.com/sections/153110.js"></scr'+'ipt>')</script><!--BETWEEN SSP END--> <div class="banner"></div><br /> <div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 160x600,  09.10.08 --> <ins class="adsbygoogle" style="display:inline-block;width:160px;height:600px" data-ad-client="ca-pub-8594606551930257" data-ad-slot="0137252453"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> </div> <div id="ad_top"> <div class="banner" style="text-align: center;"> <div id='div-gpt-ad-topline' style='width:970px; height:90px;'> <script type='text/javascript'> googletag.cmd.push(function() { googletag.display('div-gpt-ad-topline'); }); </script> </div> <!-- R-48186-8 .RTB- --> <div id="yandex_ad_R-48186-8"></div> <script type="text/javascript"> (function(w, d, n, s, t) { w[n] = w[n] || []; w[n].push(function() { Ya.Context.AdvManager.render({ blockId: "R-48186-8", renderTo: "yandex_ad_R-48186-8", async: true }); }); t = d.getElementsByTagName("script")[0]; s = d.createElement("script"); s.type = "text/javascript"; s.src = "//an.yandex.ru/system/context.js"; s.async = true; t.parentNode.insertBefore(s, t); })(this, this.document, "yandexContextAsyncCallbacks"); </script> </div> </div> </div> <!-- ***************  IP: 144.76.97.182 ******** --> <!-- AdRiver code START. Type:extension Site: academic PZ: 0 BN: 0 --> <script type="text/javascript"> (function(L){if(typeof(ar_cn)=="undefined")ar_cn=1; var S='setTimeout(function(e){if(!self.CgiHref){document.close();e=parent.document.getElementById("ar_container_"+ar_bnum);e.parentNode.removeChild(e);}},3000);', j=' type="text/javascript"',t=0,D=document,n=ar_cn;L='' + ('https:' == document.location.protocol ? 'https:' : 'http:') + ''+L+escape(D.referrer||'unknown')+'&rnd='+Math.round(Math.random()*999999999); function _(){if(t++<100){var F=D.getElementById('ar_container_'+n); if(F){try{var d=F.contentDocument||(window.ActiveXObject&&window.frames['ar_container_'+n].document); if(d){d.write('<sc'+'ript'+j+'>var ar_bnum='+n+';'+S+'<\/sc'+'ript><sc'+'ript'+j+' src="'+L+'"><\/sc'+'ript>');t=0} else setTimeout(_,100);}catch(e){try{F.src="javascript:{document.write('<sc'+'ript"+j+">var ar_bnum="+n+"; document.domain=\"" +D.domain+"\";"+S+"<\/sc'+'ript>');document.write('<sc'+'ript"+j+" src=\""+L+"\"><\/sc'+'ript>');}";return}catch(E){}}}else setTimeout(_,100);}} D.write('<div style="visibility:hidden;height:0px;left:-1000px;position:absolute;"><iframe id="ar_container_'+ar_cn +'" width=1 height=1 marginwidth=0 marginheight=0 scrolling=no frameborder=0><\/iframe><\/div><div id="ad_ph_'+ar_cn +'" style="display:none;"><\/div>');_();ar_cn++; })('//ad.adriver.ru/cgi-bin/erle.cgi?sid=189955&target=top&bt=43&pz=0&tail256='); </script> <!-- AdRiver code END --> <!--script src="//cds.j5t2u9c4.hwcdn.net/s/87520fcb-b4a0-4806-87d0-b559f147126b.js" type="text/javascript"></script>--> </body> </html> <link rel="stylesheet" href="/css/academic.min.css?150325" type="text/css" />
      
      





, .









Marmalade SDK C++. UML-, , .













, — Application .







MainScreen — , . :













LevelGroupScreen :













LevelScreen — , :













ImageResource — , -.







Application , ImageResource.







Application.Init() .







ActiveScreen , , ( OnClick , OnMove ) ( Draw ).







UpdateInput , .







ImageResource .







, .







まとめると



, , :









, : Android , iOS .








All Articles