Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 12.08.2005, 17:18   [включить плавающее окно]   #21
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
Моё задание звучит так

В виде мультфильма представить картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.
========================================================
вопрос как мне сделать линию на сплошном цвете и изменение цвета пейзажа

+ у меня ко всем графическим програ==ам глюк после запуска не возможно вернутся к редоктированию он (паскаль) зависает на этой процедуре показывания графического результата.






{прототип заката}
program zakat;
uses
crt,graph;
var
grdr,grmd,i,j,g:integer;
begin
grdr:=detect;
initgraph(grdr,grmd,'c:\pascal\bgi');
setbkcolor(lightblue);
g:=getbkcolor;
i:=50; j:=50;
while i<getmaxX do
begin
setcolor(red);
setfillstyle(1,yellow);
fillellipse(i,j,20,20);
delay(3000);
setcolor(g);
setfillstyle(1,g);
fillellipse(i,j,20,20);
i:=i+random(3);
j:=j+random(2);
end;
readln;
end.

нашёл в интернете похожую прогу что мне надо дом поляна и меняющися фон
удалил из программы дом и паляну оставил а фон и солнце я решил объеденить (изменив конечно обе
программы)

после объеденения фон чёрный солнце есть но фон не меняется и солнце
бесконечно садится

где ошибка

Код:
uses crt,graph; 
const a:array [1..9] of byte=(0,0,1,3,11,3,1,0,0); 
var GrDriver,GrMode,i,g,j:integer;

procedure dom; 
const
cga=1;
begin
     setcolor(2);
     line(0,400,getmaxX,400);
     g:=getbkcolor;
     i:=50; j:=50;
     while i<700 do
     begin
         setcolor(yellow);
          setfillstyle(1,yellow);
          fillellipse(i,j,40,40);
          delay(2000);
          setcolor(g);
          setfillstyle(1,g);
          fillellipse(i,j,40,40);
          i:=i+random(3);
          j:=j+random(2);
     end;
end;

procedure fon (i:word);
Begin 
     SetBkColor(i); 
     SetFillStyle(1,green);
     SetColor(lightgreen);
End; 

BEGIN 
     GrDriver:=EGA; GrMode:=EGAHi; 
     initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение
паскаля}
     if GraphResult<>grOK then halt(1); 
     for i:=1 to 9 do 
        begin
              fon(a[i]);
              dom; 
              delay(65000); 
              delay(65000); 
         end;
closegraph;
end.
     readln;

Последний раз редактировалось flashg; 12.08.2005 в 22:11.
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 13.08.2005, 03:56   [включить плавающее окно]   #22
KpeHgeJIb
Мужской Заслуженный
 
Аватар для KpeHgeJIb
 
Регистрация: 10.02.2003
Адрес: Израиль
Цитата (flashg) »
нашёл в интернете похожую прогу что мне надо дом поляна и меняющися фон
удалил из программы дом и паляну оставил а фон и солнце я решил объеденить (изменив конечно обе
программы)

после объеденения фон чёрный солнце есть но фон не меняется и солнце
бесконечно садится

где ошибка
Выложе оригенальный код, до твоих изменений. А то откуда я знаю чего ты там наудалял, что фон почернел и тд
KpeHgeJIb вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 13.08.2005, 05:44   [включить плавающее окно]   #23
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
вот код слднца

Код:
program zakat;
uses
    crt,graph;
var
   grdr,grmd,i,j,g:integer;

const
cga=1;

begin
     grdr:=detect;
     initgraph(grdr,grmd,'c:\pascal\bgi');
     setcolor(2);
     line(0,400,getmaxX,400);
          g:=getbkcolor;
     i:=50; j:=50;
     while i<700 do
     begin
         setcolor(yellow);
          setfillstyle(1,yellow);
          fillellipse(i,j,40,40);
          delay(2000);
          setcolor(g);
          setfillstyle(1,g);
          fillellipse(i,j,40,40);
          i:=i+random(3);
          j:=j+random(2);
     end;
CloseGraph; 
end.
readln;
а вот код домика на фоне
Код:
uses crt,graph; 
const a:array [1..9] of byte=(0,0,1,3,11,3,1,0,0); 
var GrDriver,GrMode,i:integer; 

procedure dom; 
Begin 
     SetFillStyle(1,6); 
     bar(50,150,250,300); 
     SetColor(green); 
     line(20,150,280,150); 
     line(20,150,150,100); 
     line(280,150,150,100); 
     FloodFill(150,110,Green); 
     SetFillStyle(2,5); 
     bar(100,200,200,250); 
     line(150,200,150,250); 
End; 

procedure fon (i:word); 
Begin 
     SetBkColor(i); 
     SetFillStyle(1,green); 
     SetColor(lightgreen); 
     PieSlice(480,350,0,180,270); 
     PieSlice(200,400,10,180,250); 
End; 

BEGIN 
     GrDriver:=EGA; GrMode:=EGAHi; 
     initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
     if GraphResult<>grOK then halt(1); 
     for i:=1 to 9 do 
         begin 
              fon(a[i]); 
              dom; 
              delay(65000); 
              delay(65000); 
         end; 
closegraph;
     readln; 
     END.
вот эти обе я пытался проги объеденить чтобы получить что сказано в задание

В виде мультфильма представить картину медленного захода солнца за линию горизонта с изменением освещения пейзажа.
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 14.08.2005, 19:18   [включить плавающее окно]   #24
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
дубль 3 фон меняется солнце есть но от него глючный след остаётся и солце бесконечное
вот код
Код:
uses crt,graph;
const a:array [1..9] of byte=(10,9,5,3,11,7,8,10,11);
var GrDriver,GrMode,i,g,j:integer;
f:word;

procedure dom;
const
cga=1;
begin
     line(0,300,getmaxX,300);
     SetBkColor(f);
     i:=50; j:=50;
     while i<300 do
     begin
         setcolor(yellow);
          setfillstyle(1,yellow);
          fillellipse(i,j,40,40);
          delay(2000);
          setcolor(f);
          setfillstyle(1,f);
          fillellipse(i,j,40,40);
          i:=i+random(3);
          j:=j+random(2);
     end;
end;

procedure fon (f:word);
Begin
     SetBkColor(f);
     SetFillStyle(1,f);
     SetColor(f);
End;

BEGIN
     GrDriver:=cGA; GrMode:=cGAHi;
     initgraph(GrDriver,GrMode,'c:\pascal\BGI'); {прописать расположение паскаля}
     if GraphResult<>grOK then halt(1);
     for f:=1 to 9 do
        begin
              fon(a[f]);
              dom;
              delay(100);
              delay(100);
         end;
closegraph;
end.
     readln;
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 18.08.2005, 10:31   [включить плавающее окно]   #25
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
сортировка
Используя простейшие сортировки отсортировать предложенный файл. Сортировка Вставкой.

прототип
Код:
Const
  n = 8;
Type
  TType = char;
  arrType = Array[1 .. n] Of TType;
Const
a: arrType =
('E', 'F', 'C', 'J', 'K', 'L', 'I', 'M'); 
Procedure Insert(Var source, sorted: arrType);
  Var
    i, j: Integer;
    x: TType;
  Begin
    move(source, sorted, SizeOf(arrType));

    For i := 1 To n do
      Begin
        x := sorted[i];
        j := Pred(i);
        While x < sorted[j] Do
          Begin
            sorted[Succ(j)] := sorted[j]; Dec(j);
          End;
        sorted[Succ(j)] := x;
      End;
  End;
Var
  b: arrType;
  i: Integer;
Begin
  Insert(a, b);
  For i := 1 To n Do Write(b[i]:4);
  readln;
End.
а какую и на какую строку поменять чтобы из указанного файла текстового считал данные
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 23.08.2005, 15:18   [включить плавающее окно]   #26
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
нус ???
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 23.08.2005, 18:55   [включить плавающее окно]   #27
groger
Мужской Интересующийся
 
Регистрация: 05.07.2005
Адрес: Троицк
Фиг знает как там с динамическими массивами в Паскале, но вдруг заработает:
Код:
var 
    F : Text;
    S : array of Char;
    i : Integer;
begin
 i:=0;
 Assign(F,'array.txt');
 while not EOF(F) do
  begin
   Inc(i);
   SetLength(S,i)
   Read(F,S[i]);
  end;
end.
__________________
Вчера с пальмы слез
groger вне форума  
Ответить с цитированием
Непрочитано 23.08.2005, 19:22   [включить плавающее окно]   #28
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
это точно полный текст программы (маловато выглядит)

и пишет ошибку

S : array of Char;

типа надо кудато в эту строку ставить [ or (
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 23.08.2005, 20:50   [включить плавающее окно]   #29
groger
Мужской Интересующийся
 
Регистрация: 05.07.2005
Адрес: Троицк
Ты просил
Цитата
из указанного файла текстового считал данные
Я это написал, а уж что делать со считанными данными сам решай.
Насчет массива: к сожалению в Паскале нельзя как в Delphi создавать так запросто динамический массив, используй статичный (только SetLength убери).
__________________
Вчера с пальмы слез
groger вне форума  
Ответить с цитированием
Непрочитано 24.08.2005, 19:15   [включить плавающее окно]   #30
flashg
Мужской Продвинутый
Автор темы
 
Аватар для flashg
 
Регистрация: 18.01.2004
Адрес: Сургут
спасибо всем данную тему можно закрыть все задания по паскалю и технологии програмирования решены.
flashg вне форума  
Конфигурация ПК
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 16:29. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey