Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 16.12.2017, 21:34   #1
one23
 
Регистрация: 02.12.2017
Сообщений: 9
Репутация: 10
По умолчанию игра на cmd(bat)

я хотел бы создать игру на cmd(bat) файлов,но мне не хватает опыта
в программирование на bat,поэтому я прошу помощи.Мне хотелось бы создать игровое поле с циклом for,и чтобы при зажатие клавиши он не бежал как озверевший, и по желанию объяснить как это вы сделали!
За ранние Спасибо!

Это концепт игры и базовое передвижение:


Код:

@echo off
setlocal disableDelayedExpansion
::---------------------------------
set "player=@" 
set "grass====================="
set "lag= "
set /a playerx=0
set /a playery=0
set /a grassx=0
set /a grassy=0


:1
cls
echo.
echo.
echo %player% 
echo %grass%
echo x:%playerx% 
Choice /C ade /N /M "<-- A : D -->     E-EXIT"
if %Errorlevel% EqU 2  set "player=%lag%%player%" & set /a playerx=%playerx%+1 
if %Errorlevel% Equ 1  set "player=%player:~1%"   & set /a playerx=%playerx%-1 
if %Errorlevel% Equ 3 exit
if %playerx% == -1  set "player=@"   & set /a playerx=%playerx%+1
if %playerx% == 20   set "player=%player:~1%" & set /a playerx=%playerx%-1
goto 1


Последний раз редактировалось Alex11223; 16.12.2017 в 21:45.
one23 вне форума   Ответить с цитированием
Старый 16.12.2017, 21:45   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,405
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Цитата:
Сообщение от one23 Посмотреть сообщение
но мне не хватает опыта
в программирование на bat
а не на bat?
Alex11223 на форуме   Ответить с цитированием
Старый 16.12.2017, 21:48   #3
one23
 
Регистрация: 02.12.2017
Сообщений: 9
Репутация: 10
По умолчанию

не понимаю что вы имеете в виду?
one23 вне форума   Ответить с цитированием
Старый 16.12.2017, 21:50   #4
one23
 
Регистрация: 02.12.2017
Сообщений: 9
Репутация: 10
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
а не на bat?
если вы имеете в виду другие языки ,то я хочу именно на bat
one23 вне форума   Ответить с цитированием
Старый 15.02.2018, 21:49   #5
one23
 
Регистрация: 02.12.2017
Сообщений: 9
Репутация: 10
По умолчанию

я тут кое что написал,игру(если это можно назвать игрой)
Пока что особо ничего нет,игрок может двигаться и стрелять но стрельба не доделана!НО он более любительский проект поэтому времени уделено крайне мало!
Хотел бы узнать ваше мнение к такому хобби.
игра создана исключительно в блокноте так что не судите строго
Вложения
Тип файла: zip game on bat.zip (1.1 Кб, 6 просмотров)
one23 вне форума   Ответить с цитированием
Старый 05.07.2018, 23:54   #6
PlaueP
Новичок
 
Регистрация: 05.07.2018
Сообщений: 1
Репутация: 10
По умолчанию ОБНОВКА

Я немного усовершенствовал твой код.

@echo off
set "pl=0"
set "dt=========="
set "lg= "
set plx=1


:game
cls
echo.
echo %pl%
echo %dt%
echo x:%plx%
echo A - D
choice /C ad /N

if %errorlevel%==2 if NOT %plx%==9 set "pl=%lg%%pl%" & set /a plx+=1
if %errorlevel%==1 if NOT %plx%==1 set "pl=%pl:~1%" & set /a plx-=1


goto game
PlaueP вне форума   Ответить с цитированием
Старый 23.07.2018, 14:40   #7
one23
 
Регистрация: 02.12.2017
Сообщений: 9
Репутация: 10
По умолчанию

Если честно то я очень сильно изменил скрипт+и даже добавил псевдо механику
Код:

@echo off

setlocal enabledelayedexpansion
set shotis=0
set shot_x=%player_x%
set newshot_x=0
:game

         

for /l %%h in (0,1,639) do set "s%%h= "
set player_x=1
set player_y=1
set tree_x=3
set tree_y=4
set /a tree_position=%tree_y%*40+%tree_x%
set "s%tree_position%=Г"



:gameplay
cls
if %shotis%==1 set /a shot_position=%shot_y%*40+%newshot_x%
set "s%shot_position%=-"
set /a player_position=%player_y%*40+%player_x%
set "s%player_position%=@"
echo ЙНННННННННННННННННННННННННННННННННННННННН»
echo є%s0%%s1%%s2%%s3%%s4%%s5%%s6%%s7%%s8%%s9%%s10%%s11%%s12%%s13%%s14%%s15%%s16%%s17%%s18%%s19%%s20%%s21%%s22%%s23%%s24%%s25%%s26%%s27%%s28%%s29%%s30%%s31%%s32%%s33%%s34%%s35%%s36%%s37%%s38%%s39%є   
 for /l %%f in (4,4,63) do (
  set /a posh=%%f
  set /a posi=%%f+1
  set /a posj=%%f+2
  set /a posk=%%f+3
  
for /f "tokens=1,2,3,4" %%h in ("!posh! !posi! !posj! !posk!") do echo є!s%%h0!!s%%h1!!s%%h2!!s%%h3!!s%%h4!!s%%h5!!s%%h6!!s%%h7!!s%%h8!!s%%h9!!s%%i0!!s%%i1!!s%%i2!!s%%i3!!s%%i4!!s%%i5!!s%%i6!!s%%i7!!s%%i8!!s%%i9!!s%%j0!!s%%j1!!s%%j2!!s%%j3!!s%%j4!!s%%j5!!s%%j6!!s%%j7!!s%%j8!!s%%j9!!s%%k0!!s%%k1!!s%%k2!!s%%k3!!s%%k4!!s%%k5!!s%%k6!!s%%k7!!s%%k8!!s%%k9!є
)    
echo ИННННННННННННННННННННННННННННННННННННННННј 
echo A:left  D:right  W:up  S:down  Q:exit  F:shot
timeout /T 0 >nul
goto controls
:controls

 Choice /C adwsqfP /T 1 /D P >nul
set lastshot_x=%newshot_x%
set lastshot_y=%shot_y% 
set lastplayer_x=%player_x%
set lastplayer_y=%player_y%
if %Errorlevel% EQU 1 set /a player_x=%player_x%-1 & set /a shot_x=%shot_x%-1 
if %Errorlevel% EQU 2 set /a player_x=%player_x%+1 & set /a shot_x=%shot_x%+1    
if %Errorlevel% EQU 3 set /a player_y=%player_y%-1  
if %Errorlevel% EQU 4 set /a player_y=%player_y%+1 
if %Errorlevel% EQU 5 exit  
if %Errorlevel% EQU 6  set /a shot_y=%player_y% & set /a shot_position=%shot_y%*40+%pshot_x%+1 & set shotis=1 & set /a newshot_x=%shot_x% 
if %Errorlevel% EQU 7  set nothing=0
set /a lastshot_position=%lastshot_y%*40+%lastshot_x% 
set "s%lastshot_position%= "     
set /a lastplayer_position=%lastplayer_y%*40+%lastplayer_x% 
set "s%lastplayer_position%= " 
if %player_x% GTR 39 set /a player_x=%player_x%-1
if %player_x% LSS 0 set /a player_x=%player_x%+1
if %player_y% GTR 15 set /a player_y=%player_y%-1 
if %player_y% LSS 0 set /a player_y=%player_y%+1
if %newshot_x% GTR 38 set shotis=0 
if %newshot_x% GTR 38 set "s%shot_position%= "
if %shotis%==1 set /a newshot_x=%newshot_x%+1
goto gameplay

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор





Цитата:
Сообщение от PlaueP Посмотреть сообщение
Я немного усовершенствовал твой код.

@echo off
set "pl=0"
set "dt=========="
set "lg= "
set plx=1


:game
cls
echo.
echo %pl%
echo %dt%
echo x:%plx%
echo A - D
choice /C ad /N

if %errorlevel%==2 if NOT %plx%==9 set "pl=%lg%%pl%" & set /a plx+=1
if %errorlevel%==1 if NOT %plx%==1 set "pl=%pl:~1%" & set /a plx-=1


goto game

Последний раз редактировалось Serge_Bliznykov; 23.07.2018 в 15:45.
one23 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
cmd и bat mouserman Windows 3 07.10.2018 11:05
Работа с Batch (CMD/BAT) se_arts Помощь студентам 2 25.09.2016 16:50
CMD/BAT - Помощь в нескольких вопросах!! expressq123 Общие вопросы C/C++ 3 11.07.2014 14:49
CMD/BAT previous day b3rr Помощь студентам 0 10.06.2013 12:24
Сворачивание окон. cmd\bat obse Помощь студентам 13 04.08.2012 00:04


20:35.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru