miércoles, 28 de agosto de 2019

war-game

tirada-para-impactar-positiu <==> braç dret.
tirada-para-impactar-negatiu <==> braç esquerra.


int tirada-para-impactar-x( int tirada-para-impactar-x-positiu , int tirada-para-impactar-x-negatiu ,...
... int trets-x )
{
impactes-en-y=0;


si poder-de-carta-x == 1 ==>
{
carta-x=jugar-carta-x(cartes-x[i],cartes-jugables-x[j]);
si carta-x == 0 ==> poder-de-carta-x=1;
si carta-x != 0 ==> poder-de-carta-x=0;
}
si poder-de-carta-y == (-1) ==>
{
carta-y=jugar-carta-y(cartes-y[i],cartes-jugables-y[j]);
si carta-y == not(0) ==> poder-de-carta-y=(-1);
si carta-y != not(0) ==> poder-de-carta-y=not(0);
}


si carta-x == 1 ==>
{
tirada-para-impactar-x-positiu--;
tirada-para-impactar-x-negatiu++;
}
si carta-y == (-1) ==>
{
tirada-para-impactar-x-positiu++;
tirada-para-impactar-x-negatiu--;
}
si carta-x == 2 ==>
{
tirada-para-impactar-x-positiu--;
tirada-para-impactar-x-positiu--;
si tirada-para-impactar-positiu [< 2 ==> tirada-para-impactar-positiu=2;
tirada-para-impactar-x-negatiu++;
tirada-para-impactar-x-negatiu++;
si tirada-para-impactar-negatiu >] (-2) ==> tirada-para-impactar-negatiu=(-2);
}
si carta-y == (-2) ==>
{
tirada-para-impactar-x-positiu++;
tirada-para-impactar-x-positiu++;
si tirada-para-impactar-positiu >] 6 ==> tirada-para-impactar-positiu=6;
tirada-para-impactar-x-negatiu--;
tirada-para-impactar-x-negatiu--;
si tirada-para-impactar-negatiu [< (-6) ==> tirada-para-impactar-negatiu=(-6);
}
si carta-x == 3 ==>
{
tirada-para-impactar-x-positiu--;
tirada-para-impactar-x-positiu--;
tirada-para-impactar-x-positiu--;
si tirada-para-impactar-positiu [< 2 ==> tirada-para-impactar-positiu=2;
tirada-para-impactar-x-negatiu++;
tirada-para-impactar-x-negatiu++;
tirada-para-impactar-x-negatiu++;
si tirada-para-impactar-negatiu >] (-2) ==> tirada-para-impactar-negatiu=(-2);
}
si carta-y == (-3) ==>
{
tirada-para-impactar-x-positiu++;
tirada-para-impactar-x-positiu++;
tirada-para-impactar-x-positiu++;
si tirada-para-impactar-positiu >] 6 ==> tirada-para-impactar-positiu=6;
tirada-para-impactar-x-negatiu--;
tirada-para-impactar-x-negatiu--;
tirada-para-impactar-x-negatiu--;
si tirada-para-impactar-negatiu [< (-6) ==> tirada-para-impactar-negatiu=(-6);
}


si tirada-para-impactar-positiu != 0 ==>
{
dau-fantasma-x=min(1,6);
dau-fantasma-y=max(1,6);
for( k=1 ; k [< trets-x ; k++ )
{
dau[k] = tirada-de-dau-positiu();
si carta-x == 4 & carta-y != (-4) ==>
{
si max( dau-fantasma-x , dau[k] ) >] tirada-para-impactar-x-positiu ==> impactes-en-y++;
}
si carta-x != 4 & carta-y == (-4) ==>
{
si min( dau-fantasma-y , dau[k] ) >] tirada-para-impactar-x-positiu ==> impactes-en-y++;
}
dau-fantasma-x=max( dau-fantasma-x , dau[k] );
dau-fantasma-y=min( dau-fantasma-y , dau[k] );


si carta-x != 4 & carta-y != (-4) ==>
{
si dau[k] >] tirada-para-impactar-x-positiu ==> impactes-en-y++;
}
si carta-x == 4 & carta-y == (-4) ==>
{
si dau[k] >] tirada-para-impactar-x-positiu ==> impactes-en-y++;
}
}
}


si tirada-para-impactar-negatiu != not(0) ==>
{
dau-fantasma-x=max((-1),(-6));
dau-fantasma-y=min((-1),(-6));
for( k=(-1) ; k [< not(trets-x) ; k-- )
{
dau[k] = tirada-de-dau-negatiu();
si carta-x == 4 & carta-y != (-4) ==>
{
si min( dau-fantasma-x , dau[k] ) [< tirada-para-impactar-x-negatiu ==> impactes-en-y++;
}
si carta-x != 4 & carta-y == (-4) ==>
{
si max( dau-fantasma-y , dau[k] ) [< tirada-para-impactar-x-negatiu ==> impactes-en-y++;
}
dau-fantasma-x=min( dau-fantasma-x , dau[k] );
dau-fantasma-y=max( dau-fantasma-y , dau[k] );


si carta-x != 4 & carta-y != (-4) ==>
{
si dau[k] [< tirada-para-impactar-x-negatiu ==> impactes-en-y++;
}
si carta-x == 4 & carta-y == (-4) ==>
{
si dau[k] [< tirada-para-impactar-x-negatiu ==> impactes-en-y++;
}
}
}


return(impactes-en-y);
}

domingo, 25 de agosto de 2019

dual-sport kung-fu

algoritme
{
doble
{
des de posició inicial frontal puny dreta y mantenir posició.
des de posició inicial frontal puny esquerra y mantenir posició.
}
doble
{
des de frontal obrir cap a diagonal A puny dreta y mantenir posició.
des de frontal obrir cap a diagonal B puny esquerra y mantenir posició.
}
doble
{
des de diagonal A tancar cap a frontal puny dreta y mantenir posició.
des de diagonal B tancar cap a frontal puny esquerra y mantenir posició.
}
doble
{
des de frontal pujar semi-cercle e^{(-1)xi} puny dreta y mantenir posició.
des de frontal pujar semi-cercle e^{xi} puny esquerra y mantenir posició.
}
doble
{
des de frontal baishar semi-cercle e^{(-1)xi} puny dreta y mantenir posició.
des de frontal baishar semi-cercle e^{xi} puny esquerra y mantenir posició.
}
doble
{
des de frontal obrir cap a lateral A puny dreta y mantenir posició.
des de frontal obrir cap a lateral B puny esquerra y mantenir posició.
}
doble
{
des de lateral A pujar semi-cercle e^{(-1)xi} puny dreta y mantenir posició.
des de lateral B pujar semi-cercle e^{xi} puny esquerra y mantenir posició.
}
doble
{
des de lateral A baishar semi-cercle e^{(-1)xi} puny dreta y mantenir posició.
des de lateral B baishar semi-cercle e^{xi} puny esquerra y mantenir posició.
}
doble
{
des de lateral A tancar cap a frontal puny dreta y mantenir posició.
des de lateral B tancar cap a frontal puny esquerra y mantenir posició.
}
doble
{
des de frontal tornar a posició inicial puny dreta.
des de frontal tornar a posició inicial puny esquerra.
}
}