Chij
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Задача из моего обучения, лотерея АВТОМОБИЛЬ, работает. КОД: program loto; uses crt; var sum2,sum1,sum,x,y,i,j:integer; s:byte; mm:array [1..4,1..4] of char; c,key:char; st:string ; f,f1:text; begin assign(f,'c:\proigr.txt'); reset(f); readln(f,sum); close(f); assign(f1,'c:\viigr.txt'); reset(f1); readln(f1,sum2); close(f1); randomize; sum1:=0; clrscr; st:='АВТОМОБИЛЬ'; gotoXY(1,4); textcolor(red); textBackGround(green); writeln('Помощь нажать F1'); gotoXY(30,23); textcolor(yellow); textBackGround(green); writeln('Счётчик проигрышей: '); textcolor(yellow); for i:=1 to 4 do for j:=1 to 4 do begin textBackGround(red); gotoXY(j*2+31,i+11); write(' '); gotoXY(j*2+32,i+11); write('*'); mm[i,j]:='*'; end; textBackGround(black); gotoXY(34,12); for s:=1 to length(st) do begin repeat i:=random(4)+1; j:=random(4)+1; until mm[i,j]='*'; mm[i,j]:=st[s]; end; i:=1; j:=1; repeat textBackGround(black); key:=readkey; case key of #59: begin textcolor(yellow); textBackGround(blue); gotoXY(1,5); for i:=1 to 4 do begin for j:=1 to 4 do write(mm[i,j],' '); writeln; end; end; #72: begin i:=i-1; if i<1 then i:=1; end; #75: begin j:=j-1; if j<1 then j:=1; end; #77: begin j:=j+1; if j>4 then j:=1; end; #80: begin i:=i+1; if i>4 then i:=1; end; #13: begin if mm[i,j]='*' then begin sound(500); delay(500); textcolor(blue); write('Q'); nosound; gotoXY(26,3); textcolor(red); textBackGround(white); writeln('Продул, ХА, ХА, ХА !!!'); gotoXY(31,4); writeln('Нажми ESC !!!'); sum:=sum+1; gotoXY(50,23); textcolor(yellow); textBackGround(green); rewrite(f); writeln(sum); write(f,sum); close(f); end else begin textcolor(yellow); write(mm[i,j]); textcolor(red); textBackGround(white); gotoxy(32+pos(mm[i,j],st),1); if mm[i,j]='О' then begin delete(st,4,1); insert(' ',st,4); end; write(mm[i,j]); sum1:=sum1+1; textcolor(red); textBackGround(white); gotoxy(60,12); writeln('Открыто букв:',sum1); end; end; end; gotoXY(j*2+32,i+11) until (key=#27) or (length(st)=sum1); if length(st)=sum1 then begin sum2:=sum2+1; clrscr; textBackGround(black); gotoXY(30,12); textcolor(red); textBackGround(white); writeln('Поздравляю! Вы Выиграли!'); gotoXY(48,24); textcolor(yellow); textBackGround(green); rewrite(f1); writeln(sum2); write(f1,sum2); gotoXY(30,24); writeln('Счётчик выигрышей:'); close(f1); readln; end; end. |