public class playermove : MonoBehaviour



{

ย  ย  public float Speed = 3f;

ย  ย  Rigidbody2D rigid;

ย  ย  public int hnextMove;

ย  ย  public int vnextMove;


ย  ย  float h;

ย  ย  float v;

ย  ย  bool isHorizonMove;

ย  ย  void Awake()

ย  ย  {

ย  ย  ย  ย  rigid = GetComponent<Rigidbody2D>();

ย  ย  ย  ย  Think1();

ย  ย  ย  ย  Think2();


ย  ย  ย  ย  Invoke("Think1", 5);

ย  ย  ย  ย  Invoke("Think2", 5);

ย  ย  ย  ย  //Invoke๊ฐ€ Think๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ 5์ดˆ ๋งˆ๋‹ค ํ˜ธ์ถœ์„ ํ•œ๋‹ค.


ย  ย  }

ย  ย  private void Update()

ย  ย  {

ย  ย  ย  ย  hnextMove = (int)Input.GetAxisRaw("Horizontal");

ย  ย  ย  ย  vnextMove = (int)Input.GetAxisRaw("Vertical");


ย  ย  ย 

ย  ย  }

ย  ย 


ย  ย  //์žฌ๊ท€ํ•จ์ˆ˜

ย  ย  void Think1()

ย  ย  {


ย  ย  ย  ย hnextMove = Random.Range(-1, 2);

ย  ย  ย  ย 

ย  ย  ย  ย  float nextThinkTime = Random.Range(2f, 5f);

ย  ย  ย  ย  Invoke("Think1", nextThinkTime);

ย  ย ย 

ย  ย  }


ย  ย  void Think2()

ย  ย  {

ย  ย  ย  ย  vnextMove = Random.Range(-1, 2);

ย  ย  ย  ย ย 

ย  ย  ย  ย  float nextThinkTime = Random.Range(2f, 5f);

ย  ย  ย  ย  Invoke("Think2", nextThinkTime);

ย  ย  }


ย  ย  void FixedUpdate()

ย  ย  {


ย  ย  ย  ย  rigid.velocity = new Vector2(hnextMove, h);


ย  ย  ย  ย  rigid.velocity = new Vector2(vnextMove, v);


ย  ย  ย  ย  if (isHorizonMove)

ย  ย  ย  ย  {


ย  ย  ย  ย  ย  ย  Think1();

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  isHorizonMove = true;


ย  ย  ย  ย  ย  ย  ย  ย  h = Input.GetAxisRaw("Horizontal");

ย  ย  ย  ย  ย  ย  ย  ย  hnextMove = Random.Range(-1, 2);




ย  ย  ย  ย  ย  ย  ย  ย  float nextThinkTime = Random.Range(5f, 10f);

ย  ย  ย  ย  ย  ย  ย  ย  Invoke("Think1", nextThinkTime);


ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }


ย  ย  ย  ย  else if (isHorizonMove)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  Think2();

ย  ย  ย  ย  ย  ย  {


ย  ย  ย  ย  ย  ย  ย  ย  isHorizonMove = false;


ย  ย  ย  ย  ย  ย  ย  ย  v = Input.GetAxisRaw("Vertical");

ย  ย  ย  ย  ย  ย  ย  ย  vnextMove = Random.Range(-1, 2);


ย  ย  ย  ย  ย  ย  ย  ย  float nextThinkTime = Random.Range(5f, 10f);

ย  ย  ย  ย  ย  ย  ย  ย  Invoke("Think2", nextThinkTime);

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }



ย  ย  }

}


์ฝ”๋”ฉ ์ดˆ๋ณด๋ผ์„œ ์˜์ƒ ๋ณด๋ฉด์„œ ๋”ฐ๋ผํ•˜๋Š”๋ฐ ๋ณด๋ฉด์„œ ๋”ฐ๋ผํ•œ ์˜์ƒ์€ ์ขŒ์šฐ๋กœ๋งŒ ์›€์ง์ด๋Š”๊ฑฐ์—ฌ์„œย 

AI ์บ๋ฆญํ„ฐ๊ฐ€ ์ƒํ•˜๊นŒ์ง€ ์›€์ง์ด๋Š”๊ฑธ ์›ํ•ด์„œ ์ด๊ฒƒ์ €๊ฒƒ ๊ฒ€์ƒ‰ํ•˜๋ฉด์„œย ์ฝ”๋”ฉ์„ ํ•ด๋ดค๋Š”๋ฐ ์˜ค๋ฅ˜๋Š” ์—†๋Š”๋ฐ ์›€์ง์ž„์ด ์•„์˜ˆ ์—†์–ด์„œ์š”.ย 

ํƒ‘๋ทฐ ํ˜•์‹์œผ๋กœ 2D์ž…๋‹ˆ๋‹ค.