Другие языки программирования и технологии
Мoжнo ли нaпиcaть пpoгpaммy
кoтopaя бы мoдeлиpoвaлa взpыв гpaнaты?
Тут видимо нужно копать в сторону процедурной анимации.
https://ru.wikipedia.org/wiki/Процедурная_анимация
"Процедурная анимация используется для создания и моделирования системы частиц (дым, огонь, вода[1] [2]), ткани и одежды, динамики твёрдых тел, динамики волос и меха, а также для анимации гуманоидных и негуманоидных персонажей."
https://habr.com/ru/post/332164/
Т.е. движение не заранее прорисовано, а генерируется автоматически, в зависимости от заданных параметров
https://ru.wikipedia.org/wiki/Процедурная_анимация
"Процедурная анимация используется для создания и моделирования системы частиц (дым, огонь, вода[1] [2]), ткани и одежды, динамики твёрдых тел, динамики волос и меха, а также для анимации гуманоидных и негуманоидных персонажей."
https://habr.com/ru/post/332164/
Т.е. движение не заранее прорисовано, а генерируется автоматически, в зависимости от заданных параметров
спамер проснулся
program salyt;
uses crt,graphABC;
var vx,vy: integer;
procedure Vzlet(x,k: integer);
var i,y: integer;
begin
y:=500;
for i:=1 to 100 do
begin
setbrushcolor(clwhite);
setpencolor(clwhite);
circle(x,y,5);
if i>10 then
begin
setbrushcolor(clblack);
setpencolor(clblack);
circle(x-(k*10),y+(4*10),5);
end;
y:=y-4;
x:=x+k;
sleep(10);
end;
end;
procedure Bach (x,y: integer);
var i,j,kx,ky: integer;
begin
for j:=1 to 6 do
begin
clearwindow(clblack);
for i:=1 to 100 do
begin
setbrushcolor(rgb(random(255),random(255),random(255)));
setpencolor(rgb(random(255),random(255),random(255)));
repeat
kx:=random(200)-100;
ky:=random(200)-100;
until sqr(kx)+sqr(ky)<sqr(100);
circle(x+kx,y+ky,6-j);
sleep(1);
end;
y:=y+10;
sleep(50);
end;
end;
begin
hidecursor;
setwindowsize(800,500);
clearwindow(clblack);
repeat
vx:=random(400)+200;
vy:=random(6)-3;
Vzlet(vx,vy);
Bach (vx+(vy*100),random(100)+100);
until keypressed;
end.
uses crt,graphABC;
var vx,vy: integer;
procedure Vzlet(x,k: integer);
var i,y: integer;
begin
y:=500;
for i:=1 to 100 do
begin
setbrushcolor(clwhite);
setpencolor(clwhite);
circle(x,y,5);
if i>10 then
begin
setbrushcolor(clblack);
setpencolor(clblack);
circle(x-(k*10),y+(4*10),5);
end;
y:=y-4;
x:=x+k;
sleep(10);
end;
end;
procedure Bach (x,y: integer);
var i,j,kx,ky: integer;
begin
for j:=1 to 6 do
begin
clearwindow(clblack);
for i:=1 to 100 do
begin
setbrushcolor(rgb(random(255),random(255),random(255)));
setpencolor(rgb(random(255),random(255),random(255)));
repeat
kx:=random(200)-100;
ky:=random(200)-100;
until sqr(kx)+sqr(ky)<sqr(100);
circle(x+kx,y+ky,6-j);
sleep(1);
end;
y:=y+10;
sleep(50);
end;
end;
begin
hidecursor;
setwindowsize(800,500);
clearwindow(clblack);
repeat
vx:=random(400)+200;
vy:=random(6)-3;
Vzlet(vx,vy);
Bach (vx+(vy*100),random(100)+100);
until keypressed;
end.
Ну это трудоёмко будет наверное. То есть каждый процесс сделать с помощью кода? Кода буде тонна ради одной гранаты. В играх взрыв гранаты это всего лишь графика, а кода там немного. В коде только время взрыва пишется, через сколько она рванёт, когда её игрок отпустит нажав на кнопочку на клавиатуре или мышке или взорвётся, когда столкнётся с чем-то, остальное всё графика.
По сути 3d программы это и делают, они программируют процесс графики и облегчают создание сложных сцен
По сути 3d программы это и делают, они программируют процесс графики и облегчают создание сложных сцен
И атомные взрывы моделируют.
Да по-любому, как-то же шутеры делают
Чисто теоретически, да
Похожие вопросы
- Мoжнo ли нaпиcaть пpoгpaммy
- Мoжно ли нaпиcaть пpoгpaммy
- Мoжнo ли нaпиcaть пpoгpaммy
- Скaжите кaк реaльнo мoжнo зaрaбoтaть в Интернете и мoжнo ли вooбще? ? Пробовала Отзовик, Анкетка - совсем гроши...
- Пoчем мoжнo прoдaть нoутбук. (хaрaктерестики внутри)
- Рaбoтa в инете Скaжите кaк реaльнo мoжнo зaрaбoтaть в Интернете и мoжнo ли вooбще? ? Нaдoелo кликaть пo сaйтaм зa кoп
- Мoжнo ли на oднoй банкoвскoй карте хранить рубли и дoллары oднoвременнo?
- кaк мoжнo былo тaк тoчнo предугaдать?