Как сделать игру на паскале
Перейти к содержимому

Как сделать игру на паскале

  • автор:

Как создавать игры в паскале

Author24 — интернет-сервис помощи студентам

Здрасть.
Я хочу учиться на программиста, но я пока даже не знаю, как писать игры в паскале. Хочу это исправить. Нужна ваша помощь:
какие служебные слова используются для этого и что они значат, как правильно их вписывать в паскале и пример простой игры, если можно. Заранее спасибо.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как создавать игры с нуля
Всем привет! Я хочу создавать игры, но низнаю как. Хочу создать свои собственные игры, но незнаю.

Как правильно создавать бота, для браузерной игры?
в програмирование я бум бум) недавно токо начал изучать весь этот мир) хотелось бы узнать как.

Написание игры: как создавать объекты с разными текстурами?
Спасибо всем, кто ответит мне. Вообщем я новичок, только начал Java изучать. И мне нужна помощь.

Вы можете подсказать,как создать игры в паскале?
Вы можете подсказать,как создать игры в паскале? сапер,судоку любую логическую игру

Супер-модератор
6192 / 2938 / 1300
Регистрация: 04.03.2013
Сообщений: 5,781
Записей в блоге: 1

СлавянК, вопрос некорректно поставлен. Если вы хотите учиться на программиста, то вы должны владеть во-первых «Алгоритмами и структурами данных», а уж потом говорить о языке. Во-вторых, если уж говорить о паскале, то мой ответ — ВСЕ (служебные слова). Вам нужно начинать с самых азов, так как вы (на мой взгляд) мало представляете себе процесс программирования. Это не так просто как создать рисунок в паинте или текстовый документ в ворде. Нужно обладать азами знаний о системах счисления, о конструкциях языка, о том как данные хранятся в памяти, о том, в конце концов, как процессор перекладывает нули и единицы из одной ячейки памяти в другую. Начните с прочтения литературы по паскалю.

Почетный модератор

Эксперт по компьютерным сетямЭксперт Windows

28045 / 15778 / 982
Регистрация: 15.09.2009
Сообщений: 67,752
Записей в блоге: 78

ЦитатаСообщение от СлавянК Посмотреть сообщение

как писать игры в паскале
для начал «Hello World» без ошибок напиши. (программа имеется в виду)
Регистрация: 30.05.2014
Сообщений: 2

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
uses GraphABC; procedure SlavynistskaiaSimvolika; Begin setpenwidth (15); line (250, 50, 350, 50); lineto (550, 300); lineto (450, 400); lineto (150, 400); lineto (50, 300); lineto (250, 50); line (300, 50, 300, 250); line (300, 250, 100, 350); line (300, 250, 500, 350); line (230, 20, 370, 20); lineto (590, 300); lineto (470, 430); lineto (130, 430); lineto (10, 300); lineto (230, 20); line (0, 450, 600, 450); lineto (600, 0); floodfill (50, 50, clBlack); end; begin SlavynistskaiaSimvolika; end.

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

Паровозик не мой, я только добавил пару переменных и в конце if keypressed then begin . end;
В этих строчках описано управление паровозиком. Если нажать любую символьную клавишу, то объект меняет направление движения; если нажать «пробел», то еще и скорость удвоит.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
uses crt,GraphABC; const speed=1; var i,pic,pik,j,h,w,t,d: integer; a:char; begin LockDrawing; i:=200; d:=1; while((i>50) and (i800)) do begin i:=i+d; setwindowsize(1280,1024); ClearWindow; line(0,300,1600,300); FloodFill(0,200,clMoneyGreen); FloodFill(400,500,clSilver); line(i+380,200,i+410,200); line(i+380,200,i+390,210); line(i+400,210,i+410,200); line(i+100,270,i+120,270); line(i+300,270,i+320,270); line(i+200,270,i+220,270); SetBrushColor(clred); Rectangle(i+20,230,i+100,280); Rectangle(i+120,230,i+200,280); Rectangle(i+220,230,i+300,280); SetBrushColor(clyellow); RoundRect(i+320,200,i+365,280,30,20); SetBrushColor(clSkyBlue); RoundRect(i+320,230,i+420,280,30,20); Rectangle(i+390,230,i+400,210); Rectangle(i+390,230,i+400,210); Rectangle(i+390,230,i+400,210); Rectangle(i+390,230,i+400,210); SetBrushColor(clyellow); circle(i+30,290,10); circle(i+90,290,10); circle(i+130,290,10); circle(i+190,290,10); circle(i+230,290,10); circle(i+230,290,10); circle(i+230,290,10); circle(i+230,290,10); circle(i+290,290,10); circle(i+345,278,22); circle(i+377,288,12); circle(i+400,288,12); if keypressed then begin a:=readkey; d:=-d; if a=chr(32) then d:=d*2; end; Redraw; end; end.

Можно ли сделать многопользовательскую игру на паскаль?

У меня тема курсовой игра «Балда». В нее играют 2 человека (у меня будут играть 2, на самом деле может быть больше) . Вот интересно, можно ли сделать игру по сетке, если можно, то насколько это муторно 🙂

Дополнен 11 лет назад

ну раз извращение, тогда даже искать не буду 🙁

хотя было бы прикольно, сделать такое на паскале 🙂

Лучший ответ

Можно.
FreePascal — современный свободный компилятор паскаля для множества операционных систем. http://www.freepascal.org/
Можно написать программу, которая будет компилироваться и работать в линуксе и винде и др. системах.
Простейший модуль для работа по сети (сокеты) содержится в самом дистрибутиве: http://www.freepascal.org/docs-html/rtl/sockets/index-5.html

Для работы с графикой можно использовать устаревший (оставленный для совместимости с Turbo Pascal), но легкий в использовании модуль Graph или любую другую, более мощную граф. библиотеку.

К примеру, сторонняя библиотека http://code.google.com/p/asphyre/ для Delphi и FreePascal заточена под создание двумерных игр и содержит компоненты, облегчающие создания сетевых мультиплеерных игр.

Остальные ответы

хотя на Паскале — это, конечно, извращение

Паскаль — это в принципе муторно. Для изучения основ — сойдет, а для создания программ есть куда более удобные языки, python например =)

на паскале ))) крайне маловероятно)) ) хотябы выход на сеть будет написать ох как нелегко! наверное в C++ это будет легче.

Как написать псевдо 3д игру на Pascal?

Я плохо знаю Pascal.
Мне интересно создать примитивный движок в псевдо 3д графике, только на Pascal.
Я уже видел как в Visual Studio создавали лабиринт в псевдо -3д
Вид был консольный но мне важен лишь тот факт что это возможно.
Так вот, если есть исходники\статьи\видео где на паскале делают простейший 3D то просьба помочь.

  • Вопрос задан более трёх лет назад
  • 1837 просмотров

2 комментария

Простой 2 комментария

GavriKos

GavriKos @GavriKos Куратор тега Разработка игр
Лолшто? Знаете на уровне миддла, но не разбираетесь в массивах? Это как??

samodum

GavriKos, джуниор имеет право назначить самого себя хоть миддлом, хоть сеньором.

Но тут у нас пациент даже до джуна не дотянул, а в программисты записаться хочет

Решения вопроса 1
Saboteur @saboteur_kiev Куратор тега Разработка игр
software engineer

Глупый вопрос, ты явно нарываешься на сарказм. Потому что не знать массивы и называть себя миддлом может либо полный бездарь либо тролль.

Опять же. Паскаль или дельфи? Или ты даже не знаешь что пытаешься изучить?
Для дельфи есть много движков, для этого нужно не на тостере спрашивать а искать в поиске что-то типа ZenGL , GLScene

Или просто нагуглить Delphi game engine

Ответ написан более трёх лет назад
Нравится 4 1 комментарий

HemulGM

5ed8572e2092f502398120.jpeg

Или использовать FMX, где 3D движок — достаточно мощный и стандартный компонент.

Ответы на вопрос 2

samodum

Какой вопрос — такой и ответ

Если в массивах ты не разобрался, то ты даже не джуниор, а намного ниже.
Ты сам себя миддлом назвал что ли?

Ответ написан более трёх лет назад
Нравится 5 4 комментария
Арен Елчинян @zelenie_pelimeni Автор вопроса
не совсем, просто массивы не зашли как то

samodum

zelenie_pelimeni, что значит — «не зашли»? Твы наркоман что ли, который пробует разные наркотики?

DanielMcRon

DanielMcRon @DanielMcRon
Developer, ник автора полностью это оправдывает

samodum

Алексей Аминодов-Борисов, что значит «не зашли»?
Ой, фуу, квадратные скобки, пользоваться не буду в принципе. Или как это? Я хоть убей не понимаю

начинал как то изучать вопрос с какой то книжки , по-моему даже по DirectX
Но смысл в том что там были азы, математика
нужно начать с экранной плоскости, перспективной проекции
вручную посчитать по простым формулам
потом векторы и матрицы и т.д.

делал вращающийся куб на паскале, еще чего то, все на турбопаскале

Ответ написан более трёх лет назад
Нравится 1 4 комментария
Арен Елчинян @zelenie_pelimeni Автор вопроса
хм, спасибо за зацепку

вообще все очень просто
Пусть наблюдатель в точке (0,0,0)
Пусть Ось X направлена вправо, ось Y направлена вверх, ось Z от наблюдателя
пусть экранная плоскость на расстоянии H от наблюдателя перед ним (т.е. пересекает ось Z в точке (0,0,H) )
экран шириной w и высотой h пикселей, начало в верхнем левом углу

тогда точка (x,y,z) 3х мерного пространства переходит в точку (x’ , y’) на экранной плоскости
x’ = ( x / z ) * H + w/2
y’ = — ( y / z ) * H + h/2

для куба надо все 8 точек спроецировать и соединить
и т.д.
потом матрицы преобразования, там тоже легко
потом уже отсечение невидимых граней, освещение и текстурирование

Денис Загаевский @zagayevskiy
PeeX, как написано сову.

samodum

zelenie_pelimeni, если ты миддл, то объясни разницу между массивом, списком и хэш-таблицей, джуниор
Ваш ответ на вопрос

Войдите, чтобы написать ответ

разработка-игр

  • Разработка игр

Как ограничить вращение объектов в Unity?

  • 1 подписчик
  • вчера
  • 11 просмотров

c#

  • C#
  • +4 ещё

Как правильно настроить считывание клавиш?

  • 2 подписчика
  • 26 апр.
  • 239 просмотров

Проектная работа по информатике по теме «Создание игры на языке Pascal»

Я выбрал данную тему, потому что в будущем хочу стать программистом и разрабатывать разные программы и игры. Я решил начать с разработки простой игры, на знакомом всем школьникам языке PASCAL.

Цель: создать игру «Крестики-нолики» на языке программирования Pascal.

Изучить материалы о языке Pascal

— Изучить алфавит языка Pascal

— Изучить особенности алгоритмического языка Pascal

Я предполагаю, что на языке программирования Pascal вполне возможно создать простейшую игру.

Что такое Pascal?

Язык был создан Никлаусом Виртом ( см. приложение 1.1) в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал одну из первых в мире механических машин, складывающую два числа. Первая публикация Вирта о языка датирована 1970 годом; представляя язык, автор в качестве цели его создания указывал построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.

Язык Pascal является традиционным алгоритмическим языком. Правильная программа представляет собой формальную запись средствами языка некого алгоритма. Любая программа состоит из двух основных частей: описание последовательных действий и описание данных, которыми оперируют эти действия. Кроме того программа снабжена заголовком, который задает имя программы и завершается программа символом точки. Описание данных в программе предшествует описанию действий и должно содержать упоминание о всех объектах используемых в программе. Таким образом, общая структура программы выглядит следующим образом:

· раздел описания переменных;

Особенности языка Pascal

Особенностями языка являются строгая типизация и наличие средств структурного (процедурного) программирования. Паскаль был одним из первых таких языков. По мнению Вирта, язык должен способствовать дисциплинированному программированию, поэтому, наряду со строгой типизацией, в Паскале сведены к минимуму возможные синтаксические неоднозначности, а сам синтаксис автор постарался сделать интуитивно понятным даже при первом знакомстве с языком.

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций, написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования»(эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.

Pascal в наши дни

В данный момент, компьютер стал неотъемлемой частью жизни каждого из нас, а так же необходимостью во многих видах профессий. Именно поэтому изучение информатики приобретает такое большое значение. Сегодня в школах начинают изучение программирования с Паскаля, языка программирования, позволяющего писать самые простые программки, но которые идеально подходят для стартового обучения. Выпускники школ должны обладать высоким уровнем использования современных технологий для исполнения будущих начинаний. Язык Pascal относительно прост в изучении, довольно ясен и логичен и, будучи первым изучаемым языком программирования, приучает к хорошему стилю, воспитывает дисциплину структурного программирования.

Алфавит и словарь языка Паскаль

Язык – совокупность символов, соглашений и правил, используемых для общения. При записи алгоритма решения задачи на языке программирования необходимо четко знать правила написания и использования языковых единиц. Основой любого языка является алфавит (набор знаков, состоящий из букв, десятичных и шестнадцатеричных цифр, специальных символов).

Алфавит Паскаля составляют:

прописные и строчные буквы латинского алфавита:

A, B, C…Y, Z, a, b, c…y, z;

десятичные цифры :

специальные символы:

комбинации специальных символов, которые нельзя разделять пробелами, если они используются как знаки операций:

Неделимые последовательности знаков алфавита образуют слова, отделенные друг от друга разделителями. Ими могут быть пробел, комментарий или символ конца строки. Словарь Паскаля можно разделить на три группы слов: зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова (см. табл. 1.1) имеют фиксированное написание и навсегда определенный смысл. Они не могут изменяться программистом, и их нельзя использовать в качестве имен для обозначения величин.

Идентификатор – имя (identification – установление соответствия объекта некоторому набору символов). Для обозначения определенных разработчиками языка функций, констант и т.д. служат стандартные идентификаторы, например, Sqr, Sqrt и т.д. В этом примере Sqr вызывает функцию, которая возводит в квадрат данное число, а Sqrt – корень квадратный из заданного числа. Пользователь может переопределить любой стандартный идентификатор, но чаще всего это приводит к ошибкам, поэтому на практике их используют без изменения. Идентификаторы пользователя – это те имена, которые дает сам программист. При записи программ нужно соблюдать общие правила написания идентификаторов:

Идентификатор начинается только с буквы (исключение составляют специальные идентификаторы меток).

Идентификатор может состоять из букв, цифр и знака подчеркивания.

Максимальная длина – 127 символов.

При написании идентификаторов можно использовать прописные и строчные буквы.

Между двумя идентификаторами должен стоять хотя бы один пробел.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *