Вот что придумал, в порядке усложнения:
1) Решатель квадратных уравнений
2) Головоломка (например, ханойские башни)
3) Простой tcp/ip чат
4) Какой-нибудь свой проигрыватель музыки с поиском mp3-файлов на SD-карте
5) Свой навигатор на основе какого-нибудь API (Яндекс-карты, OSM или Google Maps)
По пути разберетесь с UI, с сетью, мультимедиа и навигацией.
Устанавливаете размер листа в несколько метров и вперед :)
На маке я создавал так:
в настройках принтера создал новый вид листа, длиной в несколько метров и шириной А4
затем просто печатаю на этот лист, используя вывод не на принтер, а в PDF
Самый простой вариант — SVG. Можно спокойно отрисовать нужные контуры и закрашивать их. Полная свобода действий, будет работать на iOS и андроидах. На Canvas реально такое сделать много сложнее. Да и смысла особо нету.
Единственной проблемой может стать формирование этих самых контуров… Но это уже другая задача.
Я тоже читал энциклопедию профессора Фортрана и до сих пор многое из неё помню. У неё был предшественник под названием «А я был в Компьютерном Городе», но к сожалению я ваш ровесник и не попадаю под целевую аудиторию вашего вопроса.
Раз уж вопрос о книгах — кто нибудь из вас читал "О чём размышляют роботы?". На меня эта книга повлияла сильнее «энциклопедии».
Если я вас правильно понял, вам нужен примерно такой эффект.
Навскидку есть три очевидных решения:
— скрипт который будет выдавать готовое изображение. Просто и эффективно.
— js/css box-shadow с inset. Есть ограничения.
— js/svg. Крайне ограниченное применение.
Because of the nature of requestAnimationFrame(), you should never queue animations using a setInterval or setTimeout loop. In order to preserve CPU resources, browsers that support requestAnimationFrame will not update animations when the window/tab is not displayed. If you continue to queue animations via setInterval or setTimeout while animation is paused, all of the queued animations will begin playing when the window/tab regains focus. To avoid this potential problem, use the callback of your last animation in the loop, or append a function to the elements .queue() to set the timeout to start the next animation.
Иногда полезно читать доку. (коммент к статье про .animate()
1. Поставь себе связку Apache+PHP+mySQL. Советую поискать в Инете AppServ, скачать и поставить, он легко ставится.
2. В качестве редактора советую SciTE — найди подходящую сборку — он поддерживает кодинг почти на всем что можно придумать себе.
3. редактируй файлы прямо в каталоге, куда поставится AppServ (обычно c://AppServ/www). Результат работы твоего php кода будишь видеть сразу после нажатия кнопки «сохранить».
Недостаток этого пути: если используешь базы данных, придется делать у себя на компе их копии, но это того стоит.
Самый простой и дельный вариант — отдельный стиль для печати. В этом стиле все дополнительные блоки display:none, у основного шрифт крупнее (ну это уже мелочи) и готово
Во всех стрелялках это реализовано через функцию-интервал которая считает разницу между позицией курсора и центром, передает данные игровому движку, и принудительно выставляет мышку на центр экрана. Это происходит настолько часто, что скачки незаметны.
Касательно более менее рядовых сайтов ситуация такая: если у вас все на Model-View-Controller, то MVC он и в африке MVC. Так что можно взять Kohana, это весьма перспективный и очень простой в использовании фреймворк, минус которого — скудная документация, но и это не проблема.
Для сложных проектов используйте Zend. Но не забывайте, фрейворк это не CMS, и ту же Kohan'у можно переписать до неузнаваемости, фрейворк дает лишь общий шаблон поведения, управлять которым должны вы сами.