Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
12 / 13 / 2
Регистрация: 14.12.2015
Сообщений: 188

Возможно ли создать генератор игры Судоку скриптом БАТ

20.08.2016, 19:04. Показов 1422. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На других языках тема изъеденная (на этом сайте тоже) на БАТе не нашел. Вообще возможно?
Генерировать таблицу 9 на 9 в случайном порядке. И от условия сложности затирать числа.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.08.2016, 19:04
Ответы с готовыми решениями:

URL кодирование бат-скриптом
Здоров, народ. Прошу помощи в написании бат-скрипта. Имеются два текстовых документа в одной директории: 1-ый. Со списком слов...

Генератор судоку
Маленькая проблемка с программой - в одном из 10 случаев программа зависает. Кому не сложно, прошу проверить и исправить. Вот полный...

Разработать генератор квадрата Судоку с++
Привет ребят, нужно разработать Разработать генератор квадрата Судоку с++ 9х9, азработать программу-генератор таких квадратов, которая по...

1
90 / 84 / 42
Регистрация: 27.09.2015
Сообщений: 316
21.08.2016, 20:16
ну а почему нет..
смотрите.. мы можеи=м генерировать числа в диапазоне..
мы можем засунуть их в линию из 9яти элементов
соответственно мы можем сделать и 9ять линий из 9яти элементов итого 81 элемент 9x9
мутим проверку на наличие одинаковых чисел в столбике и браним их, если таковые есть
.. мы даже можем их в такую тему var[x,y] засунуть и вызывать call echo:![%x%,%y%]! - правда в этом случае будет и с заменой ячеек проблема.. или быть может есть лёгкий способ замены.. не помню
далее сложность.. номер 1 = затираем одну из клеток.. какую? генерируем, для этого, пару чисел в диапазоне 1-9 отвечающих за x,y
ну и далее интерфейс.. курсор для пользователя - пожалуй самое сложное.. можно сделать его с помощью choice
всё

Добавлено через 5 часов 49 минут
чисто как пример.. плохой, но рабочий.. это не игра, а только генерация матрицы
затиреть можно любую клетку:
Code
1
2
3
arr%x%%y% - обращение к элементу.. соответственно по иксу и игрику
arr00 - верхний левый
arr88 - нижний праввый
+тут много лишнего
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
@echo off
setlocal enabledelayedexpansion
 
set "x=0"
set "y=0"
set "ix=0"
set "iy=0"
set "arr="
set "boolexist="
set "boolexisty="
set "boolx="
set "stepx=0"
set "stepy=0"
set arr00=asd
set arr10=ok
set "some=123456789"
set "tsome=%some%"
set "max=9"
set "tmax=%max%"
set "troubler=0"
:loopx
set /a pos=(%random%*%tmax%/32768)
set nrand=!tsome:~%pos%,1!
rem echo:===========%nrand% %tsome% %tmax%  %x% %y%
rem set "ix=0
rem set "iy=%y%"
rem call :ch_row
if not defined boolexist (set boolx=0) else (set "boolexist=")
if defined boolx (
 
    set "boolx="
    set "ix=%x%"
    set "iy=%y%"
    call :ch_column
    if not defined boolexisty (
        set "arr%x%%y%=%nrand%"&set/ax+=1
        set tsome=!tsome:%nrand%=!
        set/atmax-=1
    ) else (set "boolexisty=")
)
set/atroubler+=1
if %troubler%==33 (
    set "x=0"
    set "tsome=%some%"
    set "tmax=%max%"
    set "troubler=0"
)
if %x% lss 9 (goto:loopx) else (
    set "x=0"
    set/ay+=1
    set "tsome=%some%"
    set "tmax=%max%"
    set "troubler=0"
    echo:!y! line is done
 
)
if %y% lss 9 (goto:loopx)
echo:display
rem goto:eof
 
 
:loopout
if %stepx%==3 (<nul set/p=^|!arr%ix%%iy%!&set stepx=0) else (<nul set/p=!arr%ix%%iy%!)
set/aix+=1&set/astepx+=1
if %ix% lss 9 (goto:loopout) else (set "stepx=0")
set/aiy+=1&set /astepy+=1&set "ix=0"
if %stepy%==3 (echo:&echo:--- --- ---&set "stepy=0") else (echo:)
if %iy%==9 (
    echo:&echo:out
    goto:eof
)
goto:loopout
:ch_row
if !arr%ix%%iy%!==%nrand% (set boolexist=0&set "ix=0"&exit /b 0)
set/aix+=1
if %ix% lss 9 (goto:ch_row)
set "ix=0"
exit /b 0
:ch_column
rem echo:jjj
if %y%==0 (exit /b 0)
set/aiy-=1
rem echo:!arr%ix%%iy%!======%nrand%
rem <nul set/p=!arr%ix%%iy%!    
if !arr%ix%%iy%!==%nrand% (
    set boolexisty=0
    exit /b 0
)
rem echo:%iy%
if %iy% gtr 0 (goto:ch_column)
set "ix=0"
set "iy=0"
rem echo:
exit /b 0
:count
set "i=0"
set "tmp=%~1"
:count_loop
if not "!tmp:~%i%,1!"=="" (
    set/ai+=1
    goto:count_loop
)
set "tmp=%i%"
set "i="
exit /b 0
Добавлено через 1 минуту
а да.. затирку производим перед 62 строкой.. метка loopout
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.08.2016, 20:16
Помогаю со студенческими работами здесь

Возможно ли создать кластер для игры из двух ноутов?!
Первый ноут: CPU Intel GPU Nvidia + Intel RAM 8gb Второй ноут: CPU AMD GPU AMD + AMD RAM 6gb\8gb

Написание игры судоку
Собралса написать игру судоку ,но както не уверен в своих силах ,может кто писал чтото подобное кинте исходники почитать) или если у кого...

Возможно ли написать программу для решения Судоку?
Я человек не очень разбирающйся в Паскале, так что если кто заинтересуется помогите пожалуйста. Судоку состоит из 9-ти строк и 9-ти...

DataGridView для игры Судоку
Здравствуйте! Новичок в C#. Подскажите как заполнить DataGridView данными из двухмерного массива для игры в судоку...

Внедрение онлайн игры судоку
Хочу разместить на Web-страницу судоку, только написанная на delphi я уже скачала пример &quot;судоку на delphi&quot; в интернете. Вот, что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&amp;d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru