ФлеймФорумЮмор

Дважды безумные крестики-нолики

#0
12:57, 5 авг 2007

Пишем тут игру "Дважды безумные крестики-нолики" (пример как не надо делать игры).
Не компилится :((, из-за чего и забили.
Граждане!!! Чтобы проект не умер, давайте совместными усилиями форума доведём его до конца!!!
Цель - получить работающую игру "Безумные крестики-нолики" с нечитабельным исходным кодом.

Стиль примерно такой: (он же и неработающий исходник :))

#define __my_Main main
#define __tochka_s_zapyatoj__ ;
#define GAME __G_A_M_____E
#define _UnSiGnEd unsigned
#define protected __BUBLIC__
#define __BUBLIC__ public
#define _p_u_s_t_o_y void
#define NULLL NULL
#define NULLLL NULLL
#define NULLLLL NULLLL
#define __NI_HReNA__ NULLLL
#define VyityIsLohovskoyFu__Nktsyy return

#include <stdio.h>

class zna_K {virtual void f() {}};

class __krestiK: public zna_K {virtual void f() {return}};
class noliK: __BUBLIC__ zna_K {virtual void f() {return}};

_p_u_s_t_o_y PokAzATTT(zna_K *Fl__D) {
zna_K * q;
q = dynamic_cast<__krestiK*> (Fl__D) __tochka_s_zapyatoj__
if (q!=__NI_HReNA__)
{ printf("X"); VyityIsLohovskoyFu__Nktsyy;}
q= dynamic_cast<noliK*> (Fl__D) __tochka_s_zapyatoj__
if (q!=NULLLL)
{ printf("0"); VyityIsLohovskoyFu__Nktsyy;}
printf("-");
VyityIsLohovskoyFu__Nktsyy __tochka_s_zapyatoj__ 
}

class GAME
{
__BUBLIC__:
;
;
;;protected:
zna_K *fieLd[5][5];
_p_u_s_t_o_y pokazat__vse__polya__kak_krestiKi_tak_i_NoliKKi(_p_u_s_t_o_y);
GAME();
};

auto int anothermain()
{
printf("Double Crazy Tik-Tacc-Toe\n");
GAME GAME;
GAME.pokazat__vse__polya__kak_krestiKi_tak_i_NoliKKi();
getchar();
return -129;
register long unsigned float f __tochka_s_zapyatoj__
}

auto GAME::GAME()
{
register int *i=new int;
(*i)=0;  for ( __tochka_s_zapyatoj__ (*i)<3 __tochka_s_zapyatoj__ (*i)=(*i)+1)
{
register _UnSiGnEd short int j;
j = 5;
lab:
fieLd[(*i)][j-5] = new zna_K;
j++;
if (j<8) goto lab;
}
}

int megamain(){return anothermain();
}

_p_u_s_t_o_y GAME::pokazat__vse__polya__kak_krestiKi_tak_i_NoliKKi(_p_u_s_t_o_y)
{
PokAzATTT(fieLd[0][0]); 

}
int __my_Main()
{return megamain();
}

#1
13:41, 5 авг 2007

vasm

знаком с таким понятием, как "обфускатор"?
видимо нет.
поэтому несмешно.

#2
17:36, 5 авг 2007

В этом разделе конечно все стеб, но провести деобфускацию вполне можно, даже в блокноте)

#3
5:39, 6 авг 2007

Сначала надо сделать с читабельным кодом а потом его уже и поганить: кстати можно создать програму для того чтобы поганить код: сначала выбираем слово из программы, заменяем все такие слова на другое слово и добавляем в начало файла соответствующий дефайн))) и так далеее по новой))

#4
13:47, 6 авг 2007

Низачот.
Есть даже соревнования по такому стилю программирования.
"The International Obfuscated C Code Contest".

Примерчик:

                                  #include\
                                  <stdio.h>
                     #include                <stdlib.h>
                     #include                <string.h>

                    #define w "Hk~HdA=Jk|Jk~LSyL[{M[wMcxNksNss:"
                   #define r"Ht@H|@=HdJHtJHdYHtY:HtFHtF=JDBIl"\
                  "DJTEJDFIlMIlM:HdMHdM=I|KIlMJTOJDOIlWITY:8Y"
                 #define S"IT@I\\@=HdHHtGH|KILJJDIJDH:H|KID"\
                "K=HdQHtPH|TIDRJDRJDQ:JC?JK?=JDRJLRI|UItU:8T"
               #define _(i,j)L[i=2*T[j,O[i=O[j-R[j,T[i=2*\
              R[j-5*T[j+4*O[j-L[j,R[i=3*T[j-R[j-3*O[j+L[j,
             #define t"IS?I\\@=HdGHtGIDJILIJDIItHJTFJDF:8J"

    #define y                  yy(4),yy(5),                yy(6),yy(7)
  #define yy(              i)R[i]=T[i],T[i ]            =O[i],O[i]=L [i]
#define Y _(0          ], 4] )_ (1 ], 5] )_ (2      ], 6] )_ (3 ], 7] )_=1
#define v(i)(      (( R[ i ] * _ + T [ i ]) * _ + O [ i ]) * _ + L [ i ]) *2
double b = 32  ,l ,k ,o ,B ,_ ; int Q , s , V , R [8 ], T[ 8] ,O [8 ], L[ 8] ;
#define q( Q,R ) R= *X ++ % 64 *8 ,R |= *X /8 &7 ,Q=*X++%8,Q=Q*64+*X++%64-256,
# define  p      "G\\QG\\P=GLPGTPGdMGdNGtOGlOG"   "dSGdRGDPGLPG\\LG\\LHtGHtH:"
#  define W         "Hs?H{?=HdGH|FI\\II\\GJlHJ"    "lFL\\DLTCMlAM\\@Ns}Nk|:8G"
# define   U           "EDGEDH=EtCElDH{~H|AJk}"       "Jk?LSzL[|M[wMcxNksNst:"
#  define u                  "Hs?H|@=HdFHtEI"             "\\HI\\FJLHJTD:8H"
char  *   x                   ,*X , ( * i )[               640],z[3]="4_",
*Z = "4,8O4.8O4G" r U "4M"u S"4R"u t"4S8CHdDH|E=HtAIDAIt@IlAJTCJDCIlKI\\K:8K"U
 "4TDdWDdW=D\\UD\\VF\\FFdHGtCGtEIDBIDDIlBIdDJT@JLC:8D"t"4UGDNG\\L=GDJGLKHL\
FHLGHtEHtE:"p"4ZFDTFLT=G|EGlHITBH|DIlDIdE:HtMH|M=JDBJLDKLAKDALDFKtFKdMK\
\\LJTOJ\\NJTMJTM:8M4aGtFGlG=G|HG|H:G\\IG\\J=G|IG|I:GdKGlL=G|JG|J:4b"W
S"4d"W t t"4g"r w"4iGlIGlK=G|JG|J:4kHl@Ht@=HdDHtCHdPH|P:HdDHdD=It\
BIlDJTEJDFIdNI\\N:8N"w"4lID@IL@=HlIH|FHlPH|NHt^H|^:H|MH|N=J\\D\
J\\GK\\OKTOKDXJtXItZI|YIlWI|V:8^4mHLGH\\G=HLVH\\V:4n" u t t
"4p"W"IT@I\\@=HdHHtGIDKILIJLGJLG:JK?JK?=JDGJLGI|MJDL:8M4\
rHt@H|@=HtDH|BJdLJTH:ITEI\\E=ILPILNNtCNlB:8N4t"W t"4u"
p"4zI[?Il@=HlHH|HIDLILIJDII|HKDAJ|A:JtCJtC=JdLJtJL\
THLdFNk|Nc|\
:8K"; main (
int C,char**        A) {for(x=A[1],i=calloc(strlen(x)+2,163840);
C-1;C<3?Q=_=       0,(z[1]=*x++)?((*x++==104?z[1]^=32:--x), X =
strstr(Z,z))      &&(X+=C++):(printf("P2 %d 320 4 ",V=b/2+32),
V*=2,s=Q=0,C     =4):C<4?Q-->0?i[(int)((l+=o)+b)][(int)(k+=B)
]=1:_?_-=.5/    256,o=(v(2)-(l=v(0)))/(Q=16),B=(v(3)-(k=v(1)
))/Q:*X>60?y   ,q(L[4],L[5])q(L[6],L[7])*X-61||(++X,y,y,y),
Y:*X>57?++X,  y,Y:*X >54?++X,b+=*X++%64*4:--C:printf("%d "
,i[Q][s]+i[Q ][s+1]+i[Q+1][s]+i[Q+1][s+1])&&(Q+=2)<V||(Q=
0,s+=2)<640
||(C=1));}
#5
23:46, 6 авг 2007

http://www.ioccc.org/

#6
2:42, 7 авг 2007

хм, я думал такое только на перле делают):

                                                  sub j(\$){($
                    P,$V)=                      @_;while($$P=~s:^
                ([()])::x){                    $V+=('('eq$1)?-32:31
          }$V+=ord(  substr(                 $$P,0,1,""))-74} sub a{
         my($I,$K,$  J,$L)=@_               ;$I=int($I*$M/$Z);$K=int(
        $K*$M/$Z);$J=int($J*$M             /$Z);$L=int($L*$M/$Z); $G=$
        J-$I;$F=$L-$K;$E=(abs($          G)>=abs($F))?$G:$F;($E<0) and($
         I,$K)=($J,$L);$E||=.01       ;for($i=0;$i<=abs$E;$i++ ){ $D->{$K
                 +int($i*$F/$E)      }->{$I+int($i*$G/$E)}=1}}sub p{$D={};$
                Z=$z||.01;map{    $H=$_;$I=$N=j$H;$K=$O=j$H;while($H){$q=ord
               substr($H,0,1,"" );if(42==$q){$J=j$H;$L=j$H}else{$q-=43;$L =$q
             %9;$J=($q-$L)/9;$L=$q-9*$J-4;$J-=4}$J+=$I;$L+=$K;a($I,$K,$J,$ L);
             ($I,$K)=($J,$L)}a($I,$K,$N,$O)}@_;my$T;map{$y=$_;map{ $T.=$D->{$y}
             ->{$_}?$\:' '}(-59..59);$T.="\n"}(-23..23);print"\e[H$T"}$w= eval{
             require Win32::Console::ANSI};$b=$w?'1;7;':"";($j,$u,$s,$t,$a,$n,$o
             ,$h,$c,$k,$p,$e,$r,$l,$C)=split/}/,'Tw*JSK8IAg*PJ[*J@wR}*JR]*QJ[*J'.
              'BA*JQK8I*JC}KUz]BAIJT]*QJ[R?-R[e]\RI'.'}Tn*JQ]wRAI*JDnR8QAU}wT8KT'.
              ']n*JEI*EJR*QJ]*JR*DJ@IQ[}*JSe*JD[n]*JPe*'.'JBI/KI}T8@?PcdnfgVCBRcP'.
               '?ABKV]]}*JWe*JD[n]*JPe*JC?8B*JE};Vq*OJQ/IP['.'wQ}*JWeOe{n*EERk8;'.
                 'J*JC}/U*OJd[OI@*BJ*JXn*J>w]U}CWq*OJc8KJ?O[e]U/T*QJP?}*JSe*JCnTe'.
                  'QIAKJR}*JV]wRAI*J?}T]*RJcJI[\]3;U]Uq*PM[wV]W]WCT*DM*SJ'.  'ZP[Z'.
                     'PZa[\]UKVgogK9K*QJ[\]n[RI@*EH@IddR[Q[]T]T]T3o[dk*JE'.  '[Z\U'.
                       '{T]*JPKTKK]*OJ[QIO[PIQIO[[gUKU\k*JE+J+J5R5AI*EJ00'.  'BCB*'.
                            'DMKKJIR[Q+*EJ0*EK';sub h{$\ = qw(% & @ x)[int    rand
                             4];map{printf  "\e[$b;%dm",int(rand 6)+101-60*   ($w
                              ||0);system(  "cls")if$w ;($A,$S)=    ($_[1],   $
                               _[0]);($M,   @,)= split  '}';for(     $z=256
                               ;$z>0; $z   -=$S){$S*=   $A;p @,}      sleep$_
                               [2];while   ($_[3]&&($    z+=$ S)       <=256){
                               p@,}}("".   "32}7D$j"     ."}AG".       "$u}OG"
                               ."$s}WG"    ."$t",""      ."24}("        ."IJ$a"
                               ."}1G$n"    ."}CO$o"     ."}GG$t"        ."}QC"
                                ."$h}"      ."^G$e"    ."})IG"          ."$r",
                                "32}?"       ."H$p}FG$e}QG$r".          "}ZC"
                                ."$l",          "28}(LC" .""            ."".
                                "$h}:"           ."J$a}EG".             "$c"
                                ."}M"             ."C$k}ZG".            "$e"
                                ."}"             ."dG$r","18"          ."}("
                               ."D;"            ."$C"  )}{h(16         ,1,1,0
                              );h(8,          .98,0,0   );h(16         ,1,1,1)
                              ;h(8.0         ,0.98,0,     1);         redo}###
                            #written                                 060204 by
                          #liverpole                                  @@@@@@@
                       #@@@@@@@@@@@

остальное здесь http://en.wikipedia.org/wiki/JAPH

ФлеймФорумЮмор

Тема в архиве.