1

Iniciado por tmb90, 29 Diciembre 2012, 07:36 AM

0 Miembros y 1 Visitante están viendo este tema.

tmb90

1
1

Eleкtro

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.




   

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









Binary_Death

Sin ubicar las cosas en pantalla, lo único que se puede hacer es un test de preguntas o un piedra papel tijeras.

Aburrido  :xD

Eleкtro

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 ;)








$Edu$

Yo no he visto ni el simulador de SO en batch..

Ori-chan

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.


Eleкtro

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!









Binary_Death

#7
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

imlikeabird34

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