Yoko
http://forum.yoko.com.ua/

простая ходилка на пинжекте
http://forum.yoko.com.ua/viewtopic.php?f=20&t=13345
Page 1 of 1

Author:  korzh [ 2008-03-07 01:53:47 ]
Post subject:  простая ходилка на пинжекте

Ссегодня решился таки попробовать пересесть на пинжект :)
Решил я значит написать простенькую ходилку и не получилось.. криво ходит :roll:
Так как с перлом я знаком первый день, может чтото сделал не так?

Code:
sub use
{
  walk (2149,787);
}

sub walk($$)
{
  my($x1, $y1);
  $x1 = $_[1];
  $y2 = $_[2];
  while( (uo::getx()!=$x1) && (uo::gety()!=$y1) )
  {
    $x=uo::getx();
    $y=uo::gety();
    if ($x == $x1 && $y > $y1)
    {
      uo::press(35);
    }   
    if ($x == $x1 && $y < $y1)
    {
      uo::press(33);
    }
    if ($x < $x1 && $y == $y1)
    {
      uo::press(36);
    }
    if ($x < $x1 && $y > $y1)
    {
      uo::press(37);
    }
    if ($x < $x1 && $y < $y1)
    {
      uo::press(38);
    }
    if ($x > $x1 && $y == $y1)
    {
      uo::press(34); 
    }
    if ($x > $x1 && $y > $y1)
    {
      uo::press(40);
    }
    if ($x > $x1 && $y < $y1)
    {
      uo::press(39);
    }
      &wait(50);
  }
}

Author:  Grin [ 2008-03-07 11:34:59 ]
Post subject: 

а в чем кривость хождения?

Author:  korzh [ 2008-03-07 11:46:11 ]
Post subject: 

ввожу например координаты на 5 тайлов от себя, а идет вообще очень очень очень далеко хз куда, и даже если чудом пройдет по нужной координате все равно идет дальше дальше...

Author:  Grin [ 2008-03-07 11:51:53 ]
Post subject: 

ну значит ты не правельно клавиши раставил:)
да и самый простой способ дебага это принтить твое условие...

Author:  korzh [ 2008-03-07 12:01:03 ]
Post subject: 

поидее понял, проблема в куске
Code:
  my($x1, $y1); 
  $x1 = $_[1];
  $y2 = $_[2];

так он не видет координаты х
Code:
 my($x1, $y1); 
  $x1 = $_[0];
  $y2 = $_[1];

а так не виде у.
чего делать?

Author:  Grin [ 2008-03-07 12:29:38 ]
Post subject: 

Code:
sub use 
{
  walk (2149,787);
}

sub walk($$)
{
  my($x1, $y1);
  $x1 = $_[1];
  $y1 = $_[2]; //!!!!
  while( (uo::getx()!=$x1) && (uo::gety()!=$y1) )
  {
    $x=uo::getx();
    $y=uo::gety();
    if ($x == $x1 && $y > $y1)
    {
      uo::press(35);
    }   
    if ($x == $x1 && $y < $y1)
    {
      uo::press(33);
    }
    if ($x < $x1 && $y == $y1)
    {
      uo::press(36);
    }
    if ($x < $x1 && $y > $y1)
    {
      uo::press(37);
    }
    if ($x < $x1 && $y < $y1)
    {
      uo::press(38);
    }
    if ($x > $x1 && $y == $y1)
    {
      uo::press(34); 
    }
    if ($x > $x1 && $y > $y1)
    {
      uo::press(40);
    }
    if ($x > $x1 && $y < $y1)
    {
      uo::press(39);
    }
      &wait(50);
  }
}

Никому больше таких ошибок не делать!

+ еще куча ошибок...

Author:  korzh [ 2008-03-07 18:11:43 ]
Post subject: 

Да совместными усилиями сделали :D
спасибо Грину ;)

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/