One usual summer evening I was driving home from work in the subway and saw one guy playing a game on a tablet where you need to make words from letters. I downloaded it on my tablet and started playing. After playing for a while, I realized that some features could have been implemented more comfortably, and having decided that I can make the toy at least as good as possible, I set about implementing it.
Having some experience with Oracle DB, I decided that I will maintain the processing of dictionaries in it (Oracle 11.2 XE). I downloaded several dictionaries in the form of text files with delimiters on the Internet and uploaded it into the database using the External Table mechanism. Selected 700 nouns from the loaded words were 8-10 letters long. These are the words that the players will use to compose the letters. Next, it is necessary for each of these 700 words to choose a set of words that can be made from it. To do this, you need to index all the words so that you can do a search for the occurrence of letters.
Create a view over the table with the words:
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;
word | but | b | at | g | d | e | well | s | and | th | to | l | m | n | about | P | R | with | t | at | f | x | c | h | sh | u | s | s | uh | Yu | I | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
aquarium | 2 | 0 | one | 0 | 0 | 0 | 0 | 0 | one | 0 | one | 0 | one | 0 | 0 | 0 | one | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
watercolor | 2 | 0 | one | 0 | 0 | one | 0 | 0 | 0 | 0 | one | one | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 |
trench | one | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 | one | 0 | 0 | one | 0 | one | 0 | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 | one |
general | one | 0 | 0 | one | 0 | 2 | 0 | 0 | 0 | 0 | 0 | one | 0 | one | 0 | 0 | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
diploma | 0 | 0 | 0 | 0 | one | 0 | 0 | 0 | one | 0 | 0 | one | one | 0 | one | one | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Further, using this twist, a simple search algorithm is used for nested words for each main word.
It should be noted that in addition to automatic processing, it was also not without manual labor for filtering all parts of speech, except for nouns, editing spelling errors, etc.
Since not all words in the dictionaries were interpreted, it was necessary to pervert here. Wrote a procedure that with a certain interval refers to the online dictionaries and pulls the description. To understand the logic of the procedure will help the simplest example:
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;
The result of the last query is hidden under the spoiler. It is handled by the parser written by me using regular expressions, the code of which I donβt see here makes sense.
<!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> </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&stype=10"></a> <a href="/searchall.php?SWord=%D0%B1%D0%B8%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F&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, . .… β¦</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> β ( ... ...), . . : , , , . .… β¦</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> β ( ... ...) , , , , .… β¦</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> β ( ... ...), . , , , , . … β¦</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… β¦</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). … β¦</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. < >.. … β¦</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> β , . , , , , , , , . , , ,… β¦</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> β , , . , . . ( ). | . , , . . .. , ..… β¦</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 β ) , , , , . , , … β¦</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> β — [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 . , , , , . … β¦</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 , : , , , , . . ,… β¦</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> β , . (). (. ???????? ???, , ; . . ?????  , )  , … β¦</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> β ( ... ... . . : , , , … β¦</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. . / . , . // , .… β¦</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&stype=0&btype=1&p=1"><span></span> →</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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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&stype=0&btype=1&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> © , 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&ps=cfov&p2=fifz&pct=a&plp=a&pli=a&pop=a&pr=' + pr +'&pt=b&pd=' + addate.getDate() + '&pw=' + addate.getDay() + '&pv=' + addate.getHours() + '&prr=' + afReferrer + '&dl='+dl+'&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 β , . It looks like this:
LevelGroupScreen :
LevelScreen β , :
ImageResource β , -.
Application , ImageResource.
Application.Init() .
ActiveScreen , , ( OnClick , OnMove ) ( Draw ).
UpdateInput , .
ImageResource .
, .
, , :
Source: https://habr.com/ru/post/309800/
All Articles