Esempio n. 1
0
void do_op(char C)
{
  switch(C)
  {
    case '0':
    case '1':
    case '2':
    case '3':
    case '4':
    case '5':
    case '6':
    case '7':
    case '8':
    case '9': push(C-'0'); break;
    case '+': addition(); break;
    case '-': subtraction(); break;
    case '*': multiplication(); break;
    case '/': division(); break;
    case '%': modulo(); break;
    case '^': north(); break;
    case '>': east(); break;
    case 'V':
    case 'v': south(); break;
    case '<': west(); break;
    case '?': spin(); break;
    case '!': lnot(); break;
    case '`': gt(); break;
    case '_': hif(); break;
    case '|': vif(); break;
    case '"': tsm(); break;
    case ':': dup(); break;
    case '\\': swap(); break;
    case '$': chomp(); break;
    case '#': jump(); break;
    case 'p': put(); break;
    case 'g': get(); break;
    case 'H': gate(); break;
    case '.': print_i(); break;
    case ',': print_c(); break;
    case '&': input_i(); break;
    case '~': input_c(); break;
    case '@': hacf(); break;
    case '{': left_b(); break;
    case '}': right_b(); break;
    case '[': carry_l(); break;
    case ']': carry_r(); break;
    case ';': empty(); break;
    case 'O': portal_o(); break;
    case 'B': portal_b(); break;
    default: /* DO NOTHING! */ break;
  }
}
Esempio n. 2
0
void main()
{
	set();
	while (1)
	{
		if (!chkReverse()) break;
		marking();
		draw();
		if (turn == WHITE) //input_u();
			input_key();
		else input_c();
		if (chk_end()) break;
		chturn();
	}
	victory();
}
Esempio n. 3
0
int main()
{
    scanf("%d %d %d %d",&s,&r,&l,&c);
    int n=s+r+l;
    input_s();
    input_r();
    input_l();
    input_c();
    int w=0,k=0,sum=0,e=0;
    double z;
    int p,q;
    for(int i=0;i<n;i++)
        for(int j=i+1;j<n;j++)//求线和线的交点
    {
            if(intersect2D_2Segments(seg[i],seg[j]))
            {
                //printf("%d %d    ",i,j);
                points[sum].x=I0->x;
                points[sum].y=I0->y;
                sum++;
                //printf("%lf %lf\n",I0->x,I0->y);
            }
    }
    for(int i=0;i<c;i++)
        for(int j=0;j<n;j++)//求线和圆的交点
    {
        e=judge(cir[i],seg[j]);
        if(e==0)continue;
        else if(e==1)
        {
            points[sum].x=I0->x;
            points[sum].y=I0->y;
            sum++;
            //printf("%lf %lf\n",I0->x,I0->y);
        }
        else if(e==2)
        {
            points[sum].x=I0->x;
            points[sum].y=I0->y;
            sum++;
            //printf("%lf %lf\n",I0->x,I0->y);
            points[sum].x=I1->x;
            points[sum].y=I1->y;
            sum++;
            //printf("%lf %lf\n",I1->x,I1->y);
        }
    }

    //printf("%d %d\n",sum,sumover);

    //printf("%d %d\n",sum,sumover);
    for(int i=0;i<c;i++)
        for(int j=i+1;j<c;j++)
    {
        //printf("i=%d j=%d\n",i,j);
        if(insect(cir[i],cir[j])==1)
        {
            //printf("1\n");
            points[sum].x=I0->x;
            points[sum].y=I0->y;
            sum++;
            //printf("%lf %lf\n",I0->x,I0->y);
        }
        else if(insect(cir[i],cir[j])==2)
        {
            //printf("2\n");
            points[sum].x=I0->x;
            points[sum].y=I0->y;
            sum++;
            //printf("%lf %lf\n",I0->x,I0->y);
            points[sum].x=I1->x;
            points[sum].y=I1->y;
            //printf("%lf %lf\n",I1->x,I1->y);
            sum++;
        }
    }

    int sumover=sum;
    //printf("%d %d\n",sum,sumover);
  /*  for(int i=0;i<sum;i++)
    {
        if(use[i]==0)
        {
            for(int j=i+1;j<sum;j++)
            {
                if(use[j]==0)
                {
                    if(sub(points[i],points[j])<SMALL_NUM)
                    {
                        sumover--;
                        use[j]=1;
                        //printf("%d %d %d\n",i,j ,sumover);
                    }
                }
            }
           // printf("i=%d %lf %lf\n",i,points[i].x,points[i].y);
        }
    }*/

   printf("%d\n",sumover);
    return 0;
}
Esempio n. 4
0
RTCC_isr() {
     char aux;
     int i;

     if (count ==  610) {
	  /* si entramos aqui ha pasado un segundo */
	  count = 0;
     
	  /* lectura del potenciometro */
	  valor_adc=read_adc() >> 2;
      
      
	  /* avanzamos un segundo a nuestra hora */
	  if (s == 59) {
	       s = 0;
	       if (m == 59) {
		    m = 0;
		    if (h == 23) {
			 h = 0;
		    }
		    else {
			 h++;
		    }
	       }
	       else {
		    m++;
	       }
	  } 
	  else {
	       s++;
	  }   


	  /* borrar la linea */
	  for(i=0; i<80; i++)       
	       printf("\b");

	  if(h<10)
	       printf("0%u",h);
	  else
	       printf("%u",h);
	  printf(":");
	  
	  if(m<10)
	       printf("0%u",m);
	  else
	       printf("%u",m);
      
	  printf(":");
      
	  if(s<10)
	       printf("0%u",s);
	  else
	       printf("%u",s);

	  /* valor del potenciometro */
	  printf("  AN0: %x   ",valor_adc);

	  /* y ahora el led, cero es apagado y 1 encendido */
	  if (led0 == 0) { 
		led0 = 1;
		output_c(input_c() | 0x01);	/* 00000001 */
	  }
	  else {
		led0 = 0;
		output_c(input_c() & 0xfe);	/* 11111110 */
	  }
     }