Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2015, 00:33   #11
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

а еще можно вопросик пожалуйста..? как сделать, чтобы можно было вводить имя игрока? а то не вводится...

Код:
with w[i] do
    begin
      while a<>b do
      begin
        write('Игрок: '); readln(w[i].name);
        write(' число: '); readln(b);

и еще типизированный файл в каком типе сделать?

Последний раз редактировалось manchester_alan; 08.01.2015 в 00:54.
manchester_alan вне форума Ответить с цитированием
Старый 08.01.2015, 01:03   #12
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

проблема в предшествующих read, замените из на Readln
Код:
write('Количество игроков "B": '); Readln(n);
  Write('Игрок "A" вводит число, которое нужно отгадать:'); readln(a); 
  for i := 1 to n do
  begin
    t := 0;
    b := -1;
    write('Игрок №', i, ', введите ваше имя: '); readln(w[i].name);
    with w[i] do
    begin
      while a <> b do
      begin
        write('Игрок ', name,' угадывает, число: '); readln(b);
        if b > a then
        begin
          Writeln('Много!');
          t := t + 1;
          Writeln;
        end
        else
        if b < a then
        begin
          Writeln('Мало!');
          t := t + 1;
          Writeln;
        end
           else
        begin
          writeln;
          t := t + 1;
          writeln(name, ', ВЫ УГАДАЛИ!!!!');
          Writeln('Число попыток:', t);
          writeln;
        end;      
      end;
    end;
  end;
Уже работает с именами игроков

Файл можно писать в типе List, только добавить количество попыток
Код:
  List = record
    Player: Byte; // для чего у вас эта переменная  в структуре?
    name: string;
    attempt: byte; // счетчик попыток
  end;
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 08.01.2015 в 01:07.
VIK_aka_TOR вне форума Ответить с цитированием
Старый 08.01.2015, 12:37   #13
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

ааа и все то..( ну спасибо еще раз)

Player: Byte; ну это я хотел, чтобы вот так сделать... таблицу сначала так думал..
Код:
begin
 for i:=1 to n-1 do
   for j:=i+1 to n do
    if w[i].player>w[j].player then
     begin
       o:=w[i];
       w[i]:=w[j];
       w[j]:=o;
     end;
     for i:=1 to n do
      with w[i] do
       begin
        Writeln;
        write(i,'Место, Игрок '); write(w[i].player);
        writeln(' Число попыток ', t);writeln;
       end;
  end;

Последний раз редактировалось manchester_alan; 08.01.2015 в 13:19.
manchester_alan вне форума Ответить с цитированием
Старый 08.01.2015, 23:05   #14
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

Цитата:
Сообщение от manchester_alan Посмотреть сообщение
ааа и все то..( ну спасибо еще раз)

Player: Byte; ну это я хотел, чтобы вот так сделать... таблицу сначала так думал..
Код:
begin
 for i:=1 to n-1 do
   for j:=i+1 to n do
    if w[i].player>w[j].player then
     begin
       o:=w[i];
       w[i]:=w[j];
       w[j]:=o;
     end;
     for i:=1 to n do
      with w[i] do
       begin
        Writeln;
        write(i,'Место, Игрок '); write(w[i].player);
        writeln(' Число попыток ', t);writeln;
       end;
  end;
вот так не правильно будет??
manchester_alan вне форума Ответить с цитированием
Старый 09.01.2015, 00:26   #15
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Число попыток нужно добавить в запись, иначе у вас t у всех игроков одинакова
сортировка по player ( как понимаю порядковый номер) он у вас будет известен при выводе списка отсортированного по количеству попыток ( то что i в цикле for при выводе)
В итоге заменяйте player на количество попыток и будет все ок

Код:
For i:=1 to n do
  writeln(i:2,' ', w[i].name:15, ' попыток:', w[i].t);
пишу код не только за печеньки
VIK_aka_TOR вне форума Ответить с цитированием
Старый 09.01.2015, 12:44   #16
manchester_alan
Форумчанин
 
Регистрация: 07.01.2015
Сообщений: 231
По умолчанию

аа ну все спасибо)
manchester_alan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
игра "УГАДАЙ ЧИСЛО" Энди Харрис Кина PHP 0 08.05.2012 10:04
Игра"Угадай число" в Паскале.(вставка таблицы рекордов) valli Помощь студентам 1 03.01.2011 14:04
Игра "угадай число" russian-stalker PHP 7 29.01.2010 21:39
Pascal - Игра "Угадай число" d_b Помощь студентам 8 16.02.2009 09:33
[Delphi] Игра "Угадай число" Bomber Помощь студентам 15 05.06.2008 09:34