<?php
class FieldCreator
{
const WIDTH = 8 ;
const HEIGHT = 6 ;
public function showField( $animal )
{
$animals = $animal -> getPoint ( ) ;
for ( $i = 0 ; $i < self :: HEIGHT ; $i ++ ) {
for ( $i = 0 ; $i < self :: WIDTH ; $i ++ ) {
if ( $animals [ $i ] == array ( self :: WIDTH , self :: HEIGHT ) ) { echo "m" ;
} else {
echo "." ;
}
}
}
}
}
abstract class Animals
{
public $count ;
public function getPoint( )
{
for ( $i = 0 ; $i < $this -> count ; $i ++ ) { }
return $point ;
}
}
class Mice extends Animals
{
public $count = 4 ;
}
class Cats extends Animals
{
public $name = "K" ;
public $count = 2 ;
}
$mice = new Mice;
$f1 = new FieldCreator;
$f1 -> showField ( $mice ) ;
PD9waHAKCmNsYXNzIEZpZWxkQ3JlYXRvcgp7Cgljb25zdCBXSURUSCA9IDg7Cgljb25zdCBIRUlHSFQgPSA2OwoJCglwdWJsaWMgZnVuY3Rpb24gc2hvd0ZpZWxkKCRhbmltYWwpCgl7CgkJJGFuaW1hbHMgPSAkYW5pbWFsLT5nZXRQb2ludCgpOwoJCWZvciAoJGkgPSAwOyAkaSA8IHNlbGY6OkhFSUdIVDsgJGkrKykgewoJCQlmb3IgKCRpID0gMDsgJGkgPCBzZWxmOjpXSURUSDsgJGkrKykgewoJCQkJaWYgKCRhbmltYWxzWyRpXSA9PSBhcnJheShzZWxmOjpXSURUSCwgc2VsZjo6SEVJR0hUKSkgewoJCQkJCWVjaG8gIm0iOwoJCQkJfSBlbHNlIHsKCQkJCQllY2hvICIuIjsKCQkJCX0KCQkJfQoJCX0KCX0KfQoKYWJzdHJhY3QgY2xhc3MgQW5pbWFscwp7CglwdWJsaWMgJGNvdW50OwoJCglwdWJsaWMgZnVuY3Rpb24gZ2V0UG9pbnQoKQoJewoJCWZvcigkaSA9IDA7ICRpIDwgJHRoaXMtPmNvdW50OyAkaSsrKSB7CgkJCSRwb2ludFskaV0gPSBhcnJheSAobXRfcmFuZCgxLCBGaWVsZENyZWF0b3I6OldJRFRIKSwgbXRfcmFuZCgxLCBGaWVsZENyZWF0b3I6OkhFSUdIVCkpOwoJCX0KCQlyZXR1cm4gJHBvaW50OwoJfQp9CgpjbGFzcyBNaWNlIGV4dGVuZHMgQW5pbWFscwp7CglwdWJsaWMgJGNvdW50ID0gNDsKfQoKY2xhc3MgQ2F0cyBleHRlbmRzIEFuaW1hbHMKewoJcHVibGljICRuYW1lID0gIksiOwoJcHVibGljICRjb3VudCA9IDI7Cn0KCiRtaWNlID0gbmV3IE1pY2U7CgokZjEgPSBuZXcgRmllbGRDcmVhdG9yOwokZjEtPnNob3dGaWVsZCgkbWljZSk7