У нас: 141825 рефератів
Щойно додані Реферати
Тор 100
Скористайтеся пошуком, наприклад
Реферат
Грубий пошук
Точний пошук
Вхід в абонемент
Курсова робота
Дипломна робота
Магістерська робота
Реферат
Контрольні роботи
Курсова робота
-
Алгоритм програми, що виконує переміщення фігур
36
heigth:=yy; lighted:=false; col1:=2; col2:=4; col3:=14; end;procedure tramka.mkactive; begin setviewport( x,y,x+width, y+heigth ,true); end;procedure tramka.light; begin if not lighted then begin mkactive; setcolor(red); setlinestyle(0,$11,1); rectangle(1,1,width-1,heigth-1) ; lighted:=true; end; end;procedure tramka.unlight; begin if lighted then begin mkactive; setcolor(14); setlinestyle(0,$11,1); rectangle(1,1,width-1,heigth-1) ; lighted:=false; end; end;procedure tramka.draw; begin mkactive; s:=imagesize( 0,0,width ,heigth ); getmem( p,s); getimage( 0,0,width,heigth,p^ ); setfillstyle(1,green); bar( 0,0,width,heigth ); light; end;destructor tramka.done;beginif p<>nil then freemem(p,s);p:=nil;end;procedure tramka.clear; begin mkactive; unlight; putimage(0,0,p^,normalput); if p<>nil then freemem(p,s); p:=nil; end;constructor tsubmenu.init;var i:byte;begin n:=n1; h:=15; tramka.init(x1,y1,80,n*h+4); for i:=1 to n do punkts[i]:=pnk[i]; col4:=14;end;procedure tsubmenu.draw;var i:byte;begin tramka.draw; setfillstyle(1,col4); for i:=1 to n do begin bar(3,(i-1)*h+3,width-3,(i)*h); setcolor(col4); rectangle(3,(i-1)*h+3,width-3,(i)*h) ; setcolor(0); outtextXY( 4, (i-1)*h+h div 2 , punkts[i]) end; setcolor( red ); outtextXY( 4, h div 2 , punkts[1]); rectangle(3,3,width-3,h);end;function tsubmenu.result;var c:char; var i:byte;begin c:='q'; draw; i:=1; repeat c:=readkey; case c of #72: begin setcolor( 0 ); outtextXY( 4,(i-1)*h+h div 2,punkts[i] ); setcolor(col4); rectangle(3,(i-1)*h+3,width-3,(i)*h) ; if i=1 then i:=n else i:=i-1; setcolor ( red ); outtextXY( 4,(i-1)*h+h div 2,punkts[i] ); rectangle(3,(i-1)*h+3,width-3,(i)*h) ; end; #80: begin setcolor( 0 ); outtextXY( 4,(i-1)*h+h div 2,punkts[i] ); setcolor(col4); rectangle(3,(i-1)*h+3,width-3,(i)*h) ; if i=n then i:=1 else i:=i+1; setcolor ( red ); outtextXY( 4,(i-1)*h+h div 2,punkts[i] ); rectangle(3,(i-1)*h+3,width-3,(i)*h) ; end; end; until (c=#13) or (c=#27) ; if (c=#13) then result:=i ELSE result:=0; while keypressed do readkey;end;constructor tmainmenu.init;var i:byte;begin n:=n1; heigth:=20; width:=getmaxX-4; h:=width div n; tramka.init(2,2,width,heigth); for i:=1 to n do punkts[i]:=pnk[i] ; col4:=14;end;procedure tmainmenu.draw;var i:byte;begin tramka.draw; setfillstyle(1,col4); setlinestyle(0,$aa,1); for i:=1 to n do begin bar((i-1)*h+3,3,i*h-1,heigth-3); setcolor(col4); rectangle((i-1)*h+3,3,i*h-1,heigth-3) ; setcolor(black); outtextXY( (i-1)*h+5, heigth div 2, punkts[i]) end; setcolor( red ); outtextXY( 5, heigth div 2 , punkts[1]); rectangle(3,3,h-1,heigth-3);end;function tmainmenu.result;var c:char; var i:byte;begin c:='q'; draw; i:=1; repeat c:=readkey; case c of #75: begin setcolor( 0 ); outtextXY( (i-1)*h+5, heigth div 2 , punkts[i]); setcolor(col4); rectangle((i-1)*h+3,3,i*h-1,heigth-3) ; if i=1 then i:=n else i:=i-1; setcolor ( red ); outtextXY( (i-1)*h+5, heigth div 2 , punkts[i]); rectangle((i-1)*h+3,3,i*h-1,heigth-3) ; end; #77: begin setcolor( 0 ); outtextXY( (i-1)*h+5, heigth div 2 , punkts[i]); setcolor(col4); rectangle((i-1)*h+3,3,i*h-1,heigth-3) ; if i=n then i:=1 else i:=i+1; setcolor ( red ); outtextXY( (i-1)*h+5, heigth div 2 , punkts[i] ); rectangle((i-1)*h+3,3,i*h-1,heigth-3) ; end; end; until (c=#13); if c=#13 then result:=i ELSE result:=n+1;end;procedure tmainmenu.getkoords;beginyI:=heigth+2;xI:=x+(i-1)*h;end;beginend. unit int; http://nataliya.kiev.ua interfaceuses ramki,graph,crt,tetobj;procedure drawmenu(var res:longint);procedure entername(score:longint;var name:string);procedure best;procedure clearbest;implementationprocedure drawmenu;var xI,yI:word; i,j,k:byte; C,d:CHAR; block:tblock; field:tfield; x1,y1,x2,y2:integer; smenu,op:tsubmenu; mmenu:tmainmenu;const men:menutype=('Game','Best Results','Options', '','','','','','',''); smen1:menutype=('Start','Continue','Exit', '','','','','','',''); smen3:menutype=('Size','Level', '','','','','','','',''); smen2:menutype=('Results','Clear', '','','','','','','',''); speed:menutype=('Level1','Level2','Level3', 'Level4','Level5','','','','',''); sz:menutype=('Small','Normal','Large', '','','','','','','');beginmmenu.init(men,3);i:=mmenu.result;mmenu.unlight;mmenu.getkoords(i,xI,yI);case i of 1:begin smenu.init(smen1,3,xI,yI); j:=smenu.result; smenu.clear; if j=1 then res:=1; if j=2 then res:=2; if j=3 then res:=-3; smenu.done; end; 2:begin smenu.init(smen2,2,xi,yi); j:=smenu.result; smenu.clear; if j=1 then res:=-1; if j=2 then res:=-2; smenu.done; end; 3:begin smenu.init(smen3,2,xI,yI); j:=smenu.result; smenu.unlight; if j=1 then begin op.init(sz,3,smenu.x+smenu.width,smenu.y+3); k:=op.result; op.clear; op.done; if k=1 then res:=3; if k=2 then res:=4; if k=3 then res:=5; end; if j=2 then begin op.init(speed,5,smenu.x+smenu.width,smenu.y+3); k:=op.result; op.clear; op.done; if (k>=1)and(k<=5)then res:=5+k; end; smenu.clear; smenu.done; end; end;end;procedure entername;type t=record name:string; score:longint; end; tf=file of t;var a,b:tf; c,d,t1:t; ram:tramka; i:byte; bool:boolean;begin bool:=false; assign(a,'file.txt'); reset(a); assign(b,'temp.txt'); rewrite(b); t1.score:=score; i:=0; while (not eof(a))and(i<=12) do begin i:=i+1; read(a,c); write(b,c); end; close(a); close(b); rewrite(a); reset(b); c.score:=1000000; read(b,d); write(a,c); while not eof(b) do begin c:=d; read(b,d); if (d.score=score) then begin ram.init((GetMaxX-300)div 2,(GetMaxY-200)div 2,300,200); ram.draw; SetTextJustify(1,1); OutTextXY(ram.width div 2, 30, 'Enter your nane:'); SetTextJustify(0,2); setfillstyle(1,10); bar((ram.width-150)div 2,115,(ram.width+150)div 2,135); GotoXY(33,17); textcolor(red); textbackground(1); readln(name); t1.name:=name; write(a,t1); ram.clear; ram.done; bool:=true; end; write(a,d); end; close(a); close(b); if bool then best; end;procedure best; type t=record name:string; score:longint; end; tf=file of t;var a:tf; i:byte; x:t; ram:tramka; st:string;begin ram.init((GetmaxX-400)div 2,(GetMaxY-300)div 2,400,300); ram.draw; assign(a,'file.txt'); reset(a); read(a,x); for i:=1 to 10 do if not eof(a) then begin GoToXY(100,100); read(a,x); str(x.score,st); outTextXY(20,50+i*15,x.name);OutTextXY(200,50+i*15,st); end; while keypressed do readkey;readkey; ram.clear; ram.done;end;procedure clearbest; type t=record name:string; score:longint; end; tf=file of t;var f:tf; tt:t; i:byte;beginassign(f,'file.txt');rewrite(f);tt.score:=100000;write(f,tt);for i:=1 to 50 do begintt.name:='noname';tt.score:=5;write(f,tt);end;close(f);end;beginend. unit game; http://nataliya.kiev.ua interfaceuses graph,crt,windos,tetobj,ramki,int;procedure startgame(var bl:tblock;var f:tfield; var score:integer);function time:real;implementationvar ramka,r:tramka; *.0VZHLNRT&Fz~ЂКМp–єјlnprtЂўйЮТГЮТГЮТЮТЮ«йЮТЮТЮТЮ“|mЮm^mЮ“|jh§,DhГ&?CJUaJjh§,DhqiCJUaJ,hSr`hqi5ЃB*CJ OJQJ^JaJ phя.hSr`5ЃB*CJOJQJ^JaJmH"phяsH".h§,D5ЃB*CJ OJQJ^JaJ mH"phяsH"hSr`hqiCJaJmH"sH"hSr`CJaJmH"sH"h§,DhqiCJaJ,h§,Dhqi5ЃB*CJ OJQJ^JaJ phя*&(*,.02468:<>@BDFzprtvxz|фпфффффффффффффффффпззззззdрgd§,Dgd§,D$dрa$gd§,DШээ|~Ђ‚„†€ЉЊЋђ’”–єtvxz|~Ђў46rчччччччччччччмзччччччмчвввgd§,Dgd§,D$dрa$gdSr`dрgd§,Dў<`bjp|~ИЬЮкмрт0<>@BN~ЉЊљњ¬®јВКМОаотйЦД®Д®Д®Д®™†o†o†o†o†o†o†o†o†™†o†o†o†o†o†o†o,h§,Dhqi0JCJOJQJ^JaJmHsH$h§,Dhqi0JCJOJQJ^JaJ(h§,DhqiCJOJQJ^JaJmHsH+h§,DhqiCJOJQJaJmHsH#h§,DhqiCJOJQJaJ%hSr`CJOJQJaJmH"sH",h§,Dhqi5ЃB*CJOJQJ^JaJphя+r PРф"`Ъ@^Ь„Ш2”ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,Dт >PR^h„>H’ ўёєКМЪRlnpr‚”Ца"$0j„†’ОЪЬи$02„ h§,DhqiCJOJQJ^JaJ,h§,Dhqi0JCJOJQJ^JaJmHsH$h§,Dhqi0JCJOJQJ^JaJ(h§,DhqiCJOJQJ^JaJmHsH5”к"$4T¤HЖbД>°ЮD¤ІґВвZД0 b z о ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,Dт(68FЊљњ°ІАВДЦкмтфю4PR`Ћ ў°Іґ¶Въ ".0<€ ( * . @ ` !4!j!t!"$"&"0"2"6"8"B"n"„"†"ђ"А"К"М"в"д"т"#8#:#D#p#Ђ#‚#Љ#Њ#ђ#йФБЄБЄБЄБФБЄБЄБЄБФБЄБЄБЄБЄБ™Б™Б™ФБЄБЄБЄБФБЄБФБЄБЄБФБЄБФБЄБЄБ h§,DhqiCJOJQJ^JaJ,h§,Dhqi0JCJOJQJ^JaJmHsH$h§,Dhqi0JCJOJQJ^JaJ(h§,DhqiCJOJQJ^JaJmHsH+h§,DhqiCJOJQJaJmHsH<о !l!‚!Ю!D"’"ф"F#¶#а#о#р#$H$¦$а$(%ў%К%B&ђ&и&ц&ш& 'Z'ѕ'ж'(ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,Dђ#’#Ё#Є#ґ#р#$$$$r$|$~$Ђ$‚$Љ$Њ$љ$њ$¤$ѕ$О$Р$Ю$%%%%%&%ю%&& &"&(&*&:&<&@&R&Ћ&ѕ&ж&м&ш&''''~(€(йЦйЦБЇ™Ї™БЦйЦйЦйЦйЦБЦйЦБЦйЦйЦБЦйЦйЦйЦйЦйЦ€Ц€БЇ™Ї™Б€ h§,DhqiCJOJQJ^JaJ+h§,DhqiCJOJQJaJmHsH#h§,DhqiCJOJQJaJ(h§,DhqiCJOJQJ^JaJmHsH$h§,Dhqi0JCJOJQJ^JaJ,h§,Dhqi0JCJOJQJ^JaJmHsH3(z(€(Ъ(222222D2а9в9д9ж9и9к9м9о9р9т9ф9ц9:><@<ъътнтттттвнтттттттттттвЪт$a$gdSr`$dрa$gdSr`gd§,Ddрgd§,Dgd§,D€(Ъ(ф(о)*$,:,22D2H2J2љ4њ4Ћ5ђ54666Ь6Ю6¤8¦8а9ц9: :К:М:О:Р:Ф:Ц:Ђ;‚;„;†;Љ;Њ;6<8<йЭТЭТЭТєЈТ—Т—Т—Т—Т—Т—ТєЈ€Т€y€Т€Т€j€Т€Т€joЇh§,DhSr`CJUaJjБAh§,DhSr`CJUaJjh§,DhqiCJUaJhSr`CJaJmH"sH",hSr`hqi5ЃB*CJ OJQJ^JaJ phя.hSr`5ЃB*CJ OJQJ^JaJ mH"phяsH"h§,DhqiCJaJh§,DhqiCJ,h§,Dhqi5ЃB*CJOJQJ^JaJphя'8<:<<<><@<F<b<d<|<Ђ<¶<к=рбЦѕЈ€mWB+B,h§,Dhqi0JCJOJQJ^JaJmHsH(h§,DhqiCJOJQJ^JaJmHsH+h§,DhqiCJOJQJaJmHsH4hSr`hqi5ЃB*CJ OJQJ^JaJ mH"phяsH"4hSr`h§,D5ЃB*CJ OJQJ^JaJ mH"phяsH"4hSr`hqi5ЃB*CJ OJQJ^JaJ mHphяsH.hSr`5ЃB*CJOJQJ^JaJmH"phяsH"h§,DhqiCJaJjh§,DhqiCJUaJjѕh§,DhSr`CJUaJ@<d<Ђ<ё<=<=j=Ћ=Д=к=ш=>&>=>q>v>|>Ћ>™>¦>О>в>о>у>х>??(?фппппппппппппппппппппппппппgd§,D$dрa$gdSr`к=м=х>???R?цdeee&x.x0xKx;|)~&‡/‡1‡L‡€и^ч@шUшыыкХїХЁХ““f““f“Х““f“d“Х“ХS h§,DhqiCJOJQJ^JaJU,h§,Dhqi0JCJOJQJ^JaJmHsH+h§,DhqiCJOJQJaJmHsH(h§,DhqiCJOJQJ^JaJmHsH,h§,Dhqi0JCJOJQJ^JaJmHsH+h§,DhqiCJOJQJaJmHsH(h§,DhqiCJOJQJ^JaJmHsH)jv~h§,DhГ&?CJOJQJU^JaJ(?8?L?`?t?€?ћ?Л?ц?@%@D@X@n@€@џ@Б@Я@A2AVAA B<BYBъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DYB|B©BПBгBяBCC C9CHCOCeCC—CЇCИCдCшCDD)DBDbDЊDќD®DїDжDмDъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DмDEEE1EGE^EiEE•E®EЗEщEF(FAFZF~FўF№FЛFаFшFG*GJGjGЉGЄGБGъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DБGЩGтGH+HKHkH‹HўHґHЙHЯHцHI+IIIgI…IљI°IЗIЮIьIJ8JVJkJЃJ S3SMSgSЃS›S¬SѕSСSдSюST2TLT]TkTvT|TT~T«T»TИTОTлTъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DлTщTU)U7UKUiUvU’UЇUѕUЗUМUНUжUVVV2VEVRVgVnVxV‚VЉV¤VЄVІVѕVъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DѕVЛVаVзVсVыVWWW(W/WTWdW“WєWНWдWX=XCX[XuX|X¬XЅXЗXНXжXнXYъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DY'Y=YSYiYvY|YY”YўY±YГYСYтYщYZ!Z0ZGZfZZњZќZїZбZпZ[[+[M[ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DM[[[v[w[—[·[Е[б[в[ъ[(6f“Йа]=]t]‹]є]ж]^3^b^Ћ^Е^Ы^_ъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,D_8_p_‡_·_д_`3`c`ђ`И`Я`a<ata‹a“aџaґaНab$b5b>bCb[bab‡b›b«bъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,D«b°bЖbУbЪbкbc*c0cGcTcdckcwcЋcіcАcЖcЮcнcяcdd,dGdidod‡dЋddъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DdРdЩdгdйdпdфdцdee(e8eaebeue”eЄeЗeФeеeуeяe/fIf`fyfЏf¦fЅfЗfъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DЗfИfеfьfgg]gsgЏgЁgіgґgФghh:hlhwhxh€h‰hўh©h±h№hЕhТhгhнhчhъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,Dчhiii$i+iWi]i^ivii n;n<nAnBntnznѓnъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DѓnЉn‘n™n§nіnБnШno"oRokoѓoќoПoяopp1pcpp«pДpЬpцp(qXqeqmq‹qъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,D‹q¦qєqШqЭqЮqъqrrr!r4rErerЊr—rњrќr·rГrЙrЧrоrssDsYs‡sќsСsъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DСsЫst4t9t:tUtotut~t…tЊt”tўt®tјtУtu$uUunu†u uЩuvv%v<vuvЌvъъъъъъъъъъъъъъъъъъъъъъъъъъъъъgd§,DЌvѕvЧvпvwCwxw…wЌwћw·wНwТwсwчwxxxx$x&x0xLxVxsx ng:boolean;CONST cont:boolean=false; ch:char=#27;function time; var h,m,s,ms : word; begin Gettime(h,m,s,ms); time:=3600*h+60*m+s+ms/100;end;function fall(const bl:tblock; const f:tfield):boolean; var t:boolean; i,j:byte; begin t:=false; for i:=1 to bl.mx do for j:=bl.my downto 1 do if ( bl.matr[i,j]<>0 )and ( f.matr[bl.x+i-1,bl.y+j]<>0 ) then t:=true; fall:=t; end;function left(const bl:tblock; const f:tfield):boolean; var t:boolean; i,j:byte; begin t:=false; for j:=1 to bl.my do for i:=bl.mx downto 1 do if ( bl.matr[i,j]<>0 )and ( f.matr[bl.x+i-2,bl.y+j-1]<>0 ) then t:=true; left:=t; end;function right(const bl:tblock; const f:tfield):boolean; var t:boolean; i,j:byte; begin t:=false; for j:=1 to bl.my do for i:=bl.mx downto 1 do
Сторінки:
1
2
3
4
5
6