Test Foro de elhacker.net SMF 2.1

Programación => Scripting => Mensaje iniciado por: tmb90 en 29 Diciembre 2012, 07:36 AM

Título: 1
Publicado por: tmb90 en 29 Diciembre 2012, 07:36 AM
1
Título: Re: Concurso de videojuego en Batch
Publicado por: Eleкtro en 29 Diciembre 2012, 08:36 AM
Cita de: tmb90 en 29 Diciembre 2012, 07:36 AMno debera incluir sistema de coordenadas.

Aquí va uno pues xD:

Cita de: EleKtro H@cker en  8 Agosto 2012, 11:45 AM
Lo sé, No es gran cosa, Solo lo hice por aburrimiento!

Saludos.




(http://img28.imageshack.us/img28/5953/captura4xq.png)    (http://img844.imageshack.us/img844/9821/captura3au.png)

Código (dos) [Seleccionar]
@Echo OFF
Title Piedra, Papel, O tijera!  (By Elektro H@cker)
Color 0F
Mode con cols=60 lines=26

:Play
CLS
Set WIN=
Echo.
Echo:              Player      [MARCADOR]      COM
Echo:                %POINTS%                          %COMPOINTS%
Echo: __________________________________________________________
Echo:                                                                            | MORE
Echo:       [1] O              [2] #              [3] 8^^^<                      | MORE
Echo:       Piedra             Papel              Tijera    | MORE | MORE | MORE | MORE

Choice /C 123 /M "¨Que llevas en la mano? "

Set Player=%ERRORLEVEL%
Set COMPlayer=%RANDOM:~0,1%
If %COMPlayer% GTR 3 (Set /A COMPlayer=3)

CLS
IF %PLAYER% EQU 1    (Set PlayerHAND=una piedra)
IF %PLAYER% EQU 2    (Set PlayerHAND=un papel)
IF %PLAYER% EQU 3    (Set PlayerHAND=una tijera)
Echo+ & Echo: Sacaste %PlayerHAND%! | MORE
Call :ANI%PLAYER%

IF %COMPLAYER% EQU 1 (Set COMHAND=una piedra)
IF %COMPLAYER% EQU 2 (Set COMHAND=un papel)
IF %COMPLAYER% EQU 3 (Set COMHAND=una tijera)
Echo: La consola sac¢ %COMHAND%! | MORE
Call :ANI%COMPLAYER%

IF DEFINED WIN (
IF "%WIN%" EQU "SI" (Echo: GANASTE!  & Set /A Points+=1)
IF "%WIN%" EQU "NO" (Echo: PERDISTE! & Set /A COMPOINTS+=1)
) ELSE (Echo: EMPATE!)

Timeout /T 3 2>NUL || (Pause)
Goto :Play


:ANI1
Echo:         ________________
Echo:      .='==============;:\
Echo:      ^|                ^|:^|
Echo:      ^|                ^|:^|
Echo:      ^|                ^|;^|
Echo:      ^|                ^|;/
Echo:      '================'` | MORE
If %PLAYER% EQU 2 (Set Win=SI)
If %PLAYER% EQU 3 (Set Win=NO)
Goto :EOF

:ANI2
Echo:            _________
Echo:          /-        -/
Echo:         /~~======~~/
Echo:        /          /
Echo:       (          (
Echo:        `==========` | MORE
If %PLAYER% EQU 1 (Set Win=NO)
If %PLAYER% EQU 3 (Set Win=SI)
Goto :EOF

:ANI3
Echo:        ___               __
Echo:       / _ \          _.-'_.'
Echo:       \____`-.____.-'_.-'
Echo:            `-. _.\.-'
Echo:        ____.-'`__/-._
Echo:       / _  .-'`  '-._`-._
Echo:       \___/          '-._'-.
Echo:                          `-` | MORE
If %PLAYER% EQU 1 (Set Win=SI)
If %PLAYER% EQU 2 (Set Win=NO)
Goto :EOF

Título: Re: Concurso de videojuego en Batch
Publicado por: Binary_Death en 30 Diciembre 2012, 03:17 AM
Sin ubicar las cosas en pantalla, lo único que se puede hacer es un test de preguntas o un piedra papel tijeras.

Aburrido  :xD
Título: Re: Concurso de videojuego en Batch
Publicado por: Eleкtro en 30 Diciembre 2012, 09:34 AM
Cita de: Binary_Death en 30 Diciembre 2012, 03:17 AMSin ubicar las cosas en pantalla, lo único que se puede hacer es un test de preguntas o un piedra papel tijeras.

Cierto, sin coordenadas ningun batch game se puede comparar a tu Batch-Tetris xD
PD: Deseando verlo compatible en x64 ;)
Título: Re: Concurso de videojuego en Batch
Publicado por: $Edu$ en 30 Diciembre 2012, 15:08 PM
Yo no he visto ni el simulador de SO en batch..
Título: Re: Concurso de videojuego en Batch
Publicado por: Ori-chan en 30 Diciembre 2012, 15:29 PM
El piedra papel o tijeras es muy facil de hacer. Por que no intentais un piedra, papel, tijeras, lagarto, spock? Yo pondria el codigo, pero estoy con el movil (Me lo paso Meine programmen).

Ademas, creo que EleKtro una vez hizo un tetris que porcierto, me encanto.
Título: Re: Concurso de videojuego en Batch
Publicado por: Eleкtro en 30 Diciembre 2012, 16:29 PM
Cita de: Ori-chan en 30 Diciembre 2012, 15:29 PMcreo que EleKtro una vez hizo un tetris que porcierto, me encanto.
Nunca he hecho un juego así, de movimiento y coordenadas,
Segúramente te refieres a este magnifico juego: [BATCH GAME] ¡Batch Tetris V 1.0! (http://foro.elhacker.net/empty-t367983.0.html)

(http://i821.photobucket.com/albums/zz137/binary_death/tetris_v2.png)
Título: Re: Concurso de videojuego en Batch
Publicado por: Binary_Death en 31 Diciembre 2012, 04:14 AM
Cita de: EleKtro H@cker en 30 Diciembre 2012, 09:34 AM
Cierto, sin coordenadas ningun batch game se puede comparar a tu Batch-Tetris xD
PD: Deseando verlo compatible en x64 ;)

Es que la cosa es jodida... para hacerlo compatible en 64 bits tendría que usar algún comando externo si quiero que siga coloreado, por ejemplo colous, y bueno, sería rediseñar una gran parte del código.
Tal vez lo haga algún día, pero creo que por aquí algunos ya conocen la aversión que le tengo a las utilidades externas como colous, nircmd... así que no sé.

Por cierto, hay excepciones a la regla de que sin usar un sistema de coordenadas no se puede hacer gran cosa. Por ahí he visto de vez en cuando batch games con un código un poco estrafalario (y con una cantidad de líneas mayor a la de la biblia) que son realmente impresionantes. Eso sí, se pueden optimizar mucho usando un sistema de coordenadas.

Dejaré aquí algo. Se trata de un laberinto que no usa coordenadas directamente, sino que lee lineas y hace un reemplazo de caracteres sobre ellas.


@Echo Off
SetLocal EnableDelayedExpansion
title Lineal Cordinates PoC [Labyrinth]
If Not Exist KeyBoard.Com Call:KeyGen
Set "-.LimX=0" & set "+.LimX=24"
Set "-.LimY=0" & set "+.LimY=14"
Set "CurPosX=2" & set "CurPosY=1"
Set "Player=" & Set "Table= " & Set "Block=Û" & Set "Exit=°" & Set "Point="
Set "Points=0"
Call:Create_Table
:_Main
call:Load_Graphic
KEYBOARD.COM
If "%ErrorLevel%" EQU "77" Call:_Mov "X" "+"
If "%ErrorLevel%" EQU "80" Call:_Mov "Y" "+"
If "%ErrorLevel%" EQU "75" Call:_Mov "X" "-"
If "%ErrorLevel%" EQU "72" Call:_Mov "Y" "-"
GoTo:_Main
:_Mov
if "!CurPos%~1!" EQU "!%~2.Lim%~1!" GoTo:EoF
set/a "NxCurPosX=%CurPosX%","NxCurPosY=%CurPosY%"
set/a "NxCurPos%~1%~2=1"
set "NxMov=!Line_%NxCurPosY%:~%NxCurPosX%,1!"
if "%NxMov%" EQU "%Block%" GoTo:EoF
if "%NxMov%" EQU "%Exit%"  GoTo:Win
if "%NxMov%" EQU "%Point%" set/a "Points+=1"
set "Line_%CurPosY%=!Line_%CurPosY%:%Player%=%Table%!"
set/a "CurPos%~1%~2=1"
set/a "Gx=CurPosX+1"
set "Line_%CurPosY%=!Line_%CurPosY%:~0,%CurPosX%!%Player%!Line_%CurPosY%:~%Gx%,%+.LimX%!"
GoTo:EoF
:Create_Table
Set/A Count=0
For %%_ in (
"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ",
"ÛÛÛ    Û Û    ÛÛÛÛ Û   Û",
"ÛÛ    Û  Û  Û    Û ÛÛ Û",
"ÛÛ  ÛÛÛÛÛ ÛÛ Û  ÛÛ Û Û Û",
"ÛÛÛ     Û    Û ÛÛÛÛ Û Û Û",
"ÛÛ   Û  Û Û  Û      Û Û Û",
"ÛÛ Û ÛÛ Û ÛÛ Û ÛÛÛ  Û Û Û",
"ÛÛ Û Û  Û    Û   Û    Û Û",
"ÛÛ Û Û  ÛÛÛÛ ÛÛÛ ÛÛÛÛÛÛ Û",
"ÛÛ Û       Û Û   Û      Û",
"ÛÛ Û Û  ÛÛÛÛÛÛ Û Û ÛÛÛÛ Û",
"ÛÛ ÛÛÛÛ      Û Û   Û    Û",
"Û  Û    Û ÛÛÛÛ Û ÛÛÛÛ ÛÛÛ",
"Û   ÛÛ Û        Û     Û",
"ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ°Û"
) do (
Set "Line_!Count!=%%~_"
Set/A "Count+=1"
)
GoTo:EoF
:Load_Graphic
cls&echo:           Points: %points%
For /L %%l in (%-.LimY%,1,%+.LimY%) do Echo:   !Line_%%l!
GoTo:EoF
:Win
more/c<nul
echo: You Won^^!
echo: -You have picked up %points% points.
pause 1>nul & exit
:KeyGen
(ECHO.N KEYBOARD.COM
ECHO.E 0000 B4 08 CD 21 3C 00 75 02 CD 21 B4 4C CD 21
ECHO.R CX
ECHO.000E
ECHO.W0
ECHO.Q)|DEBUG 1>NUL 2>&1
GOTO:EOF


El como el foro no se lleva bien con caracteres especiales, aquí podéis descargarlo:
https://www.dropbox.com/s/ct11vve2q93a3yl/Labyrinth%20PoC.bat

Saludos  :P
Título: Re: Concurso de videojuego en Batch
Publicado por: imlikeabird34 en 31 Diciembre 2012, 21:31 PM
en esta pagina hay un juego de ajedrez aunque le falta la inteligencia artificial tiene buena pinta , les dejo el link por si alguien desea terminarlo. no lo hice yo.
http://www.taringa.net/posts/apuntes-y-monografias/5376893/Quieren-joder-a-sus-amigos_-BATCH.html
Saludos