Prof. Pickle

About Prof. Pickle

In the depths of subconsciousness, where imagination meets reality.
Aug. 4, 2012
Total Views
I enjoy anything to do with computers. I have made some interesting scripts, and I am constantly improving my skill set. One day I hope to become a programmer, although in what category is still a mystery (although I've ruled out game development, for now...). I try to be as original as possible and be a good, valuable member to Instructables...
Read More »
Full Profile »
100+ Comments Earned a bronze medal
10K+ Views Earned a bronze medal
  • LiseyGaming. commented on Prof. Pickle's instructable Batch game movement (Tutorial)1 week ago
    Batch game movement (Tutorial)

    I am working on a game called roseymon but it says there is an error there. I need help on this. Can someone tell me whats wrong? Here is the coding:@echo off:menuclsecho Welcome to Roseymon!pauseecho Ready to play?echo 1) Story modeecho 2) Battleecho 3) Exit/Cancelset /p letter=if %letter% == 1 goto storymodeif %letter% == 2 goto battleif %letter% == 3 goto exitgoto menu:storymodeclsecho Rose: Welcome fellow person! Do you want to start your adventure?pauseecho Rose: That is great! What is your name?set /p name=echo Rose: Welcome %name%!echo Rose: Wanna choose your starter Roseymon?pauseecho Rose: Okay! Choose one of theese Roseymons!echo 4) 4. Rosica (Plant)echo 5) 5. Rosidolf (Water)echo 6) 6. Rosifire (Fire)echo 7) Help: Say the number at the start of the Roseymon to choose it!set /p letter=if %letter% == 4 goto plantstarter:plantstarterecho Rose: Ah! Rosica! A well choice!pauseecho Rose: Do you want to battle?pauseecho Y to battle N to not battleif %letter% == n goto continueif %letter% == y goto battlebattle:pauseecho Rose: Okay! Here we go!Pauseecho Rose sent out Rosmanecho Roseman used water splash!Pauseecho -1 HPecho You have 12 hp left!Pauseecho What move do you want to use?echo 1) 1. Rose petalsecho 2) 2. Leaf blockecho 3) Help: Say the number at the start of the attack to choose it!if %letter% == 1 goto atk1if %letter% == 2 goto atk2atk1:pauseecho Rose petals dealt 13 dmg!Pauseecho It is super effective!Pauseecho The Roseman got knocked out!Pauseecho Your Rosica leveld up!echo It is now level 2!pauseatk2:pauseecho Leaf block blocked the opponents attack!Pauseecho Roseman used swoop!echo It failedecho 1) 1. Rose petalsecho 2) 2. Leaf blockecho 3) Help: Say the number at the start of the attack to choose it!if %letter% == 1 goto atk1if %letter% == 2 goto atk2

    View Instructable »
  • ZaubererLp followed Prof. Pickle1 week ago
      • How to Create your own Commands with Batch
      • Start a batch file completely hidden
      • Tips on how to find errors in code (focused on DOS)
  • Morpheus77 followed Prof. Pickle2 weeks ago
  • JoshGirouard followed Prof. Pickle2 weeks ago
  • MatthewW193 followed Prof. Pickle2 months ago
  • pookabunny followed Prof. Pickle3 months ago
  • shayank2 commented on Prof. Pickle's instructable Batch game movement (Tutorial)3 months ago
    Batch game movement (Tutorial)

    I made a prank, here is the code:@echo off color 4echo your computer is under viruspauseecho virus location : C:/Windows/twunk_32.exepauseecho windows is cheking for solutionpauseecho solution founded!pauseecho the solution is, delete the System32 folder from C:\Windows.pauseecho Note: delete the folder within 32 min only!!pausecolor 2echo dont do anything, it is fake applicationpause

    View Instructable »
  • TylerY6 commented on Prof. Pickle's instructable Batch game movement (Tutorial)4 months ago
    Batch game movement (Tutorial)

    Is it possible to stop the beep caused by pressing a key outside of the designated WASD?

    View Instructable »
  • JigyasuB commented on Prof. Pickle's instructable Batch game movement (Tutorial)4 months ago
    Batch game movement (Tutorial)

    I have made a snake game with many different speeds. here are the codes :@echo offif "%~1" == "startGame" goto :gameif "%~1" == "startController" goto :controller::------------------------------------------------------------:: verify existence of CHOICE command:: set up a macro appropriately depending on available versionset "choice="2>nul >nul choice /c:yn /t 0 /d yif errorlevel 1 if not errorlevel 2 set "choice=choice /cs"if not defined choice ( 2>nul >nul choice /c:yn /t:y,1 if errorlevel 1 if not errorlevel 2 set "choice=choice /s")if not defined choice ( echo ERROR: This game requires the CHOICE command, but it is missing. echo Game aborted. :( echo( echo A 16 bit port of CHOICE.EXE from FREEDOS is available at echo http://winsupport.org/utilities/freedos-choice.ht... echo( echo A 32 bit version from ??? suitable for 64 bit machines is available at echo http://hp.vector.co.jp/authors/VA007219/dkclonesu... echo( exit /b)::---------------------------------------------------------------------:: setup some global variables used by both the game and the controllerset "keys=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"set "keyFile=key.txt"set "cmdFile=cmd.txt"::------------------------------------------:: launch the game and the controllercopy nul "%keyFile%" >nulstart "" /b "%~f0" startController 9^>^>%keyFile% 2^>nul ^>nulcmd /c "%~f0" startGame 9^<%keyFile% ^<nulecho(::--------------------------------------------------------------------------------:: Upon exit, wait for the controller to close before deleting the temp input file:close2>nul (>>"%keyFile%" call )||goto :closedel "%keyFile%"exit /b:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::gamesetlocal disableDelayedExpansiontitle %~nx0cls::----------------------------:: user configurable optionsset "up=W"set "down=S"set "left=A"set "right=D"set "width=40" max=99set "height=25" max=99:: max playing field: (width-2)*(height-2) <= 1365::----------------------------:: resize the console windowset /a cols=width+1, lines=height+10, area=(width-2)*(height-2)if %area% gtr 1365 ( echo ERROR: Playfield area too large >"%cmdFile%" (echo quit) exit)if %lines% lss 14 set lines=14if %cols% lss 46 set cols=46mode con: cols=%cols% lines=%lines%::----------------------------:: define variablesset "spinner1=-"set "spinner2=\"set "spinner3=|"set "spinner4=/"set "spinner= spinner1 spinner2 spinner3 spinner4 "set "space= "set "bound=#"set "food=+"set "head=@"set "body=O"set "death=X"set "playerSpace=%space%%food%"set "xDiff%up%=+0"set "xDiff%down%=+0"set "xDiff%left%=-1"set "xDiff%right%=+1"set "yDiff%up%=-1"set "yDiff%down%=+1"set "yDiff%left%=+0"set "yDiff%right%=+0"set "%up%Axis=Y"set "%down%Axis=Y"set "%left%Axis=X"set "%right%Axis=X"set "delay1=20"set "delay2=15"set "delay3=10"set "delay4=7"set "delay5=5"set "delay6=3"set "delay0=0"set "desc1=Sluggard"set "desc2=Crawl"set "desc3=Slow"set "desc4=Normal"set "desc5=Fast"set "desc6=Insane"set "desc0=Unplayable"set "spinnerDelay=3"set /a "width-=1, height-=1"::---------------------------:: define macros::define a Line Feed (newline) string (normally only used as !LF!)set LF=^::Above 2 blank lines are required - do not remove::define a newline with line continuationset ^"\n=^^^%LF%%LF%^%LF%%LF%^^":: setErr::: Sets the ERRORLEVEL to 1set "setErr=(call)":: clrErr::: Sets the ERRORLEVEL to 0set "clrErr=(call )":: getKey ValidKeys::: Check for keypress. Only accept keys listed in ValidKeys::: Return result in Key variable. Key is undefined if no valid keypress.set getKey=%\n%for %%# in (1 2) do if %%#==2 (for /f "eol= delims= " %%1 in ("!args!") do (%\n% set "validKeys=%%1"%\n% set "key="%\n% ^<^&9 set /p "key="%\n% if defined key if "!key!" neq ":" (%\n% set /a key-=1%\n% for %%K in (!key!) do set "key=!keys:~%%K,1!"%\n% )%\n% for %%K in (!key!) do if "!validKeys:%%K=!" equ "!validKeys!" set "key="%\n%)) else set args=:: draw::: draws the boardset draw=%\n%cls%\n%for /l %%Y in (0,1,%height%) do echo(!line%%Y!%\n%echo Speed=!Difficulty!%\n%echo Score=!score!:: test X Y ValueListVar::: tests if value at coordinates X,Y is within contents of ValueListVarset test=%\n%for %%# in (1 2) do if %%#==2 (for /f "tokens=1-3" %%1 in ("!args!") do (%\n% for %%A in ("!line%%2:~%%1,1!") do if "!%%3:%%~A=!" neq "!%%3!" %clrErr% else %setErr%%\n%)) else set args=:: plot X Y ValueVar::: places contents of ValueVar at coordinates X,Yset plot=%\n%for %%# in (1 2) do if %%#==2 (for /f "tokens=1-3" %%1 in ("!args!") do (%\n% set "part2=!line%%2:~%%1!"%\n% set "line%%2=!line%%2:~0,%%1!!%%3!!part2:~1!"%\n%)) else set args=::--------------------------------------:: start the gamesetlocal enableDelayedExpansioncall :initialize::--------------------------------------:: main loop (infinite loop)for /l %%. in (1 0 1) do ( %=== compute time since last move ===% for /f "tokens=1-4 delims=:.," %%a in ("!time: =0!") do set /a "t2=(((1%%a*60)+1%%b)*60+1%%c)*100+1%%d-36610100, tDiff=t2-t1" if !tDiff! lss 0 set /a tDiff+=24*60*60*100 if !tDiff! geq !delay! ( %=== delay has expired, so time for movement ===% %=== establish direction ===% %getKey% ASDW for %%K in (!key!) do if "!%%KAxis!" neq "!axis!" ( set /a "xDiff=xDiff%%K, yDiff=yDiff%%K" set "axis=!%%KAxis!" ) %=== erase the tail ===% set "TX=!snakeX:~-2!" set "TY=!snakeY:~-2!" set "snakeX=!snakeX:~0,-2!" set "snakeY=!snakeY:~0,-2!" %plot% !TX! !TY! space %=== compute new head location and attempt to move ===% set /a "X=PX+xDiff, Y=PY+yDiff" set "X= !X!" set "Y= !Y!" set "X=!X:~-2!" set "Y=!Y:~-2!" (%test% !X! !Y! playerSpace) && ( %=== move successful ===% %=== remove the new head location from the empty list ===% for %%X in ("!X!") do for %%Y in ("!Y!") do set "empty=!empty:#%%~X %%~Y=!" (%test% !X! !Y! food) && ( %=== moving to food - eat it ===% %=== restore the tail ===% %plot% !TX! !TY! body set "snakeX=!snakeX!!TX!" set "snakeY=!snakeY!!TY!" %=== increment score and locate and draw new food ===% set /a "score+=1, F=(!random!%%(emptyCnt-=1))*6+1" for %%F in (!F!) do (%plot% !empty:~%%F,5! food) ) || ( %=== moving to empty space ===% %=== add the former tail position to the empty list ===% set "empty=!empty!#!TX! !TY!" ) %=== draw the new head ===% if defined snakeX (%plot% !PX! !PY! body) %plot% !X! !Y! head %=== Add the new head position to the snake strings ===% set "snakeX=!X!!snakeX!" set "snakeY=!Y!!snakeY!" set "PX=!X!" set "PY=!Y!" %draw% ) || ( %=== failed move - game over ===% %plot% !TX! !TY! body call :spinner !PX! !PY! death %draw% echo( call :ask "Would you like to play again? (Y/N)" YN if /i "!key!" equ "N" ( >"%cmdFile%" (echo quit) exit ) else ( call :initialize ) ) set /a t1=t2 )):ask Prompt ValidKeys:: Prompt for a keypress. ValidKeys is a list of acceptable keys:: Wait until a valid key is pressed and return result in Key variable>"%cmdFile%" (echo prompt)<nul set /p "=%~1 ":purge(%getKey% :)if not defined key goto :purge:getResponse(%getKey% %2)if not defined key ( >"%cmdFile%" (echo one) goto :getResponse)exit /b:spinner X Y ValueVarset /a d1=-1000000for /l %%N in (1 1 5) do for %%C in (%spinner%) do ( call :spinnerDelay %plot% %1 %2 %%C %draw%)call :spinnerDelay(%plot% %1 %2 %3)exit /b:spinnerDelayfor /f "tokens=1-4 delims=:.," %%a in ("!time: =0!") do set /a "d2=(((1%%a*60)+1%%b)*60+1%%c)*100+1%%d-36610100, dDiff=d2-d1"if %dDiff% lss 0 set /a dDiff+=24*60*60*100if %dDiff% lss %spinnerDelay% goto :spinnerDelayset /a d1=d2exit /b::-------------------------------------:initializeclsecho Speed Options:echo delayecho # Description (seconds)echo --- ----------- ---------echo 1 Sluggard 0.20echo 2 Crawl 0.15echo 3 Slow 0.10echo 4 Normal 0.07echo 5 Fast 0.05echo 6 Insane 0.03echo 0 Unplayable noneecho(call :ask "Pick a speed (1-6, 0):" 1234560set "difficulty=!desc%key%!"set "delay=!delay%key%!"echo %key% - %difficulty%echo(<nul set /p "=Initializing."set "axis=X"set "xDiff=+1"set "yDiff=+0"set "empty="set /a "PX=1, PY=height/2, FX=width/2+1, FY=PY, score=0, emptyCnt=0, t1=-1000000"set "snakeX= %PX%"set "snakeY= %PY%"set "snakeX=%snakeX:~-2%"set "snakeY=%snakeY:~-2%"for /l %%Y in (0 1 %height%) do ( <nul set /p "=." set "line%%Y=" for /l %%X in (0,1,%width%) do ( set "cell=" if %%Y equ 0 set "cell=%bound%" if %%Y equ %height% set "cell=%bound%" if %%X equ 0 set "cell=%bound%" if %%X equ %width% set "cell=%bound%" if %%X equ %PX% if %%Y equ %PY% set "cell=%head%" if not defined cell ( set "cell=%space%" set "eX= %%X" set "eY= %%Y" set "empty=!empty!#!eX:~-2! !eY:~-2!" set /a emptyCnt+=1 ) if %%X equ %FX% if %%Y equ %FY% set "cell=%food%" set "line%%Y=!line%%Y!!cell!" ))(%draw%)echo(echo Movement keys: %up%=up %down%=down %left%=left %right%=rightecho Avoid running into yourself (%body%%body%%head%) or wall (%bound%)echo Eat food (%food%) to grow.echo(call :ask "Press any alpha-numeric key to start..." %keys%>"%cmdFile%" (echo go)exit /b:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::controllersetlocal enableDelayedExpansionset "cmd=hold"set "key="for /l %%. in (1 0 1) do ( if "!cmd!" neq "hold" ( %choice% /n /c:!keys! set "key=!errorlevel!" ) if exist "%cmdFile%" ( <"%cmdFile%" set /p "cmd=" del "%cmdFile%" ) if "!cmd!" equ "quit" exit if defined key ( if "!cmd!" equ "prompt" >&9 (echo :) >&9 (echo !key!) if "!cmd!" neq "go" set "cmd=hold" set "key=" )copy these codes and save in notepad as a .bat file.enjoy the game)

    View Instructable »
  • Thierryigeno followed Prof. Pickle5 months ago
  • spoopym commented on Prof. Pickle's instructable Batch game movement (Tutorial)7 months ago
    Batch game movement (Tutorial)

    put an extra space after the set length=%length% part

    View Instructable »
  • Ky-kun followed Prof. Pickle7 months ago
  • websitedesigning commented on Prof. Pickle's instructable Website Design Template8 months ago
    Website Design Template

    Get 8 Page Website, Domain, Hosting, Email Ids, SEO & More with 30% Off! call Now :- +91-9582515180 click here

    View Instructable »
  • Adikpls followed Prof. Pickle9 months ago
  • MustafeY followed Prof. Pickle9 months ago
  • How to Create your own Commands with Batch

    Great tut. In your command code, do you need the @setlocal enabledelayedexpansion thing? Or can you change the enabledelayexpansion? It would be great if you answer.

    View Instructable »