IPB
ЛогинПароль:

> С какой игры начать?
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 84
Пол: Женский

Репутация: -  0  +


Я вот хочу научится программировать..один очень хороший человек на этом форуме подсказал, что лучше учиться программировать в процессе написания игр........какую самую простую игру вы можете посоветовать..Заранее Большое Спасибо....Не умею правильно пользоваться поиском по форуму..поэтому не отсылайте плиз в поиск........ no1.gif unsure.gif


--------------------
И полусонным стрелкам лень
Ворочаться на циферблате
И дольше века длится день..
И не кончается объятье...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Пионер
**

Группа: Пользователи
Сообщений: 84
Пол: Женский

Репутация: -  0  +


program zmeika;
uses crt;

const
xn=1;
xx=80;
yn=1;
yx=25;
H='8';
dt=500;

var
x0,y0,vx,vy,x,y:integer;
c:char;

begin
clrscr;
x0:=xn;
y0:=yx div 2;
vx:=1;
vy:=0;
x:=x0;
y:=y0;
while (x>=xn) and (x<=xx) and (y>=yn) and (y<=yx) do
begin
GoToXY(x0,y0);
write(H);
x0:=x;
y0:=y;
Delay(dt);
if KeyPressed then
begin
c:=ReadKey;
case c of
'i': begin vx:=0; vy:=-1 end;
'm': begin vx:=0; vy:=1 end;
'j': begin vx:=-1; vy:=0 end;
'k': begin vx:=1; vy:=0 end;
end;
end;
Inc(x,vx); Inc(y,vy);
end;
end.

Тэги. GoodWind

А змейка не появляется..Только целая строчка восьмерок..(символов головы змейки)…а когда я пытаюсь её передвинуть при помощи клавиш i,m,j,k то появляется окно с текстом программы….А процедура Inc(x,vx); Inc(y,vy)вычисляет новое положение змейки чтоли??

Сообщение отредактировано: volvo -


--------------------
И полусонным стрелкам лень
Ворочаться на циферблате
И дольше века длится день..
И не кончается объятье...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Гелла @ 4.04.2006 21:36)
А змейка не появляется..Только целая строчка восьмерок..(символов головы змейки)…а когда я пытаюсь её передвинуть при помощи клавиш i,m,j,k то появляется окно с текстом программы….А процедура Inc(x,vx); Inc(y,vy)вычисляет новое положение змейки чтоли??

Молодец!! Хвалю! smile.gif
Если честно, я особо не рассчитывал, что с первого раза все получится.. Если совсем честно - то не рассчитывал даже на то, что ты последуешь моему указанию и станешь набирать пальцами, а не скопируешь smile.gif. Ты превосходишь все (ну, почти..) ожидания! Спасибо smile.gif

Итак, учебный процесс идет пока по графику. Отвечаю на твои вопросы (возможно, незаданные). Попутно некоторые советы.

1. Змея по-английски будет snake (снэйк). Я очень рекомендую употребление английских слов в программировании. Русские слова, написанные латиницей, гораздо хуже читаются и могут иметь много вариантов написания. Там, где это уместно или необходимо - надо использовать русский (кирилицу или латиницу - зависит от конкретного случая), то есть я не против использования русского. Но все же делай акцент на английский для названий переменных и для коротких пояснений. Заодно и английский подучишь! Здесь я постараюсь пояснять английские слова, которые буду употреблять.

2. Оператор program не является обязательным в Паскале, поэтому я его не употребил. Но если ты его используешь, назови программу snake. Ok?

3. Я уже говорил, но еще разок не помешает - пока наша змейка состоит из одной только головы. Для головы я выбрал символ "8" потому, что восьмерка похожа на глаза или очки (пусть наша змейка будет очковой коброй smile.gif ). Но ты можешь, ессно, заменить этот символ на любой, который тебе нравится.

5. При наборе текста естественно допускать ошибки - человеку свойственно ошибаться. Но при этом имей в виду, что мой код был проверен, и вероятность, что он не работает по объективной причине довольно мала. Поэтому после набора, если программа не заработала - тщательно проверь, правильно ли набран текст. Volvo указал тебе на твою ошибку в этот раз, исправь ее. Открою тебе секрет: я потому и просил набирать руками, что думал, что ты сделаешь ошибки. Исправление таких ошибок - лучший способ обучения. Пока ты оправдываешь мои надежды.. ;)

4. Когда помещаешь текст программы сюда, в сообщение, будь добра, окружай его тегами [рascode] перед текстом и [/рascode] после текста (учти, что тут я вместо английской "p" употребил русскую "р", иначе теги бы сработали, и ты не увидела бы их тут, а вместо них был бы прямоугольник вставки, а в нем "перед текстом и"). Сами теги не показываются при выводе, а в программном тексте будет сохранено форматирование текста, и даже подсвечен синтаксис. Теги можно писать вручную, а можно сделать так:
- выдели текст программы блоком;
- кликни кнопку с буквой P в ряду кнопок над окном набора текста (примерно посредине окна).
Выделенный текст будет окаймлен тегами. Не забудь нажать "Предварительный просмотр", чтобы убедиться, что все получилось как надо. Если не получилось - ищи ошибку (незакрытый тег, ошибка в названии тега..). Сейчас я помещу ниже твой программный текст, и ты увидишь, как он выглядел бы, если бы ты все сделала правильно.

program zmeika;
uses crt;

const
xn=1;
xx=80;
yn=1;
yx=25;
H='8';
dt=500;

var
x0,y0,vx,vy,x,y:integer;
c:char;

begin
clrscr;
x0:=xn;
y0:=yx div 2;
vx:=1;
vy:=0;
x:=x0;
y:=y0;
while (x>=xn) and (x<=xx) and (y>=yn) and (y<=yx) do
begin
GoToXY(x0,y0);
write(H);
x0:=x;
y0:=y;
Delay(dt);
if KeyPressed then
begin
c:=ReadKey;
case c of
'i': begin vx:=0; vy:=-1 end;
'm': begin vx:=0; vy:=1 end;
'j': begin vx:=-1; vy:=0 end;
'k': begin vx:=1; vy:=0 end;
end;
end;
Inc(x,vx); Inc(y,vy);
end;
end.


Видишь? Совсем же другое дело!..
И тут выясняется, что:
- разделы var и const ты не сдвигала... Рекомендую это делать!
- размер сдвига у тебя пляшет: то 2, то 4, то 3..
Последнее совершенно недопустимо!! Ибо бывают ситуации, когда разобраться, к какому логическому блоку относится оператор можно только по суммарному сдвигу (размер сдвига умножить на вложенность блока). Уверяю тебя, это делается не для красоты (хотя красота идет попутно). Выбери стандарт для себя и не отступай от него никогда! Я рекомендую 2 (один сдвиг - два пробела). Если ты работаешь в FPC (кстати - обязательно скажи, в чем ты работаешь), то зайди в Options - Environment - Editor, и там поставь Tab Size = 2 и Indent Size = 2. После этого выполни Options - Save. Возможно, тебе придется переоткрыть рабочее окно, чтоб это подействовало..

5. Процедура Inc(i) - это, грубо говоря, увеличение на 1 (для целых чисел). Происходит от английского increase (увеличивать, возрастать). Иначе говоря, это эквивалентно оператору i:=i+1 . Строго говоря, такая операция производится быстрее, чем сложение, но практически все оптимизирующие компиляторы все равно заменят сложение на инкриментирование, так что все равно, что писать. Я предпочитаю пользоваться Inc'ом, и тебе советую. Есть ситуации, где это действительно упрощает дело (если говорить о перечисляемых типах, например, или даже просто о типе char). Кстати, аналогично ей, есть процедура для уменьшения, Dec(i) (от английского decrease - уменьшать, убывать), которая эквивалентна i:=i-1 .

Ну вот, на сегодня хватит. Пожалуйста, все проверь, исправь и постарайся разобрать что делает каждый оператор (мои пояснения смотри в предыдущем сообщении). Жду следующих вопросов - и пора уже двигаться дальше!
Успехов!


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Гелла   С какой игры начать?   30.03.2006 23:50
lapp   Я тут попробовал провести небольшую классификацию …   31.03.2006 11:10
Ozzя   Гелла Морской бой. Я начинал именно с него. Далее…   31.03.2006 11:44
Бродяжник   Гелла Добро пожаловать в клуб игроделов-любителей…   31.03.2006 13:04
volvo   Гелла, ты ответы ЧИТАЕШЬ, или БЕГЛО ПРОСМАТРИВАЕШЬ…   31.03.2006 23:52
Ozzя   lapp 5. Еще есть синоним (?) - adventure Interac…   31.03.2006 13:33
Гелла   Блин...боюсь мне не под силу даже змейка и морской…   31.03.2006 23:47
Гелла   :unsure: Не надо так нервничать..... :no1: :uns…   1.04.2006 0:40
hardcase   К теме. Видел книгу по созданию 3д стратегии на С+…   1.04.2006 2:23
Ozzя   Гелла Морской бой Давай по порядку Алгоритм игры с…   1.04.2006 13:03
Бродяжник   Гелла, не расстраивайтесь. Вы сказали: "не зн…   3.04.2006 15:21
lapp   Гелла, постарайся быть все же поактивнее! Теб…   4.04.2006 13:25
XRumerTest   Hello. And Bye.   27.08.2021 11:41
FreeMan   Идея дальше - нужны яблоки :) заодно и работа с ма…   4.04.2006 20:39
Гелла   program zmeika; uses crt; const xn=1; xx=80; yn=1…   5.04.2006 1:36
lapp   А змейка не появляется..Только целая строчка восьм…   5.04.2006 9:40
volvo   Гелла, ты пропустила 2 оператора, которые как раз …   5.04.2006 2:51
Бродяжник   Гелла Поздравляю с тем, что Вы таки начали это дел…   5.04.2006 16:27
lapp   Гелла, интерес пропал? Скажи, что именно тебя сму…   7.04.2006 5:25
Гелла   Нет, всё в порядке....конечно мне это очень нужн…   7.04.2006 18:32
lapp   Гелла, тебе не нужно было оправдываться.. Мне (да…   8.04.2006 9:33
artoncraftscn   Hello. And Bye.   29.08.2021 3:55
suriv   X:=X+VX после той запятой ставиться то число …   8.04.2006 2:04
Гелла   а вот этого точно быть не может.. :wink: не могу…   8.04.2006 16:20
lapp   а вот этого точно быть не может.. :wink: не могу …   9.04.2006 8:44
Гелла   :good:   9.04.2006 15:39
Гелла   Программа работает!У меня был неправильный пас…   10.04.2006 20:58
lapp   Гелла, привет. Режь меня - не могу представить си…   12.04.2006 15:40
Гелла   program snake_2; uses crt; const xn=1; xx…   13.04.2006 20:42
lapp   Она не работает...только не понимаю почему..ошибок…   14.04.2006 10:06
volvo   Теперь идем еще дальше.. В FreePascal (FPC), кото…   14.04.2006 19:01
Гелла   все удивляются..но так и было...на том старом пас…   12.04.2006 21:11
lapp   volvo, спасибо, мне действительно недоставало ясно…   15.04.2006 18:13
Гелла   Привет lapp! Договорились... это мне пон…   16.04.2006 22:53
volvo   Гелла, делаешь очень опасную ошибку... Она никак н…   17.04.2006 0:22
Гелла   Спасибо, я даже не знала, что в TP cтолько тонко…   17.04.2006 2:53
Бродяжник   Привет, Гелла! Возможно, эта ошибка содержится…   17.04.2006 12:28
Гелла   Привет Бродяжник! поставила .... Ура!О…   17.04.2006 16:32
Бродяжник   Молодица! :) Теперь подумайте, чем эта прогр…   17.04.2006 17:19
Гелла   Нужно, чтобы змейка кушала, и становилась длинне…   17.04.2006 20:33
Бродяжник   Угу. Для этого нужно, чтобы: а) было что кушать; б…   17.04.2006 20:56
Гелла   я думаю, это будет двумерный массив?!?   17.04.2006 21:19
lapp   Вот это я понимаю - коллективная работа! Гелла…   18.04.2006 6:47
Бродяжник   Гелла, слушайте Lappa :) А я пока отдохну пойду..…   18.04.2006 12:26
Гелла   Что то я так запуталась в этой блок схеме...хоче…   20.04.2006 21:36
Гелла   Привет lapp! Вообщем мы убрали переменные x…   24.04.2006 20:00
GoodWind   Гелла, у нас же не игра "найди 10 отличий…   25.04.2006 10:24
Гелла   :mega_chok: :unsure: :unsure: :unsure: :…   27.04.2006 23:44
lapp   :mega_chok: :unsure: :unsure: :unsure: :unsu…   28.04.2006 18:27
Гелла   Не поняла...?!? :blink: :wink:   28.04.2006 19:27
lapp   Не поняла...?!? :blink: :wink: Была поздняя…   29.04.2006 4:45
lapp   После некоторого перерыва (очень извиняюсь), возвр…   3.05.2006 17:10
ThEEnD   Лазил я тут на форуме и вдруг нашёл эту тему! …   18.09.2011 23:29
Krjuger   Наверно потому что от обучаемой небыло вестей.....…   18.09.2011 23:50
ThEEnD   Ну, не всё ж обучаемой, на верняка многие за темой…   19.09.2011 0:40
Lapp   Ну, не всё ж обучаемой, на верняка многие за темой…   19.09.2011 10:35
ThEEnD   О'кей, потом выложишь?   20.09.2011 0:21
Игорь   Извиняюсь что не по теме, но не мог бы ты, Lapp, к…   4.10.2011 22:29
Lapp   Извиняюсь что не по теме, но не мог бы ты, Lapp, к…   5.10.2011 11:17
Игорь   Чесно говоря, особо не углублялся в поиски поэтому…   6.10.2011 19:53
Гость   Я вот хочу научится программировать..один очень х…   13.08.2014 0:53
MEXAHIK   Я вот хочу научится программировать..один очень х…   13.08.2014 0:58
Gamer   шел 21, а я нашел то что надо!   10.07.2021 2:38
Gamer   шел 21, а я нашел то что надо! всё же я рано…   10.07.2021 2:45
rekilev   Между делом, советую начать играть в онлайн слоты …   21.12.2023 10:29


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 17:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name