示例#1
0
 void Tutorial::Check_statistiche(){
  slow_print((char*)"Per controllare le statistiche premere 'p'\n");
  input='p';
  do{
   if (input!='p'){
    cout<<"\r                                                                                                 ";
    slow_print((char*)"\rPremere il tasto giusto per controllare le statistiche giocatore, ne va del superamento dell'addestramento\n");}
    input=getch();}
  while ((input!='p')&&(input!='f'));
  if (input=='f') 
   esci=true;
  else{
   clear_screen(); 
   p->statistiche();}}
示例#2
0
 void Tutorial::Check_inventario(){
  slow_print((char*)"Per controllare l'inventario premere 'i'\n");
  input='i';
  do{
   if (input!='i'){
    cout<<"\r                                                                                                 ";
    slow_print((char*)"\rPremere il tasto giusto per controllare l'inventario, ne va del superamento dell'addestramento\n");}
    input=getch();}
  while ((input!='i')&&(input!='f'));
  if (input=='f') 
   esci=true;
  else{
   clear_screen(); 
   p->get_inventario()->stampa_inventario(p,nod,false);}}
示例#3
0
 void Tutorial::Play(){
         Introduction();
         m->stampa(h,p);
         slow_print((char*)"Prima di tutto lo spostamento.\nPremere 'w' per aprire la porta della stanza a nord\n");
         slow_print((char*)"Premere 's' per aprire la porta della stanza a sud\nPremere 'a' per aprire la porta della stanza ad est\n");
         slow_print((char*)"Premere 'd' per aprire la porta della stanza a ovest\n");
         slow_print((char*)"Dove vuoi andare?\n");
         for (int i=0;(i<3)&&(!esci);i++)        
             Move();
         if (!esci){                       
           p->get_inventario()->inc_keys();
           Check_inventario();
           if (!esci){
             slow_print((char*)"\nControlla sempre gli oggetti disponibili dall'inventario.\n");
             cout<<"(Premi un tasto per continuare..)\n";
             getch();
             clear_screen(); 
             m->stampa(h,p);}}
        if (!esci)
           Move();
        if (!esci){       
          nod->change_armadietto(true);
          m->stampa(h,p);
          slow_print((char*)"Rilevato un'armadietto chiuso a chiave.\n");
          slow_print((char*)"Il simbolo '?' significa che è possibile usare un grimaldello esplosivo per forzare la serratura e raccogliere il contenuto.\n");
          slow_print((char*)"I grimaldelli non sono utilizzabili una seconda volta ed è necessario trovarne altri per forzare nuove serrature\n");
          sleep(1);
          bool flag3=true;
           cout<<"Premendo il tasto 'm' si accede al comando AZIONE\n";
          do
           input=getch();
          while ((input!='m')&&(input!='f'));
          switch(input){
               case ('f'):{esci=true; clear_screen(); break;}
               case ('m'):{bool flag4=true; 
                           char input1[25]; 
                           do {
                             cout<<"Digitare 'apri' per sfruttare un grimaldello e forzare l'armadietto chiuso\n"; 
                             cout<<"(Premi invio una volta terminato l'inserimento)\n"; 
                             cin>>input1;
                             getchar(); 
                             if (strcmp(input1,(char*)"apri")==0){
                                  nod->push_weapons(w);
                                  p->get_inventario()->dec_keys(); 
                                  clear_screen();
                                  nod->change_armadietto(false);
                                  m->stampa(h,p); 
                                  flag4=false; 
                                  cout<<"Hai trovato un'arma\n";}
                            else{
                                flag4=true; 
                                cout<<"\r                                                    ";}}
                           while (flag4);
                           break;}}}
示例#4
0
 void Tutorial::Introduction(){
  slow_print((char*)"Programma addestramento simulato per corpi d'elite.\n\t[Per uscire in qualsiasi momento premi 'f']\n");
  slow_print((char*)"Sono il maggiore Ivan e sarò il tuo supervisore dalla madre patria, quando avrai bisogno di aiuto, ti invierò messaggi in codice morse.\n");
  slow_print((char*)"Nel corso dell'addestramento ti insegnerò come decifrarli\n");
  cout<<"\nScegli un nome per il tuo giocatore nell'addestramento\n";
  cin>>n;
  getch();
  p->change_name(n);
  m->stampa(h,p);
  slow_print((char*)"Il simbolo [] identifica una stanza. La stanza contrassegnata dall'iniziale del nome indica quella dove ci si trova.\n");
  slow_print((char*)"Durante la missione sarà necessario esplorare diverse stanze.\n");
  slow_print((char*)"Tutto ciò che viene mostrato nella stanza verrà raccolto automaticamente, a patto che non abbia un peso");
  slow_print((char*)" significativo per l'inventario (come armi e munizioni)\n"); 
  cout<<"(Premi un tasto per continuare..)\n";
  getch();
  clear_screen();}
示例#5
0
int main ( int argc, char *argv[] ) 

/******************************************************************************/
/*
  Purpose:

    MAIN is the main program for ANIM.

  Modified:

    24 June 2011
*/
{
  double d[NPOINTS];
  dpoint dp[NPOINTS];
  gnuplot_ctrl *h1;
  gnuplot_ctrl *h2;
  gnuplot_ctrl *h3;
  gnuplot_ctrl *h4;
  int i;
  int j;
  double x[NPOINTS];
  double y[NPOINTS];

  printf ( "\n" );
  printf ( "EXAMPLE:\n" );
  printf ( "  C++ version.\n" );
  printf ( "  Demonstrate how a running C++ program can produce plots\n" );
  printf ( "  through GNUPLOT, by invoking the GNUPLOT_I interface library.\n" );
/*
  Initialize the gnuplot handle
*/
  h1 = gnuplot_init();

  if ( h1 == NULL )
  {
    printf ( "\n" );
    printf ( "EXAMPLE - Fatal error!\n" );
    printf ( "  GNUPLOT is not available in your path.\n" );
    exit ( 1 );
  }
/* 
  Slopes 
*/    
  gnuplot_setstyle(h1, "lines");
    
  slow_print("*** plotting slopes\n");
  slow_print("y = x\n");
  gnuplot_plot_slope(h1, 1.0, 0.0, "unity slope");
  sleep(SLEEP_LGTH);

  slow_print("y = 2*x\n");
  gnuplot_plot_slope(h1, 2.0, 0.0, "y=2x");
  sleep(SLEEP_LGTH);

  slow_print("y = -x\n");
  gnuplot_plot_slope(h1, -1.0, 0.0, "y=-x");
  sleep(SLEEP_LGTH);
/* 
  Equations 
*/
  gnuplot_resetplot(h1);
  printf("\n\n");
  slow_print("*** various equations\n");
  slow_print("y = sin(x)\n");
  gnuplot_plot_equation(h1, "sin(x)", "sine");
  sleep(SLEEP_LGTH);

  slow_print("y = log(x)\n");
  gnuplot_plot_equation(h1, "log(x)", "logarithm");
  sleep(SLEEP_LGTH);

  slow_print("y = sin(x)*cos(2*x)\n");
  gnuplot_plot_equation(h1, "sin(x)*cos(2*x)", "sine product");
  sleep(SLEEP_LGTH);
/* 
  Styles 
*/
  gnuplot_resetplot(h1);
  printf("\n\n");
  slow_print("*** Showing plot style options:\n");

  slow_print("sine(x) in points\n");
  gnuplot_setstyle(h1, "points");
  gnuplot_plot_equation(h1, "sin(x)", "sine");
  sleep(SLEEP_LGTH);
    
  slow_print("sine(x) in impulses\n");
  gnuplot_setstyle(h1, "impulses");
  gnuplot_plot_equation(h1, "sin(x)", "sine");
  sleep(SLEEP_LGTH);
    
  slow_print("sine(x) in steps\n");
  gnuplot_setstyle(h1, "steps");
  gnuplot_plot_equation(h1, "sin(x)", "sine");
  sleep(SLEEP_LGTH);
 /*
   User defined 1d and 2d point sets
 */
  gnuplot_resetplot(h1);
  gnuplot_setstyle(h1, "impulses");
  printf("\n\n");
  slow_print("*** user defined lists of points\n");
  slow_print("random doubles\n");

  srand48 ( getpid ( ) );
  for ( i = 0; i < NPOINTS; i++ ) 
  {
    d[i] = drand48();
  }
  gnuplot_plot1d_var1(h1, d, NPOINTS, "random doubles");
  sleep(SLEEP_LGTH);

  gnuplot_resetplot(h1);
  gnuplot_setstyle(h1, "points");
  slow_print("random points\n");
  for ( i = 0; i < NPOINTS; i++ ) 
  {
    dp[i].x = drand48();
    dp[i].y = drand48();
  }
  gnuplot_plot1d_var2(h1, dp, NPOINTS, "random points");
  sleep(SLEEP_LGTH);

  gnuplot_resetplot(h1);
  gnuplot_setstyle(h1, "points");
  slow_print("cosine points with var2v\n");
  for ( j = 0; j < NPOINTS; j++ ) 
  {
    x[j] = ( double ) j / 10.0;
    y[j] = cos ( x[j] );
  }
  gnuplot_plot1d_var2v(h1, x, y, NPOINTS, "cosine points");
  sleep(SLEEP_LGTH);
/* 
  Multiple output screens 
*/
  printf("\n\n");
  slow_print("*** multiple output windows\n");
  gnuplot_resetplot(h1);
  gnuplot_setstyle(h1, "lines");
  h2 = gnuplot_init();
  gnuplot_setstyle(h2, "lines");
  h3 = gnuplot_init();
  gnuplot_setstyle(h3, "lines");
  h4 = gnuplot_init();
  gnuplot_setstyle(h4, "lines");

  slow_print("window 1: sin(x)\n");
  gnuplot_plot_equation(h1, "sin(x)", "sin(x)");
  sleep(SLEEP_LGTH);
  slow_print("window 2: cos(x)\n");
  gnuplot_plot_equation(h2, "cos(x)", "cos(x)");
  sleep(SLEEP_LGTH);
  slow_print("window 3: asin(x)\n");
  gnuplot_plot_equation(h3, "asin(x)", "arcsin(x)");
  sleep(SLEEP_LGTH);
  slow_print("window 4: acos(x)\n");
  gnuplot_plot_equation(h4, "acos(x)", "arccos(x)");
  sleep(SLEEP_LGTH);
/*  
  Close gnuplot handles. 
*/
  printf ( "\n\n" );
  slow_print ( "*** end of gnuplot example\n" );
  gnuplot_close ( h1 );
  gnuplot_close ( h2 );
  gnuplot_close ( h3 );
  gnuplot_close ( h4 );
/*
  Terminate.
*/
  printf ( "\n" );
  printf ( "EXAMPLE:\n" );
  printf ( "  Normal end of execution.\n" );

  return 0;
}
示例#6
0
int
ethertype_print(netdissect_options *ndo,
                u_short ether_type, const u_char *p,
                u_int length, u_int caplen)
{
	switch (ether_type) {

	case ETHERTYPE_IP:
	        ip_print(ndo, p, length);
		return (1);

	case ETHERTYPE_IPV6:
		ip6_print(ndo, p, length);
		return (1);

	case ETHERTYPE_ARP:
	case ETHERTYPE_REVARP:
  	        arp_print(ndo, p, length, caplen);
		return (1);

	case ETHERTYPE_DN:
		decnet_print(ndo, p, length, caplen);
		return (1);

	case ETHERTYPE_ATALK:
		if (ndo->ndo_vflag)
			ND_PRINT((ndo, "et1 "));
		atalk_print(ndo, p, length);
		return (1);

	case ETHERTYPE_AARP:
		aarp_print(ndo, p, length);
		return (1);

	case ETHERTYPE_IPX:
		ND_PRINT((ndo, "(NOV-ETHII) "));
		ipx_print(ndo, p, length);
		return (1);

	case ETHERTYPE_ISO:
		isoclns_print(ndo, p + 1, length - 1, length - 1);
		return(1);

	case ETHERTYPE_PPPOED:
	case ETHERTYPE_PPPOES:
	case ETHERTYPE_PPPOED2:
	case ETHERTYPE_PPPOES2:
		pppoe_print(ndo, p, length);
		return (1);

	case ETHERTYPE_EAPOL:
	        eap_print(ndo, p, length);
		return (1);

	case ETHERTYPE_RRCP:
	        rrcp_print(ndo, p - 14 , length + 14);
		return (1);

	case ETHERTYPE_PPP:
		if (length) {
			ND_PRINT((ndo, ": "));
			ppp_print(ndo, p, length);
		}
		return (1);

	case ETHERTYPE_MPCP:
	        mpcp_print(ndo, p, length);
		return (1);

	case ETHERTYPE_SLOW:
	        slow_print(ndo, p, length);
		return (1);

	case ETHERTYPE_CFM:
	case ETHERTYPE_CFM_OLD:
		cfm_print(ndo, p, length);
		return (1);

	case ETHERTYPE_LLDP:
		lldp_print(ndo, p, length);
		return (1);

        case ETHERTYPE_LOOPBACK:
		loopback_print(ndo, p, length);
                return (1);

	case ETHERTYPE_MPLS:
	case ETHERTYPE_MPLS_MULTI:
		mpls_print(ndo, p, length);
		return (1);

	case ETHERTYPE_TIPC:
		tipc_print(ndo, p, length, caplen);
		return (1);

	case ETHERTYPE_MS_NLB_HB:
		msnlb_print(ndo, p);
		return (1);

        case ETHERTYPE_GEONET_OLD:
        case ETHERTYPE_GEONET:
                geonet_print(ndo, p-14, p, length);
                return (1);

        case ETHERTYPE_CALM_FAST:
                calm_fast_print(ndo, p-14, p, length);
                return (1);

	case ETHERTYPE_AOE:
		aoe_print(ndo, p, length);
		return (1);

	case ETHERTYPE_LAT:
	case ETHERTYPE_SCA:
	case ETHERTYPE_MOPRC:
	case ETHERTYPE_MOPDL:
	case ETHERTYPE_IEEE1905_1:
		/* default_print for now */
	default:
		return (0);
	}
}