<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; CMD/BAT: Игра "Морской бой"]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=8830</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=8830&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «CMD/BAT: Игра "Морской бой"».]]></description>
		<lastBuildDate>Thu, 27 Feb 2014 07:40:04 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80408#p80408</link>
			<description><![CDATA[<div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Такая, кажется, не сводится:</p></blockquote></div><p>Ага, верно. Я такую не пробовал даже.</p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>alexii, с помощью чего сделан рисунок: это всё вручную?</p></blockquote></div><p>Вручную. Чтобы не считать сумму единиц. Microsoft Excel. Потом скриншот, и обводка, стрелки, цветной текст — в PicPic.</p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Строго говоря, пустоты будут максимальны, если краями поля ограничить расстановку и 1x1, но так число расстановок сокращается ещё сильнее, т.е. у края все корабли ставить всё-же не стоит.</p></blockquote></div><p>Чисто теоретически, имеет смысл оставить и 3 из 4 1x1 у края, а единственный оставшийся «затерять» в пустом пространстве. Но тогда совсем не интересно <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" />.</p><div class="quotebox"><cite>wisgest пишет:</cite><blockquote><p>Почему в таком случае у края не поставить несколько 1x1, а какой-нибудь 2x1 не поместить в середину?</p></blockquote></div><p>Не считал, сколько выйдет пустых в этом случае.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 27 Feb 2014 07:40:04 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80408#p80408</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80393#p80393</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Первая — да. Фактически сводится к перестановке.</p></blockquote></div><p>Такая, кажется, не сводится:<br /></p><div class="codebox"><pre><code>
O.OOOO.OOO
O.........
O.OO.OO.OO
..........</code></pre></div><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Вторая — нет: число оставшихся для расстановки полей на единицу меньше.</p></blockquote></div><p>Действительно. По ошибке показалось одинаково.</p><p><strong>alexii</strong>, с помощью чего сделан рисунок: это всё вручную?<br />-------------------------------------<br /></p><div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Я так полагаю, задачу можно сразу упростить, если ограничить расстановку 2x3, 3x2 и 4x1 только краями поля — при этом пустоты будут максимальны.</p></blockquote></div><p>Строго говоря, пустоты будут максимальны, если краями поля ограничить расстановку и 1x1, но так число расстановок сокращается ещё сильнее, т.е. у края все корабли ставить всё-же не стоит. Почему в таком случае у края не поставить несколько 1x1, а какой-нибудь 2x1 не поместить в середину?</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Wed, 26 Feb 2014 21:49:48 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80393#p80393</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80273#p80273</link>
			<description><![CDATA[<p>Первая — да. Фактически сводится к перестановке. Вторая — нет: число оставшихся для расстановки полей на единицу меньше. </p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><p><span class="postimg"><img src="http://img37.imageshack.us/img37/5202/ohb6.png" alt="http://img37.imageshack.us/img37/5202/ohb6.png" /></span></p></div></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 22 Feb 2014 18:35:22 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80273#p80273</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80271#p80271</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>это единственный способ, который я указал выше.</p></blockquote></div><p>Эти расстановки у верхнего края<br /></p><div class="codebox"><pre><code>OOOO.OO.OO
..........
OOO.OOO.OO
..........


O.OO.O.O.O
O....O.O.O
O.OO.O. .O
....... .O
        ..
</code></pre></div><p>относятся к единственному способу?</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Sat, 22 Feb 2014 17:12:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80271#p80271</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80264#p80264</link>
			<description><![CDATA[<p>«Как можно больше пустых клеток» — это единственный способ, который я указал выше. А вероятности было бы интересно посчитать.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Sat, 22 Feb 2014 12:47:29 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80264#p80264</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80262#p80262</link>
			<description><![CDATA[<p>Да, но через пару игр игрок поймет это и будет знать, где примерно стоят корабли. В данном же случае корабли стоят где угодно, но количество пустых клеток программа старается оставить как можно больше.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Sat, 22 Feb 2014 09:43:06 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80262#p80262</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80020#p80020</link>
			<description><![CDATA[<p>Я так полагаю, задачу можно сразу упростить, если ограничить расстановку 2x3, 3x2 и 4x1 только краями поля — при этом пустоты будут максимальны.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 12 Feb 2014 17:34:13 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80020#p80020</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=80018#p80018</link>
			<description><![CDATA[<p><strong>trash50</strong>, только у меня там нет искусственной задержки, компьютер реально долго думает. При расстановке кораблей на самом деле он строит множество различных случайных расстановок, а среди них выбирает ту, в которой больше образовалось пустот, что усложняет задачу игроку.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Wed, 12 Feb 2014 17:01:45 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=80018#p80018</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78925#p78925</link>
			<description><![CDATA[<p>Интересно реализовано)</p>]]></description>
			<author><![CDATA[null@example.com (andreypetrovsky)]]></author>
			<pubDate>Sun, 05 Jan 2014 13:21:49 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78925#p78925</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=78901#p78901</link>
			<description><![CDATA[<p>Градусник понравился: <br /></p><div class="codebox"><pre><code>::ГРАДУСНИК
@ECHO OFF
  0&lt;nul set /p .=Расставляю корабли: ????????????????????????????????????????
  :: верхний предел цикла - количество расстановок (40)
  for /l %%n in (1, 1, 40) do (
    0&lt;nul set /p .=?
    PING LOCALHOST &gt;nul 2&gt;&amp;1
    )
PAUSE</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (trash50)]]></author>
			<pubDate>Sat, 04 Jan 2014 21:53:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=78901#p78901</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76591#p76591</link>
			<description><![CDATA[<p>Простой код для теста:<br /></p><div class="codebox"><pre><code>echo off
echo %random%
echo %random%
echo %random%
pause</code></pre></div><p>Запускаю 3 раза с небольшим промежутком времени. Результат (Win XP SP3):</p><p>14333<br />32346<br />23511</p><p>14340<br />21075<br />26471</p><p>14346<br />9803<br />29431</p><p>Как видите, первое число совсем не случайное, оно растет с каждым запуском, скорее всего, некоторая привязка ко времени. При последующих же вызовах получается вполне себе последовательность ПСЧ. Вот для того, чтобы пропустить это первое неслучайное число и делается дополнительный вызов.</p><div class="quotebox"><blockquote><p>оформлять такое обращение в виде функции избыточно,</p></blockquote></div><p>Исключительно для улучшения читабельности. Даже такое простое действие лучше вынести в отдельную функцию, при чтении кода будет ясно, ради чего происходит вызов функции.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Mon, 28 Oct 2013 16:09:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76591#p76591</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76586#p76586</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>А вот интересно, в данной строке ведь все равно произойдет обращение к переменной %random%?</p></blockquote></div><p>Произойдёт:<br /></p><div class="codebox"><pre><code>echo on
for %%i in (1) do rem %random%</code></pre></div><div class="quotebox"><blockquote><p>Если так, то да, можно код функции и так записать.</p></blockquote></div><p>Ну, сугубо мне кажется, что оформлять такое обращение в виде функции избыточно,<br />но больше интересует, что меняет такое однократное обращение к <em>%random%</em>?</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Mon, 28 Oct 2013 15:14:18 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76586#p76586</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76585#p76585</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Ещё раз обращаю внимание руководства и сообщества.</p></blockquote></div><p>Спасибо за поддержку! </p><div class="quotebox"><blockquote><p>равносильно <br />rem %random%</p></blockquote></div><p>А вот интересно, в данной строке ведь все равно произойдет обращение к переменной %random%? Если так, то да, можно код функции и так записать.</p><div class="quotebox"><blockquote><p>В любом случае, вероятно, не «счётчика», а «датчика» (или, хотя бы «генератора»).</p></blockquote></div><p>Обычно в генераторах ПСЧ есть некоторое значение, которое используется для генерации очередного числа и, заодно, меняется на новое для последующей генерации. Это как бы счетчик, от которого зависит генерируемое число.</p><div class="quotebox"><blockquote><p>в заставке перед появлением корабля и после его исчезновения проходит какое-то время — это преднамеренный выбор?</p></blockquote></div><p>Отображением двигающихся кораблей занимается функция :scene, давно ее делал, но, как помню, были там какие-то проблемы, чтобы строки не съезжали.</p><div class="quotebox"><blockquote><p>разве в классических правилах не различаются «ранил» и «убил»?</p></blockquote></div><p>Никогда не признавал версию игры с указанием на убийство. Более того, когда еще в детстве меня обучили этой игре, то никаких &quot;убил&quot; там не было, про такую версию узнал позже и долго плевался. Пусть игрок сам определяет, убил или нет, тем более, что это не такая и сложная задача. Единственное, что иногда надо сделать лишний выстрел, чтобы убедиться. Эта неопределенность только добавляет азарта и немного усложняет игру.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Mon, 28 Oct 2013 13:52:33 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76585#p76585</guid>
		</item>
		<item>
			<title><![CDATA[Re: CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76583#p76583</link>
			<description><![CDATA[<p>Основательная работа! Ещё раз <a href="http://forum.script-coding.com/viewtopic.php?pid=76379#p76379">обращаю внимание</a> руководства и сообщества.</p><br /><p>Воплощение «Морского боя» более чем уместно в виде консольного приложения, а для написания консольного приложения вполне достаточно Batch-языка (вторая часть утверждения, признаю, немного спорная). Признаюсь, была у меня такая мечта, но «тем, кем я хотел бы быть, стал уже кто-то другой». Впрочем, ещё остаётся возможность сделать что-то своё в направлении разработки стратегии…</p><p>В коде не очень-то разбирался, пока спрошу о третьестепенной вещи: разве что-то даёт<br /></p><div class="codebox"><pre><code>call :randomize

:randomize
:: Регенерация счетчика случайных чисел
  setlocal
  set rndTemp=%random%
endlocal &amp; exit /b
</code></pre></div><p>? (равносильно </p><div class="codebox"><pre><code>rem %random%</code></pre></div><p>)<br />В любом случае, вероятно, не «счётчика», а «датчика» (или, хотя бы «генератора»).</p><p>Из первых впечатлений: в заставке перед появлением корабля и после его исчезновения проходит какое-то время — это преднамеренный выбор?</p><p>Более важное впечатление:<br /></p><div class="quotebox"><cite>Arigato пишет:</cite><blockquote><p>Реализация классической игры</p></blockquote></div><p>— разве в классических правилах не различаются «ранил» и «убил»?</p>]]></description>
			<author><![CDATA[null@example.com (wisgest)]]></author>
			<pubDate>Mon, 28 Oct 2013 12:34:21 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76583#p76583</guid>
		</item>
		<item>
			<title><![CDATA[CMD/BAT: Игра "Морской бой"]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=76578#p76578</link>
			<description><![CDATA[<p><strong>Игра &quot;Морской бой&quot; на BAT-файлах</strong></p><p><strong>Ссылка для скачивания:</strong> <a href="http://yadi.sk/d/zGkSTyIPBheWm">http://yadi.sk/d/zGkSTyIPBheWm</a></p><p><strong>Системные требования:</strong> Microsoft Windows XP или 7, на других версиях не тестировалось, но должно работать.</p><p><strong>Описание:</strong><br />Реализация классической игры для двоих игроков &quot;Морской бой&quot; на BAT-файлах. Расставляйте свои корабли и попробуйте шансы в игре против мега-интеллекта компьютера - уничтожьте вражеские корабли первым!</p><p><strong>Скриншоты:</strong></p><p><span class="postimg"><img src="http://s005.radikal.ru/i212/1310/f2/ff47ae5572c8.png" alt="http://s005.radikal.ru/i212/1310/f2/ff47ae5572c8.png" /></span></p><p><span class="postimg"><img src="http://s56.radikal.ru/i152/1310/7f/b82ac2651084.png" alt="http://s56.radikal.ru/i152/1310/7f/b82ac2651084.png" /></span></p><p><span class="postimg"><img src="http://i022.radikal.ru/1310/69/0a867ba0f81e.png" alt="http://i022.radikal.ru/1310/69/0a867ba0f81e.png" /></span></p><p>P.S. О замеченных ошибках сообщайте в этой теме.</p>]]></description>
			<author><![CDATA[null@example.com (Arigato)]]></author>
			<pubDate>Mon, 28 Oct 2013 09:01:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=76578#p76578</guid>
		</item>
	</channel>
</rss>
