1 / 1 / 0
Регистрация: 22.05.2014
Сообщений: 10
1

Игра в слова

17.07.2014, 16:24. Показов 3952. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
«Игра в слова». Играют двое. Первый игрок загадывает слово и вводит его в программу с клавиатуры. Программа рисует в центре (по высоте и ширине) графического окна столько квадратных ячеек, сколько букв в загаданном слове (ячейки рисуются вплотную друг к другу). В нижнем правом углу отображается количество баллов игрока (изначально 10). Второму игроку необходимо отгадать слово. В каждый ход он указывает одну букву (вводит с клавиатуры). Если введена буква, входящая в состав слова, она отображается в соответствующей ячейке (если буква несколько раз встречается в слове, она отображается в каждой соответствующей ячейке), при этом количество баллов игрока не изменяется. В противном случае игрок теряет 1 (одно) очко, о чем свидетельствует уменьшившееся количество баллов в нижнем левом углу графического окна. Побеждает второй игрок, если он отгадает слово, а количество баллов у него больше 0. В этом случае в верхнем левом углу графического окна выводится строка: «Победил второй игрок!». Побеждает первый игрок, если слово не отгадано, а количество баллов равно 0. В этом случае в верхнем левом углу графического окна выводится строка: «Победил первый игрок!», а в незаполненных ячейках отображаются недостающие буквы. В программе необходимо преобразовывать все строчные букв в прописные и при вводе слова первым игроком, и при вводе букв вторым.

Использовать графическую библиотеку GraphABC
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2014, 16:24
Ответы с готовыми решениями:

Игра в слова с Компьютером
Нужна написать программу! Игра в слова с Компьютером.Это условие. больше ни каких указаний нет!...

Игра в слова (в графическом окне).
Играют двое. Первый игрок загадывает слово и вводит его в программу с клавиатуры. Программа рисует...

Игра в слова
Нужно написать программу для игры в слова, но вопрос собственно не в этом, а вот в чем, написал я...

Игра в слова на Паскале, используя матрицу
Здравствуйте всем! Подскажите, пожалуйста, как написать игру в слова, используя матрицу на Паскале?...

5
8 / 2 / 0
Регистрация: 17.07.2014
Сообщений: 253
17.07.2014, 20:34 2
Послушай, киберфорум не сделан для того чтобы программисты писали программы за тебя! Можно подсказать с каким-то конкретным действием, но за тебя программы писать никто не будет.
0
APALoff
17.07.2014, 20:49
  #3

Не по теме:

Цитата Сообщение от Kubson Посмотреть сообщение
но за тебя программы писать никто не будет.
Будут-будут.

0
307 / 138 / 6
Регистрация: 17.04.2013
Сообщений: 1,943
19.07.2014, 23:39 4
s01aris_rus, что не получается? покажите ваши наработки
0
1 / 1 / 0
Регистрация: 22.05.2014
Сообщений: 10
20.07.2014, 07:23  [ТС] 5
Не могу построить концепцию, порядок действий
0
1646 / 1075 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
21.07.2014, 01:46 6
Если дело именно в концепции, то могу попробовать сделать без графических возможностей - чисто консоль, чисто текст.

Добавлено через 16 минут
Вот только условия подсчета очков какие то запутанные.

Добавлено через 2 часа 33 минуты
Наконец то "дошли руки"...
В условии явно напутаны "углы" вывода очков игрока:

Цитата Сообщение от s01aris_rus Посмотреть сообщение
В нижнем правом углу отображается количество баллов игрока (изначально 10).
Цитата Сообщение от s01aris_rus Посмотреть сообщение
уменьшившееся количество баллов в нижнем левом углу графического окна.

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
Uses Crt;
Var
  S    : String;
  m    : array[1..40] of Boolean;
  i,N  : Integer;
  Ch   : Char;
  Flag : Boolean;
 
Function CheckWin(k : Byte) : Boolean;
Begin
  If k>0 then CheckWin:=(m[k] and CheckWin(k-1)) else CheckWin:=True;
end;
 
Procedure ShowResult;
Var j : Byte;
Begin
  ClrScr;
  GoToXY((80-Length(S)*2) div 2,12);
  For j:=1 to Length(S) do
    If m[j] then Write(S[j],' ') else Write('* ');
  GoToXY(75,25); Write(N);
  GoToXY(1,20);
end;
 
Begin
  For i:=1 to 40 do m[i]:=False;
  N:=10;
  Write('Загадываемое слово: '); Readln(S);
  While (N>0) and not CheckWin(Length(S)) do
  Begin
    ShowResult;
    Write('Буква: '); Readln(Ch);
    Flag:=True;
    For i:=1 to Length(S) do
      If UpCase(S[i])=UpCase(Ch) then
      Begin
        m[i]:=True;
        Flag:=False;
      end;
    If Flag then Dec(N);
  end;
  ShowResult;
  GoToXY(1,1);
  If CheckWin(Length(S)) and (N>0) then Write('Победил второй игрок!')
    else Write('Победил первый игрок!');
  Readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.07.2014, 01:46
Помогаю со студенческими работами здесь

Напечатать все слова, отличные от последнего слова, предварительно перенеся первую букву в конец слова
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских...

Напечатать все слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву
1) Программа. Дан текстиз строчных русских букв, закоторым следует точка. Напечатать этот текст...

Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова первую букву
Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв;...

Удалить слова, которые содержат все буквы заданного слова, и продублировать остальные слова
Разделитель — один из символов « ,.;:!?"'» (начиная с пробела и заканчивая апострофом). Буква —...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru