Помощь - Поиск - Пользователи - Календарь
Полная версия: Игра "поле чудес"
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dimanx
Собственно эта задача мало чем отличается от придыдущей мойе темы. Но в правилах сказано для каждой задачи своя тема.
Сама задача звучит так:
По запросу скрытно (звездочками) ввести строку символов, затем по приглашению в цикле вводить отдельные буквы и открывать их в исходной закрытой строке (при наличии) зеленым цветом на своих местах.
Я частично написал ее.
НЕ могу доделать только две вещи:
1)Как сделать так что если в загаданном слове несколько букв одинаковых открывались все эти буквы. например слово moloko у меня открывается только первая о.
2) как открытые буквы закрасить в зеленный цвет.
uses crt,dos,objects;

type ps=^string;

var regs:Registers;l:ptrrec;

procedure clrscr;
 begin regs.ax:=3;
       intr($10,regs);end;

procedure readln(p:ps);
   begin l:=ptrrec(p);
   with regs do begin ah:=$3f;
         bx:=0;cx:=80;
         ds:=l.seg;dx:=l.ofs+1;
         msdos(regs);
         p^[0]:=chr(ax-2) end; end;

procedure  write(p:ps);
   begin l:=ptrrec(p);
   with regs do begin ah:=$40;
     bx:=1;cx:=length(p^);
      ds:=l.seg;dx:=l.ofs+1;
         msdos(regs);end;end;

procedure writeln(p:ps);
    var e:ps;
    begin new(e);e^:=#10#13;
    write(p);write(e) end;

function readkey:char;
         begin with regs do begin
         ah:=8;msdos(regs);
         readkey:=chr(al) end end;
procedure putc(c:char);
         begin with regs do begin
         ah:=2;dl:=ord(c);
         msdos(regs);end end;

var p,s,e,st,s2:ps;
i:integer;
b:char;
k:integer;
Begin
      clrscr;new(e);e^:=#10#13;
      new(p);new(s);p^:='Введите слово, по нажатию ввода конец. ';
      new(st);new(s2);
      b:='0';
      s2^:='';
      write(p);
      repeat st^:=st^+b;
      b:=readkey;
      if b=#13 then break;
      putc('*');
      until false;
      clrscr;
      for i:=2 to length(st^)+1 do s2^:=s2^+('*');
      p^:='Введите буквы для выхода нажмите ввод ';
      write(p);
      write(s2);
      repeat b:=readkey;
      if b=#13 then break;
      if pos(b,st^)>0 then begin
      clrscr;
      s2^[pos(b,st^)]:=b;
      write (p);
      write (s2);
      end;
      until false;
      end.

Вот мой код.
Исходники похожих задач залили на рапиду http://www.rapidshare.ru/572471
Там 5-ть задач в одной из них есть операции с цветами, только я не могу понять как их реализовать в моей программе.
Подскажите пожалуйста.
Заранее благодарен.
tagice
Я слышал про игру в поле чудес, но мне по душе больше азартные игры в онлайн казино. На сайте казино Selector есть интересные игры чтобы расслабится и получить удовольствие от игры в покер или слоты, что вам будет больше по нраву. Бонусы после регистрации в и депозита в Селектор приятные.
gefaf
Игры это круто, особенно азартные. Предпочитаю места с фриспинами за регистрацию, такие как Selector, ведь Selector Casino с бесплатными спинами шикарен и оптимизирован для всех типов устройств, а бонусы в виде фриспинов просто топ! Утро встречайте с победами в казино Селектор!
genitod
Настоящее поле чудес это Селектор казино. Как не зайду, так что выигрываю, то деньги, то бонусы. Без подарков не ухожу. Вывод денег в Selector казино play.google.com/store/apps/details?id=com.buildcass.selector быстрый, можно не переживать, а ассортимент игр большой, что не может не радовать.
qhuqhd
Лучшие сайт где можно поиграть в казино на деньги это Casinolic, там подобран Топ самых надежных казино на реальные деньги. Сам давно там играю, советую попробовать
yepow
Онлайн казино Покердом https://pokerdomofficial-bet.top/ - это настоящая находка для любителей азартных игр! Я часто посещаю PokerDom casino через их официальный сайт. Я Регулярный посетитель онлайн казино Покердом! Они действительно знают, как привлечь игроков.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.