Коровы и быки

Автор работы: Пользователь скрыл имя, 04 Февраля 2015 в 17:41, курсовая работа

Краткое описание

Целью данной курсовой работы является разработка популярной развлекательной игры Коровы и быки. Программа предоставляет возможность играть с компьютером, который играет согласно созданному алгоритму. В процессе разработки должны быть усвоены некоторые новые возможности языка С++ и среды Borland C++ Builder.

Прикрепленные файлы: 1 файл

КУРСОВАЯ РАБОТА 1.doc

— 118.50 Кб (Скачать документ)

После запуска С++ Builder на экране появится пустая форма. Слева от нее расположено окно свойств Object Properties выделенного объекта. В верхней части расположены страницы с доступными компонентами.

Для размещения объекта на форме необходимо:

  • дважды щелкнуть его после чего оно появится на форме;
  • щелкнуть выбранный элемент управления, переместиться на форму, нажать и удерживая левую кнопку мыши, растянуть прямоугольник до нужных размеров.

После этого на форме появится соответствующий элемент управления. Изменяем необходимые свойства в окне Object Properties.

Размещаем следующие компоненты:

  • BitBtn – командная кнопка с надписью и пиктограммой (страница Additional) (2 компонента).
  • CheckBox – кнопка с независимой фиксацией (флажком) и служит в качестве двоичного переключателя режимов в программе (переключается одинарным щелчком мыши на компоненте) (1 компонент).
  • СSpinEdit – редактор числа (страница Samples). Обеспечивает отображение и редактирование целого числа с возможностью его изменения с помощью двойной кнопки  (2 компонента).
  • Image – рисунок (страница Additional). Этот компонент предназначен для отображения рисунков, в том числе пиктограмм и метафайлов  (1 компонент).
  • Label – представляет собой статический текст и служит для отображения информации (страница Standard) (2 компонента).
  • MainMenu (страница Standard). Для проектирования главного меню следует положить на форму компонент TMainMenu и с помощью Object Inspector'a настроить свойства объекта. При нажатии расположенной справа в строке Items кнопки вызывается окно проектирования меню, в котором пользователь вводит текст пунктов меню в свойство Caption (ввод дефиса вызывает появление горизонтальной разделительной черты между пунктами меню, знак '&' позволяет использовать следующий за ним символ для быстрого доступа к данному пункту меню); булево свойство Checked позволяет замаркировать данный пункт меню галочкой, свойство ShortCut – выбрать горячую клавишу (или сочетание клавиш) для быстрого доступа к данному пункту меню  (1 компонент).
  • MediaPlayer – мультимедийный проигрыватель. С помощью этого компонента можно управлять различными мультимедийными устройствами  (1 компонента).
  • Panel – является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней компонентов (страница Standard). Рекомендуется использовать компонент TPanel для размещения компонентов при создании пользовательского интерфейса (1 компонент).
  • RadioGroup – группа зависимых переключателей (страница Standard). Содержит специальные свойства для обслуживания нескольких связанных зависимых переключателей  (2 компонента).
  • StatusBar – панель статуса (страница Win32). Предназначена для размещения разного рода служебной информации  (1 компонент).
  • StringGrid – таблица строк (страница Additional). Этот компонент обладает мощными возможностями для представления текстовой информации в табличном виде  (1 компонент).

Кроме главной формы в проекте будет еще две формы – для вывода информации о программе и вывода описания игры.

Чтобы добавить форму к проекту необходимо нажать кнопку New Form на панели инструментов (или из меню File выбрать New à Form).

Размещаем на второй форме:

  • BitBtn – командная кнопка с надписью и пиктограммой (страница Additional) (1 компонент).
  • Image – рисунок (страница Additional). Этот компонент предназначен для отображения рисунков, в том числе пиктограмм и метафайлов  (1 компонент).
  • Label – представляет собой статический текст и служит для отображения информации (страница Standard) (1 компонента).
  • Panel – является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней компонентов (страница Standard). Рекомендуется использовать компонент TPanel для размещения компонентов при создании пользовательского интерфейса (1 компонент).

Размещаем на третьей форме:

  • BitBtn – командная кнопка с надписью и пиктограммой (страница Additional) (1 компонент).
  • Memo – многострочный текстовый редактор (страница Standard). Используется для ввода и/или отображения многострочного текста.

Сохраняем проект.

Переходим к написанию кода программы.

Чтобы заставить С++ Builder самостоятельно сделать заготовку для процедуры обработчика события OnClick, дважды подряд без заметной паузы щелкните мышью по вновь вставленному компоненту. В ответ С++ Builder активизирует окно кода, и вы увидите в нем такой текстовый фрагмент:

 void __fastcall TForm1::CSpinEdit1Change(TObject *Sender)

{

}

Проектируем обработчики для кнопок инструментальной панели и пунктов меню.

 

Заключение

В результате выполнения курсовой работы была разработана программа на языке С++, реализующая алгоритм игры Коровы и быки.

Программа написана с использованием принципа структурного проектирования и состоит из отдельных функций пользователя. Это значительно облегчило отладку программы а также дало возможность в будущем использовать разработанные алгоритмы в других программах.

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

 

 

 

Список использованной литературы

  1. Архангельский А.Я. Программирование в С++ Builder 6. –М.: «Издательство БИНОМ», 2003 г. –1152 с.
  2. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разработки программного обеспечения. –М.: ИД «Форум»: ИНФРА – М, 2008. –400 с.
  3. Гарднер М. Крестики–нолики. –М.: Мир, 1988. –215 c.
  4. Глушаков С.В., Зорянский В.Н., Хоменко С.Н. Программирование в среде Borland C++ Builder 6. –Харьков: Фолио, 2003. – 508 с.
  5. Гофман В.Э. Borland C++ Builder. –Спб.: BHV–Петербург, 2003. –488 с.
  6. Дубровский В. Н., Калинин А. Т.  Математические головоломки. –М.: Знание,  1990. –354 с.
  7. Жоголев Е.А. Введение в технологию программирования (конспект лекций). –М.: "ДИАЛОГ–МГУ", 1994. –286 с.
  8. Культин Н. C++ Builder в задачах и примерах. СПб.: БХВ–Петербург, 2005. –336 с.
  9. Лапчик М.В.  Borland C++.  –М.: Нолидж, 2007. –616 с.
  10. У. Болл, Г. Коксетер. Математические эссе и развлечения. –М.: Мир, 1986. –187 с.

 

 

Приложение. Листинг программы

include <iostream>

#include <ctime> 

 

using namespace std; 

 

int mass1[4],mass2[4], inp;

 

 

 

void zadum()

 

{

 

 

    srand(time(0)); 

   mass1[0] = rand()%9 + 1; 

   for (int I = 1; I <= 3; I++) 

       mass1[I] = rand()%10;

 

}

 

void razb()

 

{

 

 

    int del = 10; 

   for(int i = 3; i  > -1; i--)

 

 

    {

 

 

        mass2[i] = inp % 10; 

       inp /= 10;

 

 

    } 

 

 

}

 

int b()

 

{

 

 

    int res = 0; 

   for (int I = 0; I < 4; I++) 

       if (mass1[I] == mass2[I]) 

           res++; 

   return res;

 

}

 

int c()

 

{

 

 

    int res = 0; 

   for (int I = 0; I < 4; I++) 

       for (int J = 0; J < 4; J++) 

           if (mass1[I] == mass2[J] && I != J) 

               res++; 

   return res;

 

}

 

void game()

 

{

 

 

    zadum(); 

   cout << "Число  Б К\n" 

        << "----------\n"; 

   for(;;)

 

 

    {

 

 

        cin >> inp; 

       razb(); 

       cout << "       " << b() << " " << c() << "\n"; 

       if (b() == 4)

 

 

        { 

           cout << "Вы выйграли!!!\n"; 

           break;

 

 

        }

 

 

    }

 

}

 

void main()

 

{

 

 

    setlocale(0, "Russian"); 

   char M; 

   cout << "Здравствуйте, это игра 'Быки и коровы'.\n" 

        << "Компьютер задумал 4-хзначное число. Ваша задача - отгадать его посредством ввода чисел.\n" 

        << "Если цифра совпадает, но стоит на другом месте - это корова, если стоит на том же месте - бык.\n\n"; 

   for (;;)

 

 

    { 

       game();

 

 

        cout << "Ещё раз? (Д/Н)\n"; cin >> M; 

       if (M == 'н' || M == 'Н') 

       break;

 

 

    }

 

 

    system("pause");

 

 


 



Информация о работе Коровы и быки