Author Id: 12296 Author Name: cosarara97 Post Content: He perdido el tiempo esta tarde reimplementando este código =P. Solo he hecho la mecánica básica, es decir, sacar cartas sin contrincante ni apuestas. De todos modos, creo que me ha quedado un código bastante limpio. #dyn 0x800000 #define CARD 0x4020 #define TOTAL 0x4021 #define D 0x4022 #define REG1 0x40F1 #define REG2 0x40F2 #define LASTRESULT 0x800D #org @play setvar TOTAL 0 call @getcard call @getcard :card_loop msgbox @wantacard callstd 5 if (LASTRESULT == 0) { jump :card_loop_end } call @getcard jump :card_loop :card_loop_end closemsg end #org @getcard call @drawcard ' TOTAL += CARD copyvar REG2 TOTAL copyvar REG1 CARD call @add copyvar TOTAL REG2 ' if (TOTAL > 21) { if (CARD == 11) { subtractvar TOTAL 10 } else { jump @lost } } call (a)echototal return #org (a)echototal storevar 0 TOTAL msgbox @total callstd 6 return #org @drawcard random 12 copyvar CARD LASTRESULT addvar CARD 1 if (CARD == 1) { msgbox @as callstd 6 addvar CARD 10 return } if (CARD <= 10) { storevar 0 CARD msgbox @num callstd 6 return } if (CARD == 11) { msgbox (a)jota callstd 6 setvar CARD 10 return } if (CARD == 12) { msgbox (a)reina callstd 6 setvar CARD 10 return } if (CARD == 13) { msgbox @rei callstd 6 setvar CARD 10 return } msgbox @fail callstd 6 end #org @lost storevar 0 TOTAL msgbox @yalost callstd 6 end ' Is there a better way to do arithmetic? ' There has to be... #org @add while (REG1 != 0) { addvar REG2 1 subtractvar REG1 1 } return #org @sub while (REG1 != 0) { subtractvar REG2 1 subtractvar REG1 1 } return #org @fail = FATAL ERROR\nCRASH AND BURN!\lFAIL! #org @as = Un AS! #org @num = Un \v\h02! #org (a)jota = Una jota! #org (a)reina = Una reina! #org @rei = Un rey! #org @total = Total: \v\h02. #org @wantacard = Quieres una carta? #org @yalost = Te has pasado, chico.\nSuman \v\h02. Compila (solo?) con la última versión de Red Alien (aka ASC) de git - como siempre que hago un script, he ido mejorando el compilador a medida que escribía. De todos modos, debería ser muy fácil de adaptar a PKSV y no demasiado complicado de adaptar a XSE. [URL=http://www.youtube.com/watch?v=vvxwJvB_Zks]YouTube Video[/URL] EDIT: He tendido que sustituir algunas @ por (a) por culpa del sistema de menciones. Debería estar deshabilitado dentro de tags de ... [url]http://pastebin.com/5r4mVdZN[/url] EDIT2: Acabo de ver que hay aún un bug: el rey no sale nunca. Hay que sustituir "random 12" por "random 13".