Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Ада и другие языки _ А где найти руководство по С++?

Автор: kumino 9.10.2010 0:14

Хотелось бы создать игру... Паскаль у меня есть,но я не понимаю, как делать игры на нём.С++ тоже есть, но я его не знаю. Укажите ссылочку...

Автор: volvo 9.10.2010 0:23

Цитата
Паскаль у меня есть,но я не понимаю, как делать игры на нём.С++ тоже есть, но я его не знаю.
То есть, ты считаешь, что как только ты узнаешь об основных конструкциях языка, то сразу автоматически научишься программировать игры? Хочу тебя разочаровать: этого не будет. Более того, я бы рекомендовал тебе начинать программировать именно с Паскаля, ибо здесь начинающему программисту гораздо сложнее сделать ошибку, чем в любом другом языке.

Если все-таки решил начинать изучение С++ - то я свое мнение озвучивал вот тут: http://forum.pascal.net.ru/index.php?s=&showtopic=4304&view=findpost&p=119547

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

Автор: kumino 9.10.2010 0:31

Спасибо за совет... Только один вопрос: есть ли игры, которые можно сделать на C или С++, а на
Паскале - нельзя?(Я новичок в программировании и на этом форуме, многого не знаю...) unsure.gif

Автор: Lapp 9.10.2010 3:16

Цитата(kumino @ 8.10.2010 21:31) *
Спасибо за совет... Только один вопрос: есть ли игры, которые можно сделать на C или С++, а на
Паскале - нельзя?(Я новичок в программировании и на этом форуме, многого не знаю...) unsure.gif
Отличия между языками одного уровня сводятся следующему:
1. синтаксис;
2. библиотеки.

Первое практически не влияет на возможность принципиальной реализации чего-то - ну, менее удобно, ну, больше кода, ну, сложнее отлаживать..
Второе более существенно. Конечно, библиотек для С/С++ гораздо больше, чем для Паскаля..

Автор: TarasBer 9.10.2010 4:25

> Только один вопрос: есть ли игры, которые можно сделать на C или С++, а на
Паскале - нельзя?

Если сравнивать язык в чистом виде, то таких игр нет, на Паскале (если брать современные диалекты, а не досовский турбо) можно всё.
Но Паскалю с реализацией не повезло. На мелких играх разницы никакой нет, но вот игры уровня Кризиса, при написании на Паскале, будут писаться намного дольше (так как нет библиотек для этого) и они будут требовательнее (потому что Дельфи не позиционировалась как средство для написания эффективных по скорости и памяти приложений).
Короче, для тех игр, которые ты можешь сейчас делать, лучше Паскаль, потому что убийцу Кризиса ты не напишешь, зато в коде лечше разобраться и геморроя намного меньше при отладке.

Автор: kumino 9.10.2010 23:36

Конечно, когда я научусь писать реально крутые игры, тогда и начну другие языки
изучать. А где скачать крутой паскаль, и чем он отличен от старого(Borland Pascal 7.0, например)?

Автор: TarasBer 9.10.2010 23:53

> Конечно, когда я научусь писать реально крутые игры

Ты учти, что игры хоть и весёлая вещь, но нихрена не прибыльная.

> А где скачать крутой паскаль,

гугль по Free Pascal

> и чем он отличен от старого(Borland Pascal 7.0, например)?

Нету ограничения на память (вернее есть, но по сравнению с Турбо они недосягаемо далеко), есть доступ ко всем виндовским функциям (создание полноценных окон, 3Д библиотеки OpenGL и DirectX), нету проблем с запуском под современными операционными системами.

Но тебе реально пока достаточно любого паскаля, чтобы написать хотя бы игру в спички (на столе лежит 15 спичек, два игрока по очереди берут от 1 до 3 спичек, взявший последнюю спичку выигрывает), просто через WriteLn('VVEDITE KOLICHESTVO SPICHEK KOTOROE VI BERETE'); ReadLn(kolichestvo);. Пока такой уровень осиль, для него даже Турбо выше крыши.

Автор: kumino 10.10.2010 0:49

легко!

 
uses crt;
var k,f:integer;
begin
clrscr;
randomize;
k:=15;
repeat
writeln('ostalos',' ',k,'spitchek');
repeat
writeln('vvedite',' ','kol-vo',' ','spitchek');
readln(f);
until((f>0) and (f<4) and (f<=k));
k:=k-f;
if (k=0) then
begin
write('you win');
readln;
exit;
end;
if (k mod 4=0) then
begin
f:=random(2)+1;
writeln('Ya kladu',' ',f,' ','spitchek');
k:=k-f;
end
else
begin
writeln('Ya kladu',' ',k mod 4,' ','spitchek');
k:=k-(k mod 4);
if (k=0) then
begin
write('you lose');
readln;
exit;
end;
end;
until(k=0);
end.


Прикрепленные файлы
Прикрепленный файл  SPITCHKI.PAS ( 556 байт ) Кол-во скачиваний: 266

Автор: TarasBer 10.10.2010 1:03

Молодец, а теперь сделай так, чтобы комп брал не f:=random(2)+1; спичек, а использовал выигрышную стратегию.
И отформатируй код, это тоже облегчит его написание.
В общем, пока делай, что умеешь на том, что есть. И понимай, что при переходе на другой язык у тебя не появится волшебный оператор RunCrysisKiller.

Автор: kumino 10.10.2010 16:11


Он её итак при первом же шансе юзает! Просто когда комп первый, он выигрывает(неинтересно играть).
Но игрок тоже может, как комп круто играть, и на этот случай комп берёт случайное число от 1 до 3(от этого числа исход не зависит)Есть проверка, когда игрок тупит, а когда выигрывает(если комп выдаёт случайное
число, это говорит о крутой игре игрока)

Добавлено через 5 мин.
И не мог бы ты меня научить, как мышку использовать для игр и клавиатуру в текстовом и графическом режимах.

Автор: Unconnected 10.10.2010 17:15

Ну, клавиатуру вестимо как - readln(). А для мышки можно подключить модуль f_mouse (поищи в сети, у меня есть только .tpu, могу выложить, если не найдешь), я когда-то использовал его.

Автор: volvo 10.10.2010 17:37

Цитата
поищи в сети
Угу, прямо с этого форума начиная: http://forum.pascal.net.ru/index.php?showtopic=16070 smile.gif

P.S. Мне одному кажется, что обсуждение плавно из "Хочу научиться программировать на С++" перетекает в "Написание игр на Паскале"?

Автор: kumino 10.10.2010 22:48

Цитата(volvo @ 10.10.2010 17:37) *

P.S. Мне одному кажется, что обсуждение плавно из "Хочу научиться программировать на С++" перетекает в "Написание игр на Паскале"?

Да, это верно.

Автор: kumino 10.10.2010 23:29

Ни как не найду F_MOUSE! Помогите, пожалуйста. !help.gif

Автор: Unconnected 10.10.2010 23:47

blink.gif пост №12 в этой теме видел?

Автор: kumino 11.10.2010 0:02

Но что из этого качать, что с этим (программами из темы: модуль мышь) делать, как затем мышь подключать?

Автор: TarasBer 11.10.2010 0:13

Модули ты ещё не проходил.
Так, сначала без мышки попробуй сделать чего.
А это всё потом.

Автор: Unconnected 11.10.2010 0:16

Качай сам модуль, кидай его в папку BIN паскаля (точно не помню, поправьте, если не так), в своей программе пишешь uses f_mouse;
Инициализировать мышь так:


initmouse;
showmouse;


А дальше смотри процедуры в модуле, у них говорящие названия.

Ну в принципе да, рановато тебе наверное smile.gif

Автор: kumino 11.10.2010 20:23

Всем спасибо за советы и терпение в некоторой степени глупых вопросов! good.gif

Автор: kumino 11.10.2010 23:48

Только одна проблема: как копировать тексты программ в паскаль? excl.gif

Автор: Unconnected 11.10.2010 23:51

В TP7 напрямую никак, насколько знаю. Зато можно редактировать блокнотом pas-файл.

Автор: TarasBer 11.10.2010 23:55

> Только одна проблема: как копировать тексты программ в паскаль?

Ну, лучше пользуйся виндовскими версиями, там всё нормально копируется.

> Зато можно редактировать блокнотом pas-файл.

С русским текстом плохо будет.

Я использую FAR. F4, F8 (ДОС-кодировка), Shift+Insert, F2, Esc