GK¥×¥í¥°¥é¥à


²Ï¸¶ÎÓ¸¦µæ¼¼ >> ¥Þ¥¤¥¯¥í¥í¥Ü¥Ã¥È¥µ¥Ã¥«¡¼ÆüËÜ°ì¤Ø¤ÎÆ» >> GK¥×¥í¥°¥é¥à

Æ°ºî¥Ñ¥¿¡¼¥ó

¥×¥í¥È¥¿¥¤¥×¡ÊPrototype¡Ë

¡¡Ëܸ¦µæ¤Ç¤Ï¡¢¤Þ¤º¼ê»Ï¤á¤Ë¡¢´Êñ¤Ê¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î¹ÔÆ°¥Ñ¥¿¡¼¥ó¤òÁȤó¤Ç¤¤¤ë¡£¤³¤³¤Ç¤Ï¸½ºßºîÀ®Ãæ¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î¹ÔÆ°¥Ñ¥¿¡¼¥ó¤Ë¤Ä¤¤¤Æ¡¢°Ê²¼¤Ë¤½¤Î¼ê½ç¤òÀâÌÀ¤¹¤ë¡£Fig.8¤Ï¡¢ÀâÌÀ¤Ë»ÈÍѤ¹¤ë¥Õ¥£¡¼¥ë¥É¾å¤Î³Æ̾¾Î¤Ç¤¢¤ë¡£
¡¡

¥×¥í¥È¥¿¥¤¥×²òÀâÍÑ£±.jpg

Fig.8 ¥´¡¼¥ë¥­¡¼¥Ñ¡¼¥¢¥ë¥´¥ê¥º¥à¡Ê³Æ̾¾Î¡Ë

­¡½é¤á¤Ë¡¢½é´ü°ÌÃÖ¡Ê(x , y)=(5 , FIELD_WIDTH/2)¡Ë¤Ø¸þ¤«¤¦¡£FIERD_WIDETH¤È¤Ï¡¢¥Õ¥£¡¼¥ë¥É¤ÎÉý¡Ê¥Õ¥£¡¼¥ë¥É¤Îx¼´Êý¸þ¤ÎŤµ¡Ë¤Î¤³¤È¤Ç¤¢¤ë¡£¤³¤³¤Ç¡¢FIELD_WIDETH¤Ï¡¢480[px]¤È¤¹¤ë¡£

¥×¥í¥È¥¿¥¤¥×²òÀâÍÑ£².jpg

Fig.9 ¹ÔÆ°­¡
­¢¤â¤·¡¢½é´ü°ÌÃ֤˰ìÅ٤Ǥ⤤¤¿¤³¤È¤¬¤¢¤ë¤Ê¤é¡¢¥Ü¡¼¥ë¤ÈºÂɸ¤ò¹ç¤ï¤»¤ë¡£

¥×¥í¥È¥¿¥¤¥×²òÀâÍÑ£³.jpg

Fig.10 ¹ÔÆ°­¢
­£¥Ü¡¼¥ë¤¬½³¤ì¤ë°ÌÃ֤ˤ¢¤ë¤È¤­¡¢¥Ü¡¼¥ë¤ò¥¯¥ê¥¢¤¹¤ë¡£

¥Î¡¼¥Þ¥ë¥¿¥¤¥×(Normal)

¡¡´Êñ¤Ê¥´¡¼¥ë¥­¡¼¥Ñ¡¼¹ÔÆ°¥Ñ¥¿¡¼¥ó´°À®¸å¡¢Ëܸ¦µæ¤Î´ðËÜ·¿¤È¤Ê¤ë¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î¹ÔÆ°¥Ñ¥¿¡¼¥ó¤òºîÀ®¤·¤¿¡£¤³¤³¤Ç¤Ï¡¢¤½¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î¥¢¥ë¥´¥ê¥º¥à¤Î³µÍפˤĤ¤¤ÆÀâÌÀ¤¹¤ë¡£

¥Î¡¼¥Þ¥ë¥¿¥¤¥×²òÀâÍÑ£±.jpg

Fig.11 ¥´¡¼¥ë¥­¡¼¥Ñ¡¼¥¢¥ë¥´¥ê¥º¥à¡¡
¡¡¡¡¡¡¡¡¡¡¡¡ ­¡¥Ü¡¼¥ë¤¬½³¤ì¤ë¤È¤­¡¢¥Ü¡¼¥ë¤òŨ¤Î¤¤¤Ê¤¤¥µ¥¤¥É¤Ø¤È¥¯¥ê¥¢¤¹¤ë¡£
­¢¥Ü¡¼¥ë¤òÄɤäơ¢¥´¡¼¥ë¤«¤éÎ¥¤ì¤¹¤®¤¿¤È¤­¡Ê¥Õ¥£¡¼¥ë¥É¤Î1/2¡Ë¡¢¥´¡¼¥ë¤Ø¤È¶á¤Å¤¯¡£
­£¥Ü¡¼¥ë¤¬¶á¤¤¤È¤­¡Ê¥Õ¥£¡¼¥ë¥É¤Î1/5¡Ë¡¢¥Ü¡¼¥ë¤Ø¶á¤Å¤¯¡£
­¤¥Ü¡¼¥ë¤¬Áê¼ê¥Õ¥£¡¼¥ë¥É¤Ë¤¢¤ë¤È¤­¡¢½é´ü°ÌÃÖ¤ËÌá¤ë¡£
­¥¤½¤ì°Ê³°¤Î¾ì¹ç¡¢2ËܤΥ´¡¼¥ë¥Ý¡¼¥ë¤ÎÃæ´Ö¤Î°ÌÃÖ¤òÃæ¿´¤È¤·¤¿È¾·Â£ò¤Î±ß¤ò´ðËܤΰÌÃ֤Ȥ¹¤ë¡£¤µ¤é¤Ë±ß¤ÎÃæ¿´¤È¥Ü¡¼¥ë¤ÎºÂɸ¤È¤ò·ë¤ó¤ÀľÀþ¤ò¹Í¤¨¡¢¤½¤Î2¤Ä¤ÎÀþ¤Î¸òÅÀ¤òÌÜŪÃϤȤ·¤Æ¤½¤³¤Ø¤È¸þ¤«¤¦¤è¤¦¤Ë¤¹¤ë¡£
¢¨±ß¤ÎȾ·Â£ò¤Ï¡¢¥Ü¡¼¥ë¤È¤Îµ÷Î¥¤Ë±þ¤¸¤ÆÊѲ½¤¹¤ë¡£

¥¤¡¼¥¸¡¼¥¿¥¤¥×(Easy)

¡¡¥²¡¼¥àÀ­¤ò¹Í¤¨¤Æ¡¢¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î¹ÔÆ°¤Ë¶¯¼å¤òÉÕ¤±¤¿¡£¤³¤³¤Ç¤Ï¡¢¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Ë¡¢¿·¤¿¤Ê¹ÔÆ°¥Ñ¥¿¡¼¥ó¤òÉÕ¤±Â­¤¹·Á¤ÇÀ½ºî¤ò¹Ô¤Ã¤¿¡¢¥¤¡¼¥¸¡¼¥¿¥¤¥×¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Ë¤Ä¤¤¤Æ¤ÎÀâÌÀ¤ò¹Ô¤¦¡£

¥¤¡¼¥¸¡¼¥¿¥¤¥×²òÀâÍÑ£±.jpg

Fig.12¡¡£±¼éÈ÷¥»¥Ã¥·¥ç¥ó¤ÎÄêµÁ¡¡
¡¡¡¡¡¡ ¡¡¤Þ¤º¡¢Ï¢Â³Æ°ºî¤ò¤µ¤»¤ë¤¿¤á¤Ë¡¢£±¼éÈ÷¥»¥Ã¥·¥ç¥ó¤ÎÄêµÁ¤ò¹Ô¤¦¡£
¡¡¤³¤³¤Ç¤Ï¡¢¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤Î£±¼éÈ÷¥»¥Ã¥·¥ç¥ó¤ò¡¢¡Ö¥Ü¡¼¥ë¤¬¼«Ê¬¤Î¶á¤¯¤ËÍè¤Æ¤«¤éºÆ¤ÓÎ¥¤ì¤ë¤Þ¤Ç¡×¤ò¹ÔÆ°¤Î°ì¶èÀÚ¤ê¤È¤·¤Æ¡¢¤³¤ì¤ò1¥»¥Ã¥·¥ç¥ó¤È¾ò·ïÉÕ¤±¤ë¡£¶ñÂÎŪ¤Ë¤ÏFig.12¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥Ü¡¼¥ë¤È¤Îµ÷Î¥¤¬40[px]°Ê²¼¤Ë¤Ê¤Ã¤¿¸å¤Ë¡¢¥Ü¡¼¥ë¤È¤Îµ÷Î¥¤¬100[px]°Ê¾å¤Ë¤Ê¤ë¤Þ¤Ç¤ò¡¢1¼éÈ÷¥»¥Ã¥·¥ç¥ó¤ÈÄêµÁ¤·¤Æ¤¤¤ë¡£
¡¡¥×¥í¥°¥é¥à¤Ï¡¢¾ò·ïʬ¤±¤µ¤ì¤¿¹ÔÆ°¤ò¡¢¤È¤Æ¤âû¤¤»þ´Ö¤ÇϢ³¤·¤Æ¼Â¹Ô¤·¤Æ¤¤¤ë¡£¤³¤³¤Ç¤Ï¡¢Íð¿ô¤ò»È¤Ã¤Æ¾ò·ïʬ¤±¤ò¹Ô¤¦¤¬¡¢¥×¥í¥°¥é¥à¤Î1Å٤μ¹Ԥò£±¼éÈ÷¥»¥Ã¥·¥ç¥ó¤È¤ß¤Ê¤·¤¿¾ì¹ç¡¢1ÅÙ¤ä2ÅÙÆ°ºî¤Î¾ò·ïʬ¤±¤ò¤·¤¿¤È¤³¤í¤Ç¡¢¤½¤Î¾¤ÎϢ³¤·¤¿Â礭¤ÊÆ°ºî¤Ë±£¤ì¤Æ¤·¤Þ¤¦¡£¤½¤Î¤¿¤á¤Ë¡¢1ÅÙ¤½¤ÎÆ°ºî¤ò¹Ô¤¦¤È·è¤á¤¿¾ì¹ç¤Ë¡¢¤½¤Î¸å°ìÄê¤Î¾ò·ï¤òËþ¤¿¤¹¤Þ¤Ç¤Ï¡¢¤½¤ÎÆ°ºî¤ò¼Â¹Ô¤·Â³¤±¤ë¤È¤¤¤¦·Á¤Ç¡¢¥×¥í¥°¥é¥à¤òÁȤßΩ¤Æ¤¿¡£
¡¡
¡¡°Ê²¼¡¢¥¢¥ë¥´¥ê¥º¥à¤ÎÄɲäˤĤ¤¤ÆÀâÌÀ¤¹¤ë¡£

ÄɲÃ1¡¡¡¨¡¡¥Ü¡¼¥ë¤ò¥¯¥ê¥¢¤¹¤ë»þ¡¢4¼éÈ÷¥»¥Ã¥·¥ç¥ó¤Ë1ÅÙ¤À¤±¡¢¼«Ê¬¤Î¼é¤ë¥´¡¼¥ë¤Ë¸þ¤«¤Ã¤Æ¥·¥å¡¼¥È¡Ê¥¯¥ê¥¢¥ß¥¹¡Ë¤¹¤ë¡£
ÄɲÃ2¡¡¡¨¡¡2¼éÈ÷¥»¥Ã¥·¥ç¥ó¤Ë1ÅÙ¤À¤±¡¢Æ°ºî¤Î´°Î»¸å¤Ë2Éô֤À¤±Æ°¤­¤òÄä»ß¤¹¤ë¡£¡Êµåµ»¤ò¤¹¤ë¤È¤­¡¢¤½¤ÎÂоݤ¬¶á¤¯¤Ë¤¢¤ë¤È¤­¤Ï½¸Ã椷¤Æ¤¤¤ë¤¬¡¢¤½¤Î½¸Ã椷¤Æ¤¤¤¿¾õÂÖ¤«¤é1ÅÙÎ¥¤ì¤ë¤È¤­¤ËÌýÃǤ·¤Æ¤·¤Þ¤¦¾ì¹ç¤¬Â¿¤¤¤¿¤á¡£¡Ë

¤³¤Î¥¤¡¼¥¸¡¼¥¿¥¤¥×¤Î¥´¡¼¥ë¥­¡¼¥Ñ¡¼¤ò»ÈÍѤ·¤Æ¤ß¤¿¤¬¡¢¥·¥¹¥Æ¥à¤ÎÆ°ºî¾å¡¢¤¢¤Þ¤ê¥Î¡¼¥Þ¥ë¥¿¥¤¥×¤È¤Îº¹¤ò½Ð¤¹¤³¤È¤¬¤Ç¤­¤Ê¤«¤Ã¤¿¡£

¥×¥í¥°¥é¥à


¥×¥í¥È¥¿¥¤¥×¡ÊPrototype¡Ë

if(gPlayer.pv_can_kick()){
	¡¡¡¡gPlayer.pv_kick(M_PI/4-gWorldData.mtmrjsk_return_my_angle2(),100);          //¥¯¥ê¥¢¤Î´Ø¿ô//
	}else{

¡¡¡¡¡¡¡¡¡¡¡¡¡¡gPlayer.pv_go_to(gWorldData.mtmrjsk_return_vector_t2(5,gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())));          //ÌÜŪÃϤؤΰÜÆ°¤Î´Ø¿ô//
	}

¥Î¡¼¥Þ¥ë¥¿¥¤¥×(Normal)

double xd,yd,cd,rd,Rd;
	double FW=gWorldData.mtmrjsk_return_field_width();
	double FL=gWorldData.mtmrjsk_return_field_length();
	          //ÌÜŪÃϺÂɸ¤Î·×»»¡Ê¤³¤³¤«¤é¡Ë//
	cd=atan((gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-gWorldData.mtmrjsk_return_field_width()/2)/(gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball())));
	Rd=sqrt((gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()))
*(gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()))+(gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-FW/2)*(gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-FW/2));
	if(Rd<FL/5*2) rd=FL/5;
	else if(Rd>FL/2) rd=FL/4;
	else rd=Rd/2;
	xd=rd*cos(cd);
	yd=rd*sin(cd)+gWorldData.mtmrjsk_return_field_width()/2;
          //ÌÜŪÃϺÂɸ¤Î·×»»¡Ê½ª¤ï¤ê¡Ë//
          //¹ÔÆ°¤Îʬ´ô¡Ê¤³¤³¤«¤é¡Ë//
	if(gPlayer.pv_can_kick()){
		if(gWorldData.mtmrjsk_return_angle2(gWorldData.pv_opponent(
gWorldData.pv_closest_opponent_to(gWorldData.pv_ball()))) > 0){
			gPlayer.pv_kick(M_PI/6-gWorldData.mtmrjsk_return_my_angle2(),1);
		}else{
			gPlayer.pv_kick(-M_PI/6-gWorldData.mtmrjsk_return_my_angle2(),1);
		}          //¥¯¥ê¥¢¤Î´Ø¿ô//
	}else if(gWorldData.mtmrjsk_return_vector_t2(0,FW/2).length > FL/3 || gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()) > FL/2 || gWorldData.pv_ball().length > FL/5){
		gPlayer.pv_go_to(gWorldData.mtmrjsk_return_vector_t2(xd,yd));          //ÌÜŪÃϤؤΰÜÆ°¤Î´Ø¿ô//
	}else{
		gPlayer.pv_go_to(gWorldData.pv_ball());          //¥Ü¡¼¥ë¤òÄɤ¦´Ø¿ô//
	}
          //¹ÔÆ°¤Îʬ´ô¡Ê½ª¤ï¤ê¡Ë//

¥¤¡¼¥¸¡¼¥¿¥¤¥×(Easy)

	(	int cia1=0 , cia2=0 , cia2_2=0;	)	¡Ê¥á¥¤¥ó´Ø¿ô»Ïưľ¸å¡Ê¥ë¡¼¥×¤Î³°¡Ë¤ËÀë¸À¡Ë

	srand((unsigned)time(NULL));          //Íð¿ô¤ÎÀë¸À

	int random1=rand()%2 , random2=rand()%4;
	double xd,yd,cd,rd,Rd;
	double FW=gWorldData.mtmrjsk_return_field_width();
	double FL=gWorldData.mtmrjsk_return_field_length();

	cd=atan((gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-gWorldData.mtmrjsk_return_field_width()/2)/(gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball())));
	Rd=sqrt((gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()))*
(gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()))+(gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-FW/2)*(gWorldData.mtmrjsk_return_y_coord2(gWorldData.pv_ball())-FW/2));

	if(Rd<FL/6*2) rd=FL/6;
	else if(Rd>FL/2) rd=FL/4;
	else rd=Rd/2;
	xd=rd*cos(cd);
	yd=rd*sin(cd)+gWorldData.mtmrjsk_return_field_width()/2;

	if(cia2==0){
		if(random2) cia2=1;
		else cia2=2;          //¥¯¥ê¥¢¥ß¥¹¤Î¹ÔÆ°¤òµ¯¤³¤¹¤¿¤á¤ÎȽÃÇ¡£
	}

	if(cia1==0){
		if(gWorldData.pv_ball().length < 40) cia1=1;
	}
	if(cia1==1){
		if(gWorldData.pv_ball().length > 100){
			cia1=0;
			if(random1){
				gPlayer.pv_stop();
				usleep(2000000);
			}
		}          //¹ÔÆ°Ää»ß¤ÎȽÃǤȼ¹Ô
	}else if(gPlayer.pv_can_kick()){

		if(cia2)¡Ð
			gPlayer.pv_kick(gWorldData.mtmrjsk_return_vector_t2(0,FW/2).angle,1); 
		else if(gWorldData.mtmrjsk_return_angle2(gWorldData.pv_opponent
(gWorldData.pv_closest_opponent_to(gWorldData.pv_ball()))) > 0){
			gPlayer.pv_kick(M_PI/6-gWorldData.mtmrjsk_return_my_angle2(),1);
		}else{
			gPlayer.pv_kick(-M_PI/6-gWorldData.mtmrjsk_return_my_angle2(),1);
		}

		if(cia2_2==0){
			if(gWorldData.pv_ball().length < 40) cia2_2=1;
		}
		if(cia2_2){
			if(gWorldData.pv_ball().length > 80){
				cia2_2=0;
				cia2=0;
			}
		}          //¥¯¥ê¥¢¥ß¥¹¤Î¹ÔÆ°¤ò½ªÎ»¤¹¤ë¤¿¤á¤ÎȽÃÇ

	}else if(gWorldData.mtmrjsk_return_vector_t2(0,FW/2).length > FL/3 || gWorldData.mtmrjsk_return_x_coord2(gWorldData.pv_ball()) > FL/2 || gWorldData.pv_ball().length > FL/5){
		gPlayer.pv_go_to(gWorldData.mtmrjsk_return_vector_t2(xd,yd)); 
	}else{
		gPlayer.pv_go_to(gWorldData.pv_ball());
	}