Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Kembry
3 / 3 / 0
Регистрация: 05.09.2010
Сообщений: 29
1

Графика

05.11.2011, 17:07. Просмотров 297. Ответов 0
Метки нет (Все метки)

Доброго времени суток. Пытаюсь написать игру морской бой. Собственно вот код, который рисует поле и курсор в виде прямоугольника, равного ячейке поля. Курсор перемещается при помощи стрелочек, и при нажатии клавиши Еnter, в соответствующей ячейке рисуется окружность, символически обозначающая однопалубный кораблик. Но проблема в том, что после того как кораблик нарисован при перемещении курсора окружность стирается. Помогите разобраться в чем проблема...
Pascal
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
program wet;
uses crt,graphABC;
var
    x,y,i: integer;
    c: char;
 
procedure pole1; // ðèñóåì ïîëå
begin
     For i:=1 to 11 do
         begin
              SetPenColor(clBlack);
              Line(20,20*i,220,20*i);
              SetPenColor(clBlack);
              Line(20*i,20,20*i,220);
         end;
end;
 
 
procedure kp; //êóðñîð ГўГЇГ°Г*ГўГ®
begin
     SetPenColor(clBlack);
     Rectangle(x,y,x+20,y+20);
     x:=x+20;
     SetPenColor(clSilver);
     Rectangle(x,y,x+20,y+20);
end;
 
procedure kl; //êóðñîð âëåâî
begin
     SetPenColor(clBlack);
     Rectangle(x,y,x+20,y+20);
     x:=x-20;
     SetPenColor(clSilver);
     Rectangle(x,y,x+20,y+20);
end;
 
procedure kv; //êóðñîð ââåðõ
begin
     SetPenColor(clBlack);
     Rectangle(x,y,x+20,y+20);
     y:=y+20;
     SetPenColor(clSilver);
     Rectangle(x,y,x+20,y+20);
end;
 
procedure kn; //êóðñîð ГўГ*ГЁГ§
begin
     SetPenColor(clBlack);
     Rectangle(x,y,x+20,y+20);
     y:=y-20;
     SetPenColor(clSilver);
     Rectangle(x,y,x+20,y+20);
end;
 
procedure kor; //ðèñóåì êîðГ*áëèê
begin
     SetPenColor(clBlack);
     Circle(x+10,y+10,7);
end;
 
begin
     SetWindowWidth(800);
     SetWindowHeight(650);
     pole1;
     SetPenColor(clSilver);
     x:=20;
     y:=20;
     Rectangle(x,y,x+20,y+20);
     c:=readkey;
     While (c<>#32) do
           begin
                c:=Readkey;
                case c of
                     #75: kp;
                     #77: kl;
                     #72: kn;
                     #80: kv;
                     #13: kor;
                end;
           end;
     Readln;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 17:07
Ответы с готовыми решениями:

Графика.Цена деления графика.
Нужно доделать сие творение!Не хватает цены деления хотя бы 3 засечки по иксу в право и по игреку в...

Графика
Надо нарисовать 3 фигуры и вычислить площадь каждой из фигур (1 клетка 20 пикселей)???

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

Графика
Графика: 1.Несколько кругов вращаются вокруг своих горизонтальных осей. Фазы вращения кругов...

Графика
Доброе время суток помогите переделать вот это чудо, так что бы работало в PascalABC: программа...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2011, 17:07

Графика
Подскажите пожалуйста как в программу по графике можно поместить массив? uses graph; var...

графика
Вывести на экран монитора прямоугольник красного цвета таким образом чтоб он плавно увеличил свой...

графика
Нужно напечатать программу в графическом режиме,для построения параболы y=sqrt(x).Прошу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru