Убедительная просьба ко всем, кто выкладывает исходники: 1. Обязательно пользуйтесь тэгом code (иначе очень трудно читать)
2. Старайтесь делать отступы
Если вы хотите чтобы вам помогли в написании программы, внятно излагайте задание!
Прежде чем задать вопрос, воспользуйтесь учебником
Возможно, что нужная вам программа уже написана, поэтому советую просмотреть список здесь и здесь Отредактировано куратором: Lord_of_Darkness. Дата: 07.07.2006 19:36
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
нет, но просто если бы надо было утроить символ в строке, введенный по запросу пользователя с клавиатуры, то
Код:
var a,c:string; i,k:integer; b:char; begin readln(a); readln(b); c:=''; for i:=1 to length(a) do begin if a[i]=b then c:=c+b+b+b else c:=c+a[i]; end; writeln(c); readln; end.
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
Скажите пожалуйста, как исправить одну вещь... Вобщем, есть внешний цикл, в котором имеются ещё несколько. В двух из них перемещается объект. Необходимо чтобы ещё один объект перемещался по нажатию клавиш независимо от перемещения 1. Если это перемещение поместить между первыми 2 циклами, то пока 1 объект не пройдет по назначенной ему траектории, то ничего не сдвинуть, если за ними, то ещё хуже. Куда его поместить????
manya Довольно расплывчато . Код настолько секретный, что его нельзя выложить?
По передвижениям - временные параметры, количество элементарных отрисовок объекта в процессе передвижения из точки А в точку Б?
А чем собственно отличается процедура Moving_Spaceship_Right от Moving_Spaceship_Left ?
В этом случае должен быть один цикл, в котором происходит определение нажатой клавиши и по одной операции элементарной отрисовки объекта №1 и объекта №2. Попутно можно в тот же цикл вставить условия проверки текущих координат объектов на предмет достижения граничных значений.
P.S. Имеется как минимум один явный глюк - движущиеся объекты будут стирать статические объекты (в данном случае звездное небо). Кстати, почитайте о режимах вывода изображения, в частности xorput. Это может сильно упростить жизнь по перерисовке/стиранию .
Member
Статус: Не в сети Регистрация: 10.12.2007 Откуда: Санкт-Петербург
Можете, пожалуйста, написать какой-нибудь пример (все равно что), когда что-то куда-то движется, а в этот момент движется ещё что-то при нажатии на клавиши не зависимо от того, куда движется 1 движется ещё что-то.... А то у меня все таже проблема
manya Через полчаса-час загляните, может быть выкину. Добавлено спустя 2 часа, 38 секунд manya Что-то в таком стиле, я сильно вашу заготовку не перерабатывал :
Код:
uses graph,crt; const right=false; left=true; var ya,y,xmin,xm,ymin,x,ym,x2,y2,rx,r,ry,dy,d,pause,xa,i,white,black:integer; var graphDriver,GraphMode,ErrorCode:integer; var klavisha:char; direction:boolean; procedure Drawing_gun(var xg:integer;var yg:integer;var cvet:integer); begin setcolor(cvet); circle(xg,yg,17); line(xg-3,yg-50,xg-3,yg+8); line(xg+3,yg-50,xg+3,yg+8); line(xg-3,yg-50,xg+3,yg-50); line(xg-3,yg+8,xg+3,yg+8); line(xg-8,yg-8,xg-3,yg-8); line(xg+8,yg-8,xg+3,yg-8); line(xg+8,yg-5,xg+8,yg+5); line(xg-8,yg-5,xg-8,yg+5); end; procedure Drawing_Spaceship(var xm:integer;var ym:integer;var rad:integer;var color:integer); begin setcolor(color); ellipse(xm,120,0,360,rad,rad div 3+2); ellipse(xm,116,190,357,rad,rad div 3); line(xm+7,114,xm+10,ym-12); line(xm-7,114,xm-10,ym-22); circle(xm+10,110,2); circle(xm-10,110,2); end; begin r:=20; d:=5; x:=r*2; y:=r*6; xa:=390; ya:=450; white:=15; black:=0; pause:=200; direction:=left; clrscr; randomize; GraphDriver:=detect; initGraph(graphdriver,graphMode,'c:\bp\bgi'); ErrorCode:=GraphResult; If ErrorCode<>grOk then begin Writeln('Error:',GraphErrorMsg(ErrorCode)); Halt(1); end; Rectangle(0,0,GetMaxX,GetMaxY); delay(1000); outtextxy(250,10,'My game'); for i:=1 to 500 do putpixel(random(getmaxx),random(getmaxy-ymin),random(16)); Drawing_gun(xa,ya,white); Drawing_Spaceship(x,y,r,white); repeat delay(pause); Drawing_Spaceship(x,y,r,black); if direction then begin x:=x-1; if x<=21 then begin x:=21; direction:=right; end; end else begin x:=x+1; if x>=618 then begin x:=618; direction:=left; end; end; Drawing_Spaceship(x,y,r,white); Drawing_Gun(xa,ya,black); if keypressed then begin klavisha:=readkey; case klavisha of 'a': begin xa:=xa-d; if xa<=21 then xa:=21; end; 'd': begin xa:=xa+d; if xa>=618 then xa:=618; end; end; end; Drawing_Gun(xa,ya,white); until klavisha='q'; readln; closegraph; end.
Вычислить значение функции f(x), x изменяется на интервале [a,b] с шагом x. Для вычисления воспользоваться разложением функции f(x) в ряд Тейлора значение f(x) вычислить с точностью E=10^-4 или по первым 25 числам ряды. На печать вывести значения x, f(x) просуммированных членов ряда.
Народ очень нужна помощь.
Есть функция на Pascal
function ff(i,j:integer):integer;
var
pr:^integer;
begin
pr:=ptr(seg(F[i]^),ofs(F[i]^)+(j-1)*sizeofinteger);
ff:=pr^;
end;
Никто не знает как ее перевести в Delphi?
А то в Delphi не существует функций seg и ofs Очень надо
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения