Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Рисование фигур 
:(
    Опции темы
superphp
Дата 26.3.2013, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.3.2013

Репутация: нет
Всего: нет



Сделал пример с книги, должен по идее рисоваться круг  и результат быть такой, как в книге:

Код

Рисуем круг: (0, 0, 100)
Прошло некоторое время...
Стираем круг: (О, О, 100)
Рисуем круг: (101, 6, 100)
Прошло некоторое время...
Стираем круг: (101, 6, 100)
Рисуем круг: (101, б, 200)
Прошло некоторое время...
Стираем круг: (101, б, 200)


но почему то выводит такое:

Код

Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)
Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)
Рисуем круг: (, , 0)
Прошло некоторое время...
Стираем круг: (, , 0)


и не по порядку выводит, а грузится экран и все выводится сразу.

Код
<?php ## Базовый класс — геометрическая фигура,
class Shape {
// Любая фигура имеет координаты центра, а также масштаб.
// Делая координаты скрытыми членами класса, мы гарантируем,
// что никто не сможет изменять их напрямую.
private $х=0, $у=0, $scale=1.0;
// Конструктор класса. Отображает фигуру на экране.                                                                            
public function __construct() {
$this->show() ;
}
// Деструктор класса. Стирает фигуру с экрана,
public function __destruct() {
$this->hide();
}
// Переместить фигуру на ($dx, $dy) точек,
public final function moveBy($dx, $dy) {
// Вначале стираем фигуру с экрана.
$this->hide();
// Затем изменяем координаты.
$this->x += $dx;
$this->y += $dy;
// Наконец, выводим фигуру на новом месте.
$this->show();
}
// Изменить масштаб отображения фигуры,
public final function resizeBy($coef) {
$this->hide();
$this->scale *= $coef;
$this->show();
}
// Методы возвращают координаты центра и масштаб.
public final function getCoord() { return array($this->x, $this->y); }
public final function getScale() { return $this->scale; }
//** "Защищенные" методы, доступные только для производных классов.
//**. Вызывать их в программе напрямую нельзя (да и не нужно).
protected function hide() {
die("Что здесь делать? Неизвестно!");
}
protected function show() {
die("Что здесь делать? Неизвестно!");
}
}

class Circle extends Shape {
// Радиус круга в масштабе 1:1.
private $radius;
// Создает новый объект-круг с указанием радиуса,
public function construct($radius=100) {
$this->radius = $radius;
parent::__construct();
}
// Отображает круг на экране.
public function show() {
list ($x, $y) = $this->getCoord();
$radius = $this->radius * $this->getScale();
// Разместите "настоящий" код прорисовки круга ($х, $у, $radius).
echo "Рисуем круг: ($х, $у, $radius)<br>";
}
// Стирает фигуру с экрана,
public function hide() {
list ($x, $y) = $this->getCoord();
$radius = $this->radius * $this->getScale();
// Разместите "настоящий" код стирания круга ($х, $у, $radius).
echo "Стираем круг: ($х, $у, $radius)<br>";
}
}


$shape = new Circle();

// Далее мы можем "забыть", что $shape — это в действительности
// круг, работать с ним, как с любой геометрической фигурой.

sleep(1); echo "Прошло некоторое время...<br>";
$shape->moveBy(101,6) ;
sleep(1); echo "Прошло некоторое время...<br>";
$shape->resizeBy(2.0) ;
sleep(1); echo "Прошло некоторое время...<br>";

?>

PM MAIL   Вверх
Aliance
Дата 26.3.2013, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(superphp @  26.3.2013,  17:31 Найти цитируемый пост)
пример с книги

Скинь название и автора книги, посмотрим какой там год.
PM MAIL WWW ICQ Skype   Вверх
superphp
Дата 26.3.2013, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 8.3.2013

Репутация: нет
Всего: нет



621-625 стр PHP 5 (2 издание, Дмитрий Котеров, Алексей Костарев, 2008)

Это сообщение отредактировал(а) superphp - 26.3.2013, 16:41
PM MAIL   Вверх
Чучмек
Дата 26.3.2013, 17:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 4
Всего: 41



Ты с разгону ху русскими буквами набрал
Цитата

echo "Рисуем круг: ($х, $у, $radius)<br>";



--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
baldina
Дата 26.3.2013, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(superphp @  26.3.2013,  16:31 Найти цитируемый пост)
public function construct($radius=100) {

__construct

Цитата(superphp @  26.3.2013,  16:31 Найти цитируемый пост)
echo "Рисуем круг: ($х, $у, $radius)<br>";

x, y должны быть английские (у тебя хэ)

Добавлено через 3 минуты и 42 секунды
http://liveworkspace.org/code/2YYMgw$1

и код отформатируй, глаза сломались
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0870 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.