Форум программистов, компьютерный форум, киберфорум
Наши страницы
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Кетрин
4 / 0 / 0
Регистрация: 04.03.2012
Сообщений: 31
1

Меню для игры

05.04.2012, 21:58. Просмотров 720. Ответов 1
Метки нет (Все метки)

пишу курсовик. уже почти готов, начинаю готовить меню для игры.. не могу понять принцип написания.. нужно чтобы были пункты новой игры, загрузки сохраненной игры, справки и выхода. сами пункты написать могу а как связать их с основной программой не понимаю..


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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Program kursovaja;
Uses Graph,crt;
const m=25; n=85;
type mas=array[1..18,1..7] of integer;
var Gd,Gm,kod,points,s,l,i,j,x,y,x1,y1,x2,y2,x3,y3,k:integer;
ch:char;
f,g:text;
mem:mas;
z:string;
 
Procedure pole;
begin
setcolor(magenta);
outtextXY(280,1,'SuperTachka');
setbkcolor(yellow);
setcolor(lightgreen);
line(24,9,621,9);
line(621,9,621,461);
line(621,461,24,461);
line(24,461,24,9);
end;
 
Procedure obj;
var p,i,j,q,w,e,r,t:integer;
f:text;
const a:array[1..6] of integer=(110,195,280,365,450,535);
b:array[1..18] of integer=(10,35,60,85,110,135,160,185,210,235,260,285,310,335,360,385,410,435);
c:array[1..17]of integer=(10,35,60,85,110,135,160,185,210,235,260,285,310,335,360,385,410);
 
begin
 
for i:=1 to 18 do
for j:=1 to 7 do
mem[i,j]:=0;
randomize;
x:=25;
q:=random(17)+1;
y:=c[q];
SetFillStyle(1,Magenta);
Bar(x,y,x+85,y+25);
mem[q,1]:=2;
for j:=1 to 23 do
begin
w:=random(6)+1;
e:=random(18)+1;
r:=random(6)+1;
t:=random(18)+1;
x:=a[w];
y:=b[e];
x1:=a[r];
y1:=b[t];
if((x<>x1)and(y<>y1)) then
begin
SetFillStyle(1,Magenta);
Bar(x,y,x+85,y+25);
mem[e,w+1]:=2;
SetFillStyle(9,lightgreen);
Bar(x1,y1,x1+85,y1+25);
mem[t,r+1]:=1;
end;
end;
assign(f,'1.txt');
rewrite(f);
for i:=1 to 18 do
for j:=1 to 7 do
begin
writeln(f,mem[i,j]);
end;
close(f);
end;
 
procedure mash(x2,y2:integer);
begin
SetfillStyle(1,lightred);
SetColor(lightred);
Bar(x2,y2,x2+85,y2+25);
end;
 
begin
clrscr;
s:=18;
l:=1;
points:=0;
detectgraph(gd,gm);
initgraph(Gd,Gm,'');
pole;
obj;
x3:=25;y3:=435;
mash(x3,y3);
assign(f,'1.txt');
reset(f);
for i:=1 to 18 do
for j:=1 to 7 do
readln(f,mem[i,j]);
close(f);
 
repeat
ch:=readkey;
if ch=#0 then ch:=readkey;
 
SetfillStyle(1,yellow);
SetColor(yellow);
Bar(x3,y3,x3+85,y3+25);
SetfillStyle(1,yellow);
SetColor(yellow);
Bar(25,10,110,35);
 
case ch of
#75: if l-1<1 then else begin x3:=x3-n;l:=l-1; end;
#77: if l+1>7 then else begin x3:=x3+n;l:=l+1; end;
#72: if s-1<1 then else begin y3:=y3-m;s:=s-1; end;
#80: if s+1>18 then else begin y3:=y3+m;s:=s+1; end;
end;
if mem[s,l]=1 then begin points:=points+10; mem[s,l]:=0; end;
if mem[s,l]=2 then begin points:=points-10; mem[s,l]:=0; end;
mash(x3,y3);
Str(points:2,z);
Outtextxy(25,10,z);
val(z,points,kod);
 
until ch=#27;
closegraph;
assign(g,'2.txt');
rewrite(g);
write(g,points);
close(g);
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 21:58
Ответы с готовыми решениями:

Графический режим, создание меню для игры
нужно создать меню для игры, с разделами 1)игра 2)настройки 3)история 4)конец

Для каждой игры определить словесный результат игры
В одном массиве записано количество мячей, заброшеных баскетбольной командой в...

Таймер для игры
помогите сделать таймер для игры в модуле граф!

Реализовать секундомер для игры
Нужен секундомер работающий параллельно программе

Игры для телефона на Midlet Pascal
На нем возможно писать проги на телефоне? если да - то дайте ссылку, а то на...

1
Мaкc
39 / 39 / 20
Регистрация: 16.03.2012
Сообщений: 86
05.04.2012, 22:09 2
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
program menu;
uses crt;
Const
punkt:array[1..6] of string[30]=('Пункт меню''Пункт меню','Пункт меню'
,'Пункт меню','Пункт меню');{6 - количество пунктов=)!}
var i,x,y:byte;
procedure zastavka;
begin
window(1,1,80,24);
clrscr;
textcolor(15);
for i:=1 to 6 do
begin
gotoxy(15,i*2);
writeln(punkt[i]);
end;
end;
procedure blockursor;
ASSEMBLER;
ASM
MOV AH,01
MOV CH,32
MOV CL,15
INT 10H
end;
procedure normalcursor;
ASSEMBLER;
ASM
MOV AH,01
MOV CH,14
MOV CL,15
INT 10h
end;
begin
blockursor;y:=1;zastavka;
repeat
textcolor(10); gotoxy(13,y*2);
write(CHR(251)); klav:=READKEY;
gotoxy(13,y*2); write(' ');
if ord(klav)=72
then
if y>1 then dec(y)
else y:=6;
if ord (klav)=80
then
if y<6 then inc(y)
else y:=1;
if ord(klav)=27 then
begin
y:=6;
klav:=chr(13);
end;
if (ord(klav)=13) and (y<6)
then
begin
clrscr;
case y of
1:begin
clrscr;
normalcursor;
textcolor(15);
keybar;{ПРОЦЕДУРА}
repeat until keypressed;
clrscr;blockursor;zastavka;
klav:=chr(27);
end;
2:begin
clrscr;
normalcursor;
textcolor(15);
OpenFile;{ПРОЦЕДУРА}
repeat until keypressed;
clrscr;blockursor;zastavka;
klav:=chr(27);
end;
3:begin
clrscr;
normalcursor;
textcolor(15);
List;{ПРОЦЕДУРА}
repeat until keypressed;
clrscr;blockursor;zastavka;
klav:=chr(27);
end;
4:begin
clrscr;
normalcursor;
textcolor(15);
Save;{ПРОЦЕДУРА}
repeat until keypressed;
clrscr;blockursor;zastavka;
klav:=chr(27);
end;
5:begin
clrscr;
normalcursor;
textcolor(15);
About;{ПРОЦЕДУРА}
repeat until keypressed;
clrscr;blockursor;zastavka;
klav:=chr(27);
end;
end;
end;
until(ord(klav)=13) and (y=6)
end.
Число 6 это количество пунктов в меню)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2012, 22:09

Составить поле для игры в сапер
1)Пастбище представляет собой прямоугольник, разбитый на N x N клеток. В каждой...

Создание таблицы рекордов для игры
Получил задание, создать таблицу рекордов для одной игры(угадай число), но...

Написать программу для игры в крестики-нолики с компьютером
Помогите пли) очень срочно) Заранее спасибо)


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

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

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