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

Игра "В слова": называть слово, начинающееся на последнюю букву слова названного соперником

04.05.2012, 17:27. Показов 5747. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Разработать программу, позволяющую игроку выбрать тему игры (например, города, растения, животные, имена, все слова и т.д.) и затем играть, называя слово, начинающееся на последнюю букву слова названного соперником (в данном случае компьютером). Игра продолжается до тех пор, пока один из игроков не сможет назвать очередное слово. Предусмотреть возможность пополнения базы слов словами, неизвестными компьютеру.
Вот такое задание. Сделала скелет программы, дальше никак. ПОМОГИТЕ!!!
C#
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
           
            textBox1.Text = textBox1.Text.Trim();
            if (textBox1.Text != "" && (label3.Text == "" || (label3.Text != "" && (Char.ToLower(textBox1.Text[0]) == label3.Text[label3.Text.Length - 1] || Char.ToUpper(textBox1.Text[0]) == label3.Text[label3.Text.Length - 1]))))
            {
                bool СловоПользователяНовое = true;
                foreach (string Слово in listBox1.Items)
                {
                    if (textBox1.Text == Слово)
                    {
                        СловоПользователяНовое = false;
                        break;
                    }
                }
                if (СловоПользователяНовое)
                {
                    listBox1.Items.Add(textBox1.Text);
                    StreamReader БазаСлов = new StreamReader(new FileStream("goroda.txt", FileMode.Open), Encoding.GetEncoding(1251));
                    string СловоВБазе = "";
                    do
                    {
                        СловоВБазе = БазаСлов.ReadLine();
                        if (СловоВБазе != null)
                        {
                            bool СловоКомпьютераНовое = true;
                            if (Char.ToLower(СловоВБазе[0]) == textBox1.Text[textBox1.Text.Length - 1] || Char.ToUpper(СловоВБазе[0]) == textBox1.Text[textBox1.Text.Length - 1])
                            {
                                foreach (string СловоВСписке in listBox1.Items)
                                {
                                    if (СловоВБазе == СловоВСписке)
                                    {
                                        СловоКомпьютераНовое = false;
                                        break;
                                    }
                                }
                            }
                            else СловоКомпьютераНовое = false;
                            if (СловоКомпьютераНовое) break;
                        }
                        else
                        {
                            СловоВБазе = "";
                            break;
                        }
                    }
                    while (true);
                    if (СловоВБазе == "")
                    {
                        MessageBox.Show("Компьютер не нашел ответа, ты выиграл!");
                        textBox1.Clear();
                        textBox1.Focus();
                    }
                    else
                    {
                        listBox1.Items.Add(СловоВБазе);
                        label3.Text = СловоВБазе;
                        textBox1.Clear();
                        textBox1.Focus();
                    }
                    БазаСлов.Close();
                }
                else
                {
                    textBox1.Clear();
                    MessageBox.Show("Это слово уже было!");
                    textBox1.Focus();
                }
            }
            else MessageBox.Show("Введите слово по правилам игры!");
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2012, 17:27
Ответы с готовыми решениями:

Ввести с клавиатуры два слова и вывести в следующей строке второе слово и последнюю букву первого слова
Ввести с клавиатуры два слова и вывести в следующей строке второе слово и последнюю букву первого...

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

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

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

Напечатать все слова, отличные от последнего слова, предварительно перенеся последнюю букву в начало слова
Прошу помочь с заданием : Задан текст. Напечатать все слова, отличные от последнего слова,...

10
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 13
10.05.2012, 14:56  [ТС] 2
0
200 / 168 / 38
Регистрация: 21.10.2011
Сообщений: 178
10.05.2012, 16:19 3
Сделал примерно по вашему скелету, правда без возможности выбрать тему беседы (ну тут добавить стартовую форму с комбобоксом и затем открывать основную форму и заносить в базу соответствующие теме записи) и без защиты от дурака

Ну и надо бы добавить таймер, если пользователем не было введено слово за определенный период времени - поражение.
Вложения
Тип файла: rar WindowsFormsApplication7.rar (24.6 Кб, 146 просмотров)
1
Lasur
10.05.2012, 16:26
  #4

Не по теме:

Возможность пополнения базы означает, что игрок может ввести любую белиберду и компьютер сочтет это за неизвестное ему слово? Неинтересно ведь так играть:D

0
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 13
10.05.2012, 18:39  [ТС] 5
Спасибо!!!

Добавлено через 2 часа 8 минут
Vermilion а для чего служат xml файлы в решении? и почему при замене на мой текстовый файл не работает?
0
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 7
12.08.2013, 10:55 6
Вот тоже делал на курсовой проект.. может еще кому пригодится: http://fmbot.ru/articles/c-sha... lova-na-c/
0
0 / 0 / 0
Регистрация: 07.07.2021
Сообщений: 2
09.12.2021, 17:55 7
stasQa, не открывается проект который вы прикрепили

Добавлено через 1 минуту
Не открывается ваш проект, который вы прикрепили
0
Max61
09.12.2021, 17:56
  #8

Не по теме:

Alinafonat, Это было 7-8 лет назад

0
0 / 0 / 0
Регистрация: 07.07.2021
Сообщений: 2
09.12.2021, 18:02 9
Лучше поздно чем никогда
0
171 / 131 / 63
Регистрация: 02.05.2021
Сообщений: 442
09.12.2021, 18:07 10

Не по теме:

Alinafonat, stasQa заходил на этот форум в 22.10.2013 последний раз



Добавлено через 59 секунд

Не по теме:

То есть он не решит вашу проблему

1
0 / 0 / 0
Регистрация: 03.08.2013
Сообщений: 7
10.12.2021, 10:04 11
Alinafonat, попробуйте так

https://web.archive.org/web/20... lova-na-c/
0
10.12.2021, 10:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2021, 10:04
Помогаю со студенческими работами здесь

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

Напечатать все слова, отличающиеся от последнего слова, перед печатью перенеся последнюю букву в начало слова
Слова текста из малых латинских букв записаны не менее чем через один пробел; текст оканчивается...

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

Дан текст.Преобразовать слова по следующему правилу: перенести последнюю букву в начало слова.(у каждого слова)
Дан текст.Преобразовать слова по следующему правилу: перенести последнюю букву в начало слова.(у...

Первую букву каждого слова заменить на последнюю букву последнего слова
Слова в строке отделены одним пробелом, в конце ставится точка. Первую букву каждого слова заменить...


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

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

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