<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
					xmlns:content="http://purl.org/rss/1.0/modules/content/"
					xmlns:wfw="http://wellformedweb.org/CommentAPI/"
					xmlns:atom="http://www.w3.org/2005/Atom"
				  >
<channel>
<atom:link rel="self"  type="application/rss+xml"  href="http://rulinux.net/rss_from_sect_4_subsect_6_thread_37263"  />
<title>rulinux.net - Форум - Development - Адресация игровой доски</title>
<link>http://rulinux.net/</link>
<description><![CDATA[Портал о GNU/Linux и не только]]></description>
<image><title>rulinux.net - Форум - Development - Адресация игровой доски</title>
<link>http://rulinux.net/</link>
<url>http://rulinux.net/rss_icon.png</url>
</image>
<item>
<title>Re:Адресация игровой доски</title>
<link>https://rulinux.net/message.php?newsid=37263&amp;page=1#142189</link>
<guid>https://rulinux.net/message.php?newsid=37263&amp;page=1#142189</guid>
<pubDate>Sun, 03 Jun 2012 21:23:55 +0400</pubDate>
<description><![CDATA[<p><fieldset><legend>python</legend><code><br />
<span style="color: #ff7700;font-weight:bold;">def</span> get_neighbours<span style="color: black;">&#40;</span>i, j<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; result = <span style="color: black;">&#91;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">for</span> pos <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: black;">&#40;</span><span style="color: black;">&#40;</span>i - 1, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i + 1, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, j - 1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, j + 1<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> 0 <span style="color: #66cc66;">&lt;</span>= pos<span style="color: black;">&#91;</span>0<span style="color: black;">&#93;</span> <span style="color: #66cc66;">&lt;</span> SIZE <span style="color: #ff7700;font-weight:bold;">and</span> 0 <span style="color: #66cc66;">&lt;</span>= pos<span style="color: black;">&#91;</span>1<span style="color: black;">&#93;</span> <span style="color: #66cc66;">&lt;</span> SIZE:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; result.<span style="color: black;">append</span><span style="color: black;">&#40;</span>pos<span style="color: black;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> result<br />
&nbsp;</code></fieldset><br><br>P.S. Данный вариант работает и для таких &quot;виртуальных&quot; полей как (0, -1) и так далее, ведь у них соседи в пределах доски тоже есть. Но, если тут действительно шахматная доска, то стоит добавить ещё одну проверку для входных данных. Твой вариант, кстати, тоже не обижается на выход за границы доски.<br><br>Можно заменить добавление в список на yield и получить generator function.<br><br>//SystemV</p>]]></description>
</item>
<item>
<title>Re:Адресация игровой доски</title>
<link>https://rulinux.net/message.php?newsid=37263&amp;page=1#142158</link>
<guid>https://rulinux.net/message.php?newsid=37263&amp;page=1#142158</guid>
<pubDate>Sun, 03 Jun 2012 17:46:36 +0400</pubDate>
<description><![CDATA[<p>попробуй лучше написать итератор по всем соседям. Если нужен именно список, итератором и заполняй его</p>]]></description>
</item>
<item>
<title>Адресация игровой доски</title>
<link>https://rulinux.net/message.php?newsid=37263&amp;page=1#142144</link>
<guid>https://rulinux.net/message.php?newsid=37263&amp;page=1#142144</guid>
<pubDate>Sun, 03 Jun 2012 14:19:24 +0400</pubDate>
<description><![CDATA[<p>Привет.<br><br>Решил подкачать скилл в программировании и пишу небольшую игру. В игре есть квадратная доска, как в шахматах, размерами SIZExSIZE. Пишу функцию, которая возвращает все смежные (не по диагоналям) клетки. ЯП - Питон. Имею вот что:<br><br><fieldset><legend>python</legend><code><br />
<span style="color: #ff7700;font-weight:bold;">def</span> get_neighbours<span style="color: black;">&#40;</span>i, j<span style="color: black;">&#41;</span>:<br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">if</span> i==0 <span style="color: #ff7700;font-weight:bold;">and</span> j==0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>0, 1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>1,0<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> i==SIZE-1 <span style="color: #ff7700;font-weight:bold;">and</span> j==SIZE-1:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>SIZE-1, SIZE-2<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>SIZE-2, SIZE-1<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> i==SIZE-1 <span style="color: #ff7700;font-weight:bold;">and</span> j==0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>SIZE-1, 1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>SIZE-2, 0<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> i==0 <span style="color: #ff7700;font-weight:bold;">and</span> j==SIZE-1:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>0, SIZE-2<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>1, SIZE-1<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> i==0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>0, j-1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>1, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>0, j+1<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> j==0:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>i-1, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, 1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i+1, j<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> i==SIZE-1:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>SIZE-1, j-1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>SIZE-2, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>SIZE-1, j+1<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">elif</span> j==SIZE-1:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>i-1, SIZE-1<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, SIZE-2<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i+1, SIZE-1<span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">else</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #ff7700;font-weight:bold;">return</span> <span style="color: black;">&#91;</span><span style="color: black;">&#40;</span>i-<span style="color: #ff4500;">1</span>, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i+<span style="color: #ff4500;">1</span>, j<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, j-<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>i, j+<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><br />
&nbsp;</code></fieldset><br><br>ЯП в общем, не суть, но сильно подозреваю, что существуют более элегантные решения. Кто-нибудь может подсказать?</p>]]></description>
</item>
</channel>
</rss>