elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programaci๓n / Scripting / [aporte][batch] 3 en raya en batch en: 15 Junio 2014, 22:27 pm
Es un 3 en raya multijugador programado en batch y que hice por una apuesta xD.

lo cuelgo aqui por si a alguien le interesa o le es de utilidad.

Tambi้n acepto ideas de como mejorarlo, tanto el c๓digo como a๑adidos para el juego.

Código:
@echo off & mode con: cols=59 lines=40
set ver=1.2.0
Title Tic Tac Toe %ver%

REM Variables editables
set $=ฺฤฟ
set ๚=ณ ณ
set ม=ภฤู
set ำ= 
set ษ= 
set อ= 
set marname1=Circulos  
set marname2=Equis    
set player01=Player1  
set player02=Player2  
REM Variables de sistema
set win=  
set nextgame=0
set /a a=  0
set /a b=  0
Set /a primer=(%Random% %%9)
REM Variables no editables
:RETURN
set /a turno=0
set c=  
set d=  
set e=-1-
set f=  
set g=  
set h=-2-
set i=  
set j=  
set k=-3-
set l=  
set m=  
set n=-4-
set o=  
set p=  
set q=-5-
set r=  
set s=  
set t=-6-
set u=  
set v=  
set w=-7-
set x=  
set y=  
set z=-8-
set ๑=  
set @=  
set ็=-9-
set "counter=0"
:loop3
if %counter%==3 (goto endloop3)
set "a=%a% "
set/a "counter=%counter%+1"
goto loop3
:endloop3
set a=%a:~0,3%
set "counter=0"
:loop4
if %counter%==3 (goto endloop4)
set "b=%b% "
set/a "counter=%counter%+1"
goto loop4
:endloop4
set b=%b:~0,3%
if %nextgame%==1 goto INICIO
:MENU
cls
echo.
echo ษออออออออออออออออออออออออออออออออออออออออออออออออออออออออป
echo บ                   Tic Tac Toe %ver%                    บ
echo ฬออออออออออออออออออออออออออออออออออออออออออออออออออออออออน
echo บ    Elija un nombre jugador 1:   (max 10 caracteres)    บ
echo ศออออออออออออออออออออออออออออออออออออออออออออออออออออออออผ |MORE
set /p "player01="
set "counter=0"
:loop
if %counter%==10 (goto endloop)
set "player01=%player01% "
set/a "counter=%counter%+1"
goto loop
:endloop
set player01=%player01:~0,10%
cls
echo.
echo ษออออออออออออออออออออออออออออออออออออออออออออออออออออออออป
echo บ                   Tic Tac Toe %ver%                    บ
echo ฬออออออออออออออออออออออออออออออออออออออออออออออออออออออออน
echo บ    Elija un nombre jugador 2:   (max 10 caracteres)    บ
echo ศออออออออออออออออออออออออออออออออออออออออออออออออออออออออผ |MORE
set /p "player02="
set "counter=0"
:loop2
if %counter%==10 (goto endloop2)
set "player02=%player02% "
set/a "counter=%counter%+1"
goto loop2
:endloop2
set player02=%player02:~0,10%
cls
echo.
echo.ษออออออออออออออออออออออออออออออออออออออออออออออออออออออออป
echo บ              elige un signo %player01%                 บ
echo ฬออออออออออออออออออออออออออออออออออออออออออออออออออออออออน
echo บ                                                        บ
echo บ     %$%                        %ำ%                     บ
echo บ     %๚%  1.%marname1%          %ษ%  2.%marname2%       บ
echo บ     %ม%                        %อ%                     บ
echo บ                                                        บ
echo ศออออออออออออออออออออออออออออออออออออออออออออออออออออออออผ |MORE
if not defined signo set signo=0
set /p "signo="
if %signo%==1 (
set signop1a=%$%
set signop1b=%๚%
set signop1c=%ม%
set signop2a=%ำ%
set signop2b=%ษ%
set signop2c=%อ%
goto INICIO
)
if %signo%==2 (
set signop1a=%ำ%
set signop1b=%ษ%
set signop1c=%อ%
set signop2a=%$%
set signop2b=%๚%
set signop2c=%ม%
goto INICIO
)
goto endloop2

:INICIO
set colocar=0
cls
echo ษออออออออออออออออออออออออออออออออออออออออออออออออออออออออป
echo บ                                                        บ
echo บ                                                        บ
echo บ  ษอออออออออหอออออออออหอออออออออป   ษออออออออออออหอออป  บ
echo บ  บ         บ         บ         บ   บ %player01% บ%a%บ  บ
echo บ  บ   %c%   บ   %f%   บ   %i%   บ   ฬออออออออออออฮอออน  บ
echo บ  บ   %d%   บ   %g%   บ   %j%   บ   บ %player02% บ%b%บ  บ
echo บ  บ   %e%   บ   %h%   บ   %k%   บ   ศออออออออออออสอออผ  บ
echo บ  บ         บ         บ         บ                       บ
echo บ  ฬอออออออออฮอออออออออฮอออออออออน                       บ
echo บ  บ         บ         บ         บ                       บ
echo บ  บ   %l%   บ   %o%   บ   %r%   บ                       บ
echo บ  บ   %m%   บ   %p%   บ   %s%   บ                       บ
echo บ  บ   %n%   บ   %q%   บ   %t%   บ                       บ
echo บ  บ         บ         บ         บ                       บ
echo บ  ฬอออออออออฮอออออออออฮอออออออออน                       บ
echo บ  บ         บ         บ         บ                       บ
echo บ  บ   %u%   บ   %x%   บ   %๑%   บ                       บ
echo บ  บ   %v%   บ   %y%   บ   %@%   บ                       บ
echo บ  บ   %w%   บ   %z%   บ   %็%   บ                       บ
echo บ  บ         บ         บ         บ                       บ
echo บ  ศอออออออออสอออออออออสอออออออออผ                       บ
echo บ                                                        บ
echo บ                             V. %ver%   By Shadowhunter บ
echo ศออออออออออออออออออออออออออออออออออออออออออออออออออออออออผ |MORE
if %turno%==0 goto PRIMERAJUGADA
if %turno% GEQ 1 goto JUGADA

:PRIMERAJUGADA
set /a turno=%turno% + 1
if %primer% GEQ 5 goto PLAYER2
goto PLAYER1
:JUGADA
if %e%==%h% (
set win=%e%
if %e%==%k% goto WIN
)
if %e%==%q% (
set win=%e%
if %e%==%็% goto WIN
)
if %e%==%n% (
set win=%e%
if %e%==%w% goto WIN
)
if %็%==%z% (
set win=%็%
if %็%==%w% goto WIN
)
if %็%==%t% (
set win=%็%
if %็%==%k% goto WIN
)
if %n%==%q% (
set win=%n%
if %n%==%t% goto WIN
)
if %h%==%q% (
set win=%h%
if %h%==%z% goto WIN
)
if %k%==%q% (
set win=%k%
if %k%==%w% goto WIN
)
if %turno%==10 goto EMPATE
if %playerturn%==1 Call :PLAYER2
Call :PLAYER1

:EMPATE
echo ษออออออออออออออออออออออออออออออออออออออป
echo บ Empate entre %player01% y %player02% บ
echo ศออออออออออออออออออออออออออออออออออออออผ |MORE
echo Se iniciara una nueva partida. |MORE
pause
set nextgame=1
goto RETURN
:WIN
if %win%==%signop1c% (
set player00=%player01%
set /a a=%a%+1
Call :CABWIN
)
if %win%==%signop2c% (
set player00=%player02%
set /a b=%b%+1
Call :CABWIN
)

:PLAYER1
CALL :CABPLAYER1
echo Colocar en -1-
echo Colocar en -2-
echo Colocar en -3-
echo Colocar en -4-
echo Colocar en -5-
echo Colocar en -6-
echo Colocar en -7-
echo Colocar en -8-
echo Colocar en -9-
set /p "colocar=Casilla "
Call :COMPROBARCASILLA
if %colocar%==1 (
set c=%signop1a%
set d=%signop1b%
set e=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==2 (
set f=%signop1a%
set g=%signop1b%
set h=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==3 (
set i=%signop1a%
set j=%signop1b%
set k=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==4 (
set l=%signop1a%
set m=%signop1b%
set n=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==5 (
set o=%signop1a%
set p=%signop1b%
set q=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==6 (
set r=%signop1a%
set s=%signop1b%
set t=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==7 (
set u=%signop1a%
set v=%signop1b%
set w=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==8 (
set x=%signop1a%
set y=%signop1b%
set z=%signop1c%
goto :ENDPLAYER1
)
if %colocar%==9 (
set ๑=%signop1a%
set @=%signop1b%
set ็=%signop1c%
goto :ENDPLAYER1
)
goto ERROR02
:ENDPLAYER1
set playerturn=1
set /a turno=%turno% + 1
goto INICIO
:PLAYER2
CALL :CABPLAYER2
echo Colocar en -1-
echo Colocar en -2-
echo Colocar en -3-
echo Colocar en -4-
echo Colocar en -5-
echo Colocar en -6-
echo Colocar en -7-
echo Colocar en -8-
echo Colocar en -9-
set /p "colocar=Casilla "
Call :COMPROBARCASILLA
if %colocar%==1 (
set c=%signop2a%
set d=%signop2b%
set e=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==2 (
set f=%signop2a%
set g=%signop2b%
set h=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==3 (
set i=%signop2a%
set j=%signop2b%
set k=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==4 (
set l=%signop2a%
set m=%signop2b%
set n=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==5 (
set o=%signop2a%
set p=%signop2b%
set q=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==6 (
set r=%signop2a%
set s=%signop2b%
set t=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==7 (
set u=%signop2a%
set v=%signop2b%
set w=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==8 (
set x=%signop2a%
set y=%signop2b%
set z=%signop2c%
goto :ENDPLAYER2
)
if %colocar%==9 (
set ๑=%signop2a%
set @=%signop2b%
set ็=%signop2c%
goto :ENDPLAYER2
)
goto ERROR02
:ENDPLAYER2
set playerturn=0
set /a turno=%turno% + 1
goto INICIO

:COMPROBARCASILLA
if %colocar%==1 (
if not %e%==-1- goto ERROR01
)
if %colocar%==2 (
if not %h%==-2- goto ERROR01
)
if %colocar%==3 (
if not %k%==-3- goto ERROR01
)
if %colocar%==4 (
if not %n%==-4- goto ERROR01
)
if %colocar%==5 (
if not %q%==-5- goto ERROR01
)
if %colocar%==6 (
if not %t%==-6- goto ERROR01
)
if %colocar%==7 (
if not %w%==-7- goto ERROR01
)
if %colocar%==8 (
if not %z%==-8- goto ERROR01
)
if %colocar%==9 (
if not %็%==-9- goto ERROR01
)
goto :eof

:CABPLAYER1
echo ษอออออออออออออออออออออป
echo บ Turno de %player01% บ
echo ศอออออออออออออออออออออผ
goto :EOF
:CABPLAYER2
echo ษอออออออออออออออออออออป
echo บ Turno de %player02% บ
echo ศอออออออออออออออออออออผ
goto :EOF
:CABWIN
echo ษออออออออออออออออออออออออป
echo บ Victoria de %player00% บ
echo ศออออออออออออออออออออออออผ |MORE
echo Se iniciara una nueva partida. |MORE
pause
set nextgame=1
goto RETURN

:ERROR
cls
echo.
echo ษอออออออออออป
echo บ   ERROR   บ
echo ศอออออออออออผ
echo 
goto :EOF
:ERROR01
call :ERROR
echo Esa casilla ya esta ocupada. |MORE
pause & goto INICIO
:ERROR02
call :ERROR
echo Tiene que seleccionar una casilla. |MORE
pause & goto INICIO
2  Programaci๓n / Scripting / [batch] conexi๓n FTP en Batch en: 14 Noviembre 2013, 23:02 pm
Me gustaria saber si alguien me podria echar una mano con esto;

Necesito hacer un bat que me suba varios archivos a un servidor FTP y tambien necesito un bat cliente que compare una parte del codigo de los archivos (un REM por ejemplo que ponga Version de archivo: X) y si la version no coincida lo baje en el equipo cliente.

El problema es que no se si seria posible ya que no tengo idea de redes, si alguien sabe como se podria hacer esto o conoce de algun buen manual se lo agradezco.  ;-)
3  Programaci๓n / Scripting / [Batch] Menu batch dinamico en: 1 Noviembre 2013, 11:43 am
Necesito ayuda a encontrar donde falla este codigo:

Código:
@echo off & COLOR 70 & mode con: cols=75 lines=30
title Animefiles 1.3.2

@set ruta1= %CD%
Set "Directory=%CD%\plugins"

set sep=อออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ
SETLOCAL
CD Plugins
if exist autorun.txt (
<"autorun.txt" set /p "run="
call %run%
)
ENDLOCAL

:MENU
CD %ruta1%
cls
echo.
echo             ษอออออออออออออออออออออออออออออออออออออออออออออป
echo             บ                 Animefiles                  บ
echo             ฬอออออออออออออออออออออหอออออออออออออออออออออออน
echo             บ   Version 1.3.2     บ    By Shadowhunter    บ
echo             ศอออออออออออออออออออออสอออออออออออออออออออออออผ |MORE
echo Elija una opcion: |MORE
echo %sep%
echo 1 .Crear una nueva lista.
echo 2 .Ver listas.
echo 3 .Eliminar una lista.
echo 4 .Incluir un anime a una lista.
echo 5 .Eliminar un anime de una lista.
echo 6 .Buscar un anime.
echo 7 .Activar Plugins.
echo 8 .Abrir carpeta contenedora.
echo 9 .Ayuda.
echo 10.Salir.
echo ฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤฤ
setlocal
For %%# in (
"%Directory%\*.bat"
) Do (
Set /A "FileCount+=1"
Set "File!FileCount!=%%~nx#"
)
For /L %%X in (1, 1, !FileCount!) Do (
Type "%Directory%\activados.txt" | Findstr /I "!File%%X!" 1>NUL 2>&1
Echo %%X. !File%%X! | MORE
)
endlocal
echo %sep%
echo.
set menu=0
set/p "menu=>"
if %menu%==1 goto CREAR
if %menu%==2 goto LISTAS
if %menu%==3 goto DEL
if %menu%==4 goto INDAT
if %menu%==5 goto DELANIME
if %menu%==6 goto BUSCAR
if %menu%==7 goto ACTIVAR
if %menu%==8 goto OPENC
if %menu%==9 goto MENU2
if %menu%==10 goto exit
cls
echo.
echo Opcion no valida. |MORE
pause
goto MENU

:CREAR
:LISTAS
:DEL
:INDAT
:DELANIME
:BUSCAR
:ACTIVAR
:OPENC
:MENU2
exit

El programa deberia de cargar una serie de nombres de archivos que estarian almacenados en activados.txt de la forma:

prueba1.bat
prueba2.bat
prueba3.bat
....

y mostrarlos como un menu de la forma:

1. prueba1
2. prueba2
3. prueba3
....

Pero no consigo que se muestre en pantalla, al igual que tambien deberia de cargar el nombre de un unico archivo almacenado en autorun.txt si existe y ejecutar ese archivo, pero me lo carga y no lo ejecuta.

agradezco cualquier ayuda u opinion al respecto.
4  Programaci๓n / Scripting / [Batch] Ayuda con c๓digo en: 11 Octubre 2013, 16:24 pm
Hola, alguien podria decirme donde me estoy equivocando?

Tengo este code:

Código:
@Echo OFF & Color 70 & MODE con cols=75
Title Animefiles 1.3.2

CD Plugins
if not exist Activados.txt (
--------->Activados.txt
)

:ACTIVAR
cls
SETLOCAL EnableDelayedExpansion
Set "Directory=%CD%\plugins"

For %%# in (
"%Directory%\*.bat"
) Do (
Set /A "FileCount+=1"
Set "File!FileCount!=%%~nx#"
)
echo.
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ |MORE
For /L %%X in (1, 1, !FileCount!) Do (
Type "%Directory%\activados.txt" | Findstr /V /I "!File%%X!" do (set info=Activado)
if not defined info (set info=Desactivado)
Echo %%X. !File%%X! %info% | MORE
)
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ|MORE
echo Seleccione el plugin que desea activar:
echo.
Set /P "SelectFiles=
Set "SelectFiles=%SelectFiles: =%"
For %%# in (%SelectFiles%) Do (
Echo "!File%%#!" >> Activados.txt
)
pause
exit

El programa se encuentra en la ruta .\Programfiles\Animefiles y tanto los bat como el archivo Activados.txt en el subdirectorio Plugins. Lo que intento es que el for a la vez que imprime en pantalla los bat disponibles en la carpeta plugins, compare sus nombres con los almacenados en el archivo Activados y segun eso, la variable info imprima desactivado si no estan o activado si estan en la lista.

5  Programaci๓n / Scripting / (solucionado) [batch] error con findstr en: 9 Octubre 2013, 13:49 pm
Estoy haciendo una peque๑a utililidad que se basa principalmente en la creaci๓n y edici๓n de archivos .txt y tengo un problema con la parte de eliminar una linea concreta de un txt.

el programa primero nos muestra en pantalla el contenido del txt:



y nos da a elegir que contenido queremos eliminar, pero al escribirlo en vez de decir que se ha eliminado y volver a cargar la ventana, carga directamente y sin eliminar el contenido:



Alguien sabria decirme donde esta equivocado el codigo????

Código:
@echo off
title Animefiles 1.3.2
COLOR 70
mode con: cols=75
@set ruta1= %CD%\Files
:RETURN
CD Files
cls
echo.
echo ษอออออออออออออออออออออออป
echo บ  Eliminar un anime    บ
echo ศอออออออออออออออออออออออผ |MORE
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ |MORE
Dir /b
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ |MORE
Echo introduzca la lista de donde quiere eliminar un anime:
echo.
set/p "anime=>"
if not exist %anime%.txt goto ERROR2
if not defined anime goto RETURN
:RESETDEL
cls
echo.
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ |MORE
FOR /F "tokens=*" %%A IN (%anime%.txt) DO (echo.%%A) |MORE
echo ออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออออ |MORE
echo Para salir del modo, cerrar el programa. |MORE
echo Seleccione el anime a borrar:
echo.
set/p "borrar=>"
if not defined borrar goto resetdel
echo.
Type "%ruta1%\%anime%.txt" | findstr /V /I "%borrar%">"%ruta1%\%anime%.tmp"
Del /Q "%ruta1%\%anime%.txt"
Rename "%ruta1%\%anime%.tmp" "%anime%.txt"
cls
echo.
echo el anime ha sido eliminado satisfactoriamente. |MORE
pause
goto RESETDEL

:ERROR2
cls
echo ษอออออออออออป
echo บ   ERROR   บ
echo ศอออออออออออผ |MORE
echo No existe una lista con ese nombre. |MORE
pause
CD..
start Animefiles
exit
6  Programaci๓n / Scripting / [Batch] ayuda con menu bat en: 9 Octubre 2013, 13:12 pm
Me gustaria saber como puedo crear un bat que al ejecutarse carge un menu desde un txt generado previamente por otro bat?

gracias de antemano!  ;-)
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines