С какой игры начать? |
С какой игры начать? |
Гелла |
30.03.2006 19:50
Сообщение
#1
|
Пионер Группа: Пользователи Сообщений: 84 Пол: Женский Репутация: 0 |
Я вот хочу научится программировать..один очень хороший человек на этом форуме подсказал, что лучше учиться программировать в процессе написания игр........какую самую простую игру вы можете посоветовать..Заранее Большое Спасибо....Не умею правильно пользоваться поиском по форуму..поэтому не отсылайте плиз в поиск........
-------------------- И полусонным стрелкам лень
Ворочаться на циферблате И дольше века длится день.. И не кончается объятье... |
Гелла |
7.04.2006 14:32
Сообщение
#2
|
Пионер Группа: Пользователи Сообщений: 84 Пол: Женский Репутация: 0 |
Цитата Гелла, интерес пропал? Скажи, что именно тебя смутило и заставило молчать. Слишком много? Слишком резко? Что-то конкретное непонятно? Что-то непонятно, но не знаешь, что именно? Непонятно, о чем вообще речь? Говори в любой форме, но говори. Либо уж скажи, что это тебе не нужно.. Нет, всё в порядке....конечно мне это очень нужно..когда я была на форуме посл раз 2 дня назад я только сохранила эту страницу..читала всё в авономном режиме....на след день у интернет фирмы, где я покупаю карты доступа что то случилось с центральным компьтером как мне сказали в службе технической поддержки.. какая то авария...когда модем набирал номер всё время было занято.....я подождала 2 дня...они не устранили неполадку..вообщем в итоге пришлось покупать другую карту другого првайдера... Цитата Если честно, я особо не рассчитывал, что с первого раза все получится.. Если совсем честно - то не рассчитывал даже на то, что ты последуешь моему указанию и станешь набирать пальцами, а не скопируешь . Ты превосходишь все (ну, почти..) ожидания! Спасибо Это Тебе Большое Спасибо:-) program snake; Исправила ошибку, теперь появляется одна восьмерка..она двигается по прямой и когда доходит до конца монитора останавливается....не реагирует на нажатие клавиш i,m,j,k, при этом появляется окно с текстом программы... Цитата Если ты работаешь в FPC (кстати - обязательно скажи, в чем ты работаешь), то зайди в Options - Environment - Editor, и там поставь Tab Size = 2 и Indent Size = 2. После этого выполни Options - Save. Возможно, тебе придется переоткрыть рабочее окно, чтоб это подействовало.. А что такое FPC? Я работаю в обычном Turbo Pascal 7.0 под DOS(на синем экране). Цитата 5. Процедура Inc(i) - это, грубо говоря, увеличение на 1 (для целых чисел). Происходит от английского increase (увеличивать, возрастать). Иначе говоря, это эквивалентно оператору i:=i+1 . Строго говоря, такая операция производится быстрее, чем сложение, но практически все оптимизирующие компиляторы все равно заменят сложение на инкриментирование, так что все равно, что писать. Я предпочитаю пользоваться Inc'ом, и тебе советую. Есть ситуации, где это действительно упрощает дело (если говорить о перечисляемых типах, например, или даже просто о типе char). Кстати, аналогично ей, есть процедура для уменьшения, Dec(i) (от английского decrease - уменьшать, убывать), которая эквивалентна i:=i-1 . Т.е. если в скобках мы пишем Inc(x,vx), это значит vx:=x+1 или x:=x+1 тогда зачем мы пишем ещё и vx? Сообщение отредактировано: volvo - 2.11.2006 12:32 -------------------- И полусонным стрелкам лень
Ворочаться на циферблате И дольше века длится день.. И не кончается объятье... |
Lapp |
8.04.2006 5:33
Сообщение
#3
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Гелла, тебе не нужно было оправдываться.. Мне (да и никому особенно) не важно, почему тебя нет. Я не декан, просто интерес должен быть обоюдный. Если мне покажется, что тебе неинтересно - интерес иссякнет и у меня.. Да и к тому же я видел твои заходы в форум оба дня, когда ты молчала... Ладно, не будем препираться .
Исправила ошибку, теперь появляется одна восьмерка..она двигается по прямой и когда доходит до конца монитора останавливается....не реагирует на нажатие клавиш i,m,j,k, при этом появляется окно с текстом программы... Это странно. Я скопировал твой код и прогнал его и в FPC, и в BP7. В обоих случаях голова (восьмерка) дигалась и поворачивала при нажатиях i, j, k, m - короче, вела себя адекватно. Может, у тебя был нажат Caps Lock? Или ты ждала, когда она дойдет до края, а потом нажимала? Смысл в том, что змейка в этой игре не должна натыкаться на стены - это для нее смерть. Поэтому я и сделал выход из программы по выходу восьмерки на край. Если ты управляешь ей и не даешь ей натыкаться на стенку, то она будет бегать вечно. Попробуй еще разок. И поставь задежку поменьше, типа 200 (хотя ТР может неправильно ее отрабатывать), чтобы все было подинамичнее.. А что такое FPC? Я работаю в обычном Turbo Pascal 7.0 под DOS(на синем экране). FPC - это Free Pascal, Бесплатный Паскаль. Он тоже на синем экране, но под Dos работать не будет. Он вообще очень сильно похож на ТР, но есть одно главное отличие: ТР - это 16-разрядный компилятор, а FPC - это полностью 32-битный компилятор. Улавливаешь разницу? Например, ты сделала прогу в ТП7, потом запустила FPC, и в нем скомпилировала тот же самый программный текст. Когда ты запустишь эту прогу, ты не увидишь разницы - то же обычное черное досовское текстовое окошко (можно переключиться в полноэкранный режим нажатием Ctrl-Enter). Но внутри программа совершенно другая - 32-разрядная! Например, ты сможешь использовать гораздо больше памяти (я свободно использую весь свой гигабайт), причем не блоками по 64КБ, а одним массивом! Ощущаешь выгоду? Но для программки типа нашей змейки пока что разницы нету, в чем ты работаешь. Если хочешь все же установить себе FPC - пожалуйста, качай его совершенно бесплатно с их сайта http://www.freepascal.org/ , только учти, что дистрибутив весит 25 МБ. По диалапу это будет качаться много часов, и он выйдет сильно небесплатный.. Если ты живешь в Москве, я бы советовал тебе бросить клич, кто может записать его на CD, а потом пересечься с тобой где-нить в метро. Сам я, увы, не могу.. Но, повторяю, для змейки FPC не обязателен. Что касается отступов, то совершенно аналогично ты можешь настроить свой ТП7. Иди в Options - Environment - Editor, и там поставь Tab size равным 2. Мне кажется, это идеальный размер для сдвига (при 4 на глубокие вложения не хватит экрана). Дальше для сдвига просто нажимай клавишу Tab. Можно сдвигать и куски текста (это часто бывает нужно). Для этого отметь нужный кусок блоком, а потом нажми (Ctrl-K, I). То есть К при нажатом Ctrl, а I -потом можно при нажатом и ненажатом. Еще раз повторяю: сдвиг должен быть одинаковым, а у тебя он пляшет - то 4, то 5. Далее, структура программы у тебя нарушена. Каждый END должен быть ровно на том же сдвиге, как и BEGIN (точнее, та строчка, в которой стоит этот BEGIN), который открыл этот блок. Если END относится не к BEGINу, а к CASE, то он должен быть на том же сдвиге, как и CASE. У тебя последние ENDы сдвинуты. Посмотри мой текст для образца, разберись, какой END относится к какому BEGINу. Ок? Конечно, сдвиги не влияют на компиляцию. Но они очень помогают при написании. Вот когда начнешь сама отыскивать ошибки в тексте (а не с помощью Volvo ), тогда поймешь и оценишь. Т.е. если в скобках мы пишем Inc(x,vx), это значит vx:=x+1 или x:=x+1 тогда зачем мы пишем ещё и vx? Процедуры Inc и Dec могут иметь один параметр, а могут два (в прошлый раз я это не сказал). Если параметр один, то он увеличивается (уменьшается) на единицу. Если параметров два, то первый параметр увеличивается (уменьшается) на величину второго (как сказал suriv). Если второй параметр отрицательный, то реально происходит уменьшение (увеличение). В нашем случае, если змейка движется вправо, то значение х нужно увеличивать, а если влево, то уменьшать. Но писать отделные блоки кода, один из которых использует Inc, а другой - Dec, для движения вправо и влево - неразумно. Я использую vx (по аналогии со скоростью). Если vx=1, то оператор Inc(x,vx) увеличит значение х (движение вправо), а если vx=-1, то уменьшит (движение влево). Понятно? Аналогично для y (учти, что y увеличивается по экрану сверху вниз!). Разберись детально, дотошно, въедливо, что делает каждая строчка, каждый оператор. Все вопросы задавай. Экспериментируй сама тоже. Например, неясно, почему vy задается равным -1 (см. строчку 37 твоего файла). Ну, в натуре, берешь и заменяешь это значение на 0 или 2... Потом запускаешь и смотришь, что будет.. Ну, пока. Жду рапорта о том, что все работает, как часы - и что тебе все понятно! -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 1.10.2024 22:48 |