<?php
class Mouse
{
const NAME = 'm';
public $point;
public function getStartPoint()
{
$this->point = array("x" => $x,"y" => $y); }
public function takeStep($field)
{
$y = $this->point["y"];
$x = $this->point["x"];
for ($x; $x < $this->point["x"] + 4; $x++) {
if ($field[$y][$x] == Cat::NAME) {
$mouseEyes[] = array($x, $y); }
}
for ($y; $y < $this->point["y"] + 4; $y++) {
if ($field[$y][$x] == Cat::NAME) {
$mouseEyes[] = array($x, $y); }
}
for ($x; $x > $this->point["x"] - 4; $x--) {
if ($field[$y][$x] == Cat::NAME) {
$mouseEyes[] = array($x, $y); }
}
for ($y; $y > $this->point["y"] - 4; $y--) {
if ($field[$y][$x] == Cat::NAME) {
$mouseEyes[] = array($x, $y); }
}
}
}
class Cat
{
const NAME = 'C';
public $point;
public function getStartPoint()
{
$this->point = array("x" => $x,"y" => $y); }
public function takeStep()
{
}
}
class Field
{
const WIDTH = 16;
const HEIGHT = 20;
public $field;
public function createField()
{
for ($y = 0; $y < self::WIDTH; $y++) {
for ($x = 0; $x < self::HEIGHT; $x++) {
$field[$y][$x] = ".";
}
}
$this->field = $field;
}
}
class Game
{
}
$field = new Field;
$field->createField();
$m1 = new Mouse;
$m1->getStartPoint();
$m1->takeStep($field->field);
foreach ($field->field as $string) {
}
PD9waHAKCmNsYXNzIE1vdXNlCnsKCWNvbnN0IE5BTUUgPSAnbSc7CglwdWJsaWMgJHBvaW50OwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0U3RhcnRQb2ludCgpCgl7CgkJJHggPSBtdF9yYW5kKDEsIEZpZWxkOjpXSURUSCk7CgkJJHkgPSBtdF9yYW5kKDEsIEZpZWxkOjpIRUlHSFQpOwoJCQoJCSR0aGlzLT5wb2ludCA9IGFycmF5KCJ4IiA9PiAkeCwieSIgPT4gJHkpOwoJfQoJCglwdWJsaWMgZnVuY3Rpb24gdGFrZVN0ZXAoJGZpZWxkKQoJewkKCQkkeSA9ICR0aGlzLT5wb2ludFsieSJdOwoJCSR4ID0gJHRoaXMtPnBvaW50WyJ4Il07CgkJCgkJJG1vdXNlRXllcyA9IGFycmF5KCk7CgkJCgkJZm9yICgkeDsgJHggPCAkdGhpcy0+cG9pbnRbIngiXSArIDQ7ICR4KyspIHsKCQkJaWYgKCRmaWVsZFskeV1bJHhdID09IENhdDo6TkFNRSkgewoJCQkJJG1vdXNlRXllc1tdID0gYXJyYXkoJHgsICR5KTsKCQkJfQoJCX0KCQkKCQlmb3IgKCR5OyAkeSA8ICR0aGlzLT5wb2ludFsieSJdICsgNDsgJHkrKykgewoJCQlpZiAoJGZpZWxkWyR5XVskeF0gPT0gQ2F0OjpOQU1FKSB7CgkJCQkkbW91c2VFeWVzW10gPSBhcnJheSgkeCwgJHkpOwoJCQl9CgkJfQoJCQoJCWZvciAoJHg7ICR4ID4gJHRoaXMtPnBvaW50WyJ4Il0gLSA0OyAkeC0tKSB7CgkJCWlmICgkZmllbGRbJHldWyR4XSA9PSBDYXQ6Ok5BTUUpIHsKCQkJCSRtb3VzZUV5ZXNbXSA9IGFycmF5KCR4LCAkeSk7CgkJCX0KCQl9CgkJCgkJZm9yICgkeTsgJHkgPiAkdGhpcy0+cG9pbnRbInkiXSAtIDQ7ICR5LS0pIHsKCQkJaWYgKCRmaWVsZFskeV1bJHhdID09IENhdDo6TkFNRSkgewoJCQkJJG1vdXNlRXllc1tdID0gYXJyYXkoJHgsICR5KTsKCQkJfQoJCX0KCQkKCX0KfQoKY2xhc3MgQ2F0CnsKCWNvbnN0IE5BTUUgPSAnQyc7CglwdWJsaWMgJHBvaW50OwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0U3RhcnRQb2ludCgpCgl7CgkJJHggPSBtdF9yYW5kKDEsIDgpOwoJCSR5ID0gbXRfcmFuZCgxLCA2KTsKCQkKCQkkdGhpcy0+cG9pbnQgPSBhcnJheSgieCIgPT4gJHgsInkiID0+ICR5KTsKCX0KCQoJcHVibGljIGZ1bmN0aW9uIHRha2VTdGVwKCkKCXsKCQkKCX0KfQoKY2xhc3MgRmllbGQKewoJY29uc3QgV0lEVEggPSAxNjsKCWNvbnN0IEhFSUdIVCA9IDIwOwoJCglwdWJsaWMgJGZpZWxkOwoJCglwdWJsaWMgZnVuY3Rpb24gY3JlYXRlRmllbGQoKQoJewoJCWZvciAoJHkgPSAwOyAkeSA8IHNlbGY6OldJRFRIOyAkeSsrKSB7CgkJCWZvciAoJHggPSAwOyAkeCA8IHNlbGY6OkhFSUdIVDsgJHgrKykgewoJCQkJJGZpZWxkWyR5XVskeF0gPSAiLiI7CgkJCX0KCQl9CgkJCgkJJHRoaXMtPmZpZWxkID0gJGZpZWxkOwoJfQp9CgpjbGFzcyBHYW1lCnsKCQp9CgokZmllbGQgPSBuZXcgRmllbGQ7CiRmaWVsZC0+Y3JlYXRlRmllbGQoKTsKCiRtMSA9IG5ldyBNb3VzZTsKJG0xLT5nZXRTdGFydFBvaW50KCk7CiRtMS0+dGFrZVN0ZXAoJGZpZWxkLT5maWVsZCk7Cgpmb3JlYWNoICgkZmllbGQtPmZpZWxkIGFzICRzdHJpbmcpIHsKCWVjaG8gaW1wbG9kZSgiIiwgJHN0cmluZykuIlxuIjsKfQo=