Пожалуйста, подсобите написать программу. Суть её в следующем: снизу - пушка, сверху - летят предметы. Их нужно валить. В графическом режиме и попроще. Пушка стреляет и ходит вправо и влево. Сложность в том, что нужно начать. Как вообще называется эта игра. И никаких ньютонов и углов там недолжно быть. Фиг кто сделает эту прогу
В моем варинате снаряд летит по баллестической кривой, а там важна сила с которой снаряд вылетел из пушки. Я чесно говоря не понял, что ты хочешь что бы мы тебе написали? То так дело не пойдет, ты выложи хоть что-то а дальше мы тебе поможем, а алгоритм, вроде я более менне сверху изложил.
Если проблема в том, что не знаешь с чего начать, то на тебе небольшой набросок:
uses crt; type point=record x,y:integer; end; var i,res:integer; ch:char; p:point; sn,cl:array [1..10] of point; t:byte; scr: array [0..24,0..79] of word absolute $b800:0; procedure paint; var i,j:integer; begin fillchar(scr,80*50,0); scr[p.y,p.x]:=$0731; inc(t); t:=t mod 10; for I:=1 to 10 do begin scr[cl[i].y,cl[i].x]:=$072b; if t=0 then cl[i].x:=(cl[i].x+79) mod 80; end; for I:=1 to 10 do if sn[i].x>0 then begin scr[sn[i].y,sn[i].x]:=$072a; if sn[i].y>1 then begin if t=0 then begin dec(sn[i].y); for j:=1 to 10 do if (sn[i].x=cl[j].x) and (sn[i].y=cl[j].y) then begin inc (res); cl[j].x:=80; cl[j].y:=random (10); end; end; end else sn[i].x:=0; end; gotoxy(1,1); textcolor(7);writeln ('popal=',res); end;
begin p.x:=40; p.y:=24; t:=0; i:=0; for i:=1 to 10 do begin cl[i].x:=random (80); cl[i].y:=random (10); end; repeat ch:=char(0); paint; delay (10); while keypressed do ch:=readkey; case ch of 'z': if p.x>1 then dec(p.x); 'x': if p.x<80 then inc(p.x); ' ': begin i:=1; while (sn[i].x>0) and (i<10) do inc (i); if i<10 then sn[i].x:=p.x; sn[i].y:=p.y-1; {while} end; end; until (ch='q') or (ch=char(27)); end.