Программа "Отгадай слово"
C# как объектно-ориентированный язык программирования. Общая характеристика и главные правила разрабатываемой игры. Описание использованных компонентов в Visual Studio и основные требования к их функциональности. Руководство пользователя программой.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.02.2019 |
Размер файла | 526,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Программа «Отгадай слово»
Задание
Игра «Отгадай слово».
Один игрок задумывает слово из пяти букв, другой должен его отгадать. Угадывающий называет тестовые слова. Задумавший слово сообщает, сколько раз буквы задуманного слова входят в тестовое слово. Каждая буква задуманного слова учитывается в ответе столько раз, сколько она содержится в названном слове. Выигрывает тот, кто быстрее угадал слово.
Введение
игра программа пользователь
C# (произносится «си шарп») - объектно-ориентированный язык программирования. Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft.NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.
C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщенные типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
Переняв многое от своих предшественников - языков C++, Pascal, Модула, Smalltalk и, в особенности Java - С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от C++ не поддерживает множественное наследование классов.
C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы.NET). CLR предоставляет C#, как и всем другим. NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, Сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J#.
1. Описание использованных компонентов Visual Studio
Form. С помощью данного компонента проектируется вид окна приложения.
Рисунок 1. Форма нового проекта
При создании приложения на форму добавляют другие компоненты.
Форма, как и любой другой компонент имеет свойства и события.
Button. Данный компонент кнопка является элементом управления, предназначенным для запуска каких-либо действий или команд.
Рисунок 2. Компонент Button на форме.
В своей игре «Отгадай слово» я использовала три кнопки, а именно, кнопка «Новая игра», «Тест», «Ход» и «Справка».
Необходимые свойства:
Text - текст, записанный на кнопке.
TextBox..С помощью данного компонента пользователь может вписать своей слово.
Рисунок 3. Компонент TextBox на форме.
LogBox. С помощью данного компонента пользователю выводятся сообщения в ходе игры.
Рисунок 4. Компонент LogBox на форме
Label. Данный компонент необходим для разработчика игры. В своей игре я использовала два подобных компонента «Введите слово:» и «Окно вывода:».
Рисунок 5. Компонент Label на форме.
2. Решение контрольного примера
1 Запускаем файл, и начинается новая игра. Пользователю выводится подобное сообщение.
Рисунок 6. Пример сообщения, которое видит пользователь
2 Пользователь вводит слово. И следующий шаг за компьютером.
Рисунок 7. Пример сообщения, которое видит пользователь
3 Играем до тех пор, пока кто-либо не угадает слово.
Рисунок 8. Пример сообщения, которое видит пользователь
3. Руководство пользователя программой
1 Необходимо открыть файл. Отгадай слово.exe.
Рисунок 9. Файл, который необходимо открыть
2 После того, как файл открылся, необходимо нажать кнопку «Справка» для того, чтобы понять правила данной игры.
Рисунок 10. Результат работы кнопки «Справка»
Заключение
В данной работе был приведен код программной реализации развивающей умственные способности игра «Отгадай слово», которая реализована в Visual Studio 2013 с использованием языка C Sharp.
Разработанная программа отвечает всем требованиям, поставленным в условиях задания.
Программа была реализована на языке высокого уровня, что обеспечило максимальную эффективность ее работы.
Библиографический список
игра программа пользователь
1 C Sharp [Электронный ресурс] - Электрон. текстовый дан. - 2015. Режим доступа: https://ru.wikipedia.org/wiki/C_Sharp
2 Операторы C# [Электронный ресурс] - Электрон. текстовый дан. - 2015. Режим доступа: https://msdn.microsoft.com/ru-ru/library/6a71f45d.aspx
3 Уроки программирования с нуля. [Электронный ресурс] - Электрон. текстовый дан. - 2015. Режим доступа: http://mycsharp.ru/post/48/2014_12_21_ struktury_v_si-sharp.html
4 Бьерн Страуструп. «Язык программирования С++» - 369с
Приложение
Листинг программы
using System;
using System. Collections. Generic;
using System. ComponentModel;
using System. Data;
using System. Drawing;
using System.IO;
using System. Linq;
using System. Text;
using System. Threading. Tasks;
using System. Windows. Forms;
namespace WindowsFormsApplication1
{
public partial class Form1: Form
{
private class MyGame
{
public String[] myArr; // словарь
public Boolean[] CompWords; // проверка на повтор слова
public int indWord = -1; // индекс загаданного слова
public int indCmp = -1; // индекс последнего выбранного слова компом
public int gamer = 1; // номер игрока (1, 2)
public Boolean gameover = false; // состояние игры
public Boolean CompInit = false; // инициалмзация 2 го игрока (компа)
public char comptest; // поиск по символам
// класс игры
// конструктор
public MyGame()
{
// загружаем словарик
myArr = File. ReadAllLines (@ «C:\1.txt», System. Text. Encoding.UTF8);
newGame();
}
// инициализация компьютера
Boolean InitComputer()
{
// поиск первого похожего символа компом
int c = 0;
do {
Random rnd = new Random();
indCmp = rnd. Next (getCount());
c = checkWord (myArr[indCmp]);
} while (c == 0);
return true;
}
public void newGame()
{
// сбрасываем значения состояния игры
Листинг А.1 - Код программы, лист 1
gameover = false;
CompInit = false;
gamer = 1;
Random rnd = new Random();
indWord = rnd. Next (getCount());
CompWords = new Boolean [getCount()];
for (int i = 0; i < getCountComp(); i++)
CompWords[i] = false;
CompInit = InitComputer();
}
// устанавливаем состояние игрока
// ход компьютера
public void nextGamer()
{
if (gamer == 1)
gamer++;
else
gamer -;
// логика компа
if ((gamer == 2) && (! gameover))
{
Random rnd = new Random();
indCmp = SearchWord(comptest);
if (indCmp == -1)
indCmp = rnd. Next (getCount());
if ((indCmp >= 0) && (checkWordP (myArr[indCmp])))
gameover = true;
if (indCmp >= 0)
CompWords[indCmp] = true;
}
}
// поиск символа в словах
public int SearchWord (char ch)
{
int res = -1;
for (int i = 0; (i < getCount()) && (res == -1); i++)
{
if (ValidWordComp(i))
for (int j = 0; (j < myArr[i].Length) && (res == -1); j++)
{
if (ch. Equals (myArr[i] [j]))
res = i;
}
}
return res;
}
// Проверка слова на повторение
// true - слово не использовалось
Листинг А.1, лист 2
public Boolean ValidWordComp (int ind)
{
return CompWords[ind] == false;
}
// размерность массива CompWords
public int getCountComp()
{
return CompWords. Length;
}
// размерность массива словаря
public int getCount()
{
return myArr. Length;
}
// угадали слово или нет
public Boolean checkWordP (String word)
{
return word. Equals (myArr[indWord]);
}
// сколько букв в загаданном слове
public int getWordLength()
{
return myArr[indWord].Length;
}
// определение количества повторяющихся символов
// тестового слова из загаданного
public int checkWord (String word)
{
int l = word. Length; // длина тестового слова
int k = myArr[indWord].Length;
char[] ch = new char[l];
char[] chk = new char[k];
int res = 0; // результат
// переводим слова в массивы типа char
ch = word. ToCharArray (0, l);
chk = myArr[indWord].ToCharArray (0, k);
// удаляем дублирующиеся символы в тестовом слове
for (int i = 0; i < l - 1; i++)
for (int j = i + 1; j < l; j++)
{
if ((ch[j]!= (char) 0) && (ch[i] == ch[j]))
ch[j] = (char) 0; // удаляем повторяющийся символ
}
// считаем повторяющиеся символы в загаданном слове
for (int i = 0; i < l; i++)
{
// если не равно null
if (ch[i]!= (char) 0)
for (int j = 0; j < k; j++)
Листинг А.1, лист 3
if (ch[i] == chk[j])
{
if ((! CompInit) && (gamer == 2))
comptest = ch[i]; // символ для поиска слов
res++;
}
}
return res;
}
}
MyGame game; // объект игры
public Form1 ()
{
InitializeComponent();
// создание объекта игры
game = new MyGame();
OnNewGame(); // новая игра
}
private void button1_Click (object sender, EventArgs e)
{
OnNewGame();
}
private void OnNewGame()
{
game.newGame();
LogBox. Clear();
LogBox. Text = «Новая игра началась!»;
LogBox. Text += «\nЗагружено слов:» + game.getCount();
LogBox. Text += «\n\nКомпьютер загадал слово из» + game.getWordLength() + «букв\n»;
printStartStep();
}
private void printStartStep()
{
LogBox. Text += «\nХодит Игрок» + game.gamer +». Ваше слово?\n»;
}
private void button2_Click (object sender, EventArgs e)
{
if (! game.gameover)
{
if (game.gamer == 1)
LogBox. Text += «Слово:» + textBox1. Text + «\n»;
if (! game.checkWordP (textBox1. Text))
{
LogBox. Text += «Внимание!!! Это слово содержит» + game.checkWord (textBox1. Text) + «букв(у) из загаданного\n\n»;
Листинг А.1, лист 4
game.nextGamer();
printStartStep();
if (game.gamer == 2)
{
game.nextGamer();
LogBox. Text += «\nИгрок 2 выбрал:» + game.myArr [game.indCmp] + «\n»;
if (game.gameover)
{
LogBox. Text += «\nВнимание!!! Победил Игрок 2»;
MessageBox. Show («Внимание!!! Победил Игрок 2»);
}
}
}
else
{
game.gameover = true;
LogBox. Text += «\nВнимание!!! Победил Игрок» + game.gamer;
MessageBox. Show («Внимание!!! Победил Игрок» + game.gamer);
}
}
textBox1. Text = «»;
}
private void button3_Click (object sender, EventArgs e)
{
MessageBox. Show («Загаданное слово:» + game.myArr [game.indWord]);
}
private void button4_Click (object sender, EventArgs e)
{
String title;
title = «Один игрок задумывает слово из пяти букв, другой должен его отгадать.» +
«Угадывающий называет тестовые слова. Задумавший слово сообщает,» +
«сколько раз буквы задуманного слова входят в тестовое слово.» +
«Каждая буква задуманного слова учитывается в ответе столько раз,» +
«сколько она содержится в названном слове. Выигрывает тот, кто быстрее угадал слово.»;
MessageBox. Show («Справка:\n» + title);
}
}
}
Размещено на Allbest.ru
...Подобные документы
Объектно-ориентированный язык программирования: общая характеристика и свойства. Базовый и производный классы, конструкторы производного класса. Конструкторы и неопределенность при множественном наследовании. Роль наследования при разработке программ.
курсовая работа [688,3 K], добавлен 23.12.2013Изучение объектно-ориентированного языка программирования Java, его функциональные возможности. Создание программного кода. Описание классов и методов, использованных в программе. Руководство пользователя, запуск сервера и клиентского приложения.
курсовая работа [1,8 M], добавлен 16.09.2015Характеристика основных разделов программирования, изучаемых в курсе программирования на языке С++. Описание внутренних переменных, входных и выходных данных. Особенности использования компилятора Microsoft Visual Studio 2008. Руководство пользователя.
курсовая работа [18,8 K], добавлен 14.12.2010Программа по созданию стрелочных часов. Минимальные требования к составу и параметрам технических средств программы. Выбор и обоснование системы программирования Microsoft Visual Studio. Общее описание алгоритма. Руководство пользователя и программиста.
контрольная работа [1017,1 K], добавлен 11.12.2012Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.
курсовая работа [428,9 K], добавлен 19.09.2012Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.
курсовая работа [571,9 K], добавлен 14.07.2012Особенности визуальной среды программирования Microsoft Visual Studio 2015 Enterprise. Средства объектно-ориентированного программирования. Этапы проектирования программного комплекса. Отладка и тестирование программы игры "Виселица".
курсовая работа [2,4 M], добавлен 31.01.2016Описание используемых понятий и механизмов объектно-ориентированного программирования. Разработка и описание необходимых классов. Демонстрационный модуль с кратким описанием использованных стандартных компонентов. Внешний вид и листинг программы.
курсовая работа [1,3 M], добавлен 24.07.2013C# как объектно-ориентированный язык программирования. Объектно-ориентированный анализ и проектирование системы на языке UML. Сущность программы "Учёт пациентов в регистратуре поликлиники", ее достоинства и недостатки, пошаговая инструкция пользователя.
курсовая работа [1,5 M], добавлен 17.02.2013Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.
курсовая работа [639,0 K], добавлен 16.03.2012Понятие математического программирования. Класс как тип структуры, позволяющий включать в описание типа не только элементы данных, но и функции. Рассмотрение основных особенности языка программирования C++. Характеристика среды MS Visual Studio 2008.
контрольная работа [318,0 K], добавлен 13.01.2013Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.
курсовая работа [500,4 K], добавлен 13.01.2015Особенности объектно-ориентированного программирования. Основные возможности языка программирования Java, классификация платформ. Создание программы, обеспечивающей вычисление арифметических выражений. Руководство пользователя и характеристика функций.
курсовая работа [1,2 M], добавлен 07.07.2012Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.
курсовая работа [572,7 K], добавлен 14.07.2012Microsoft Visual C++ и среда программирования Microsoft Developer Studio 6.0. Решение интеллектуальной задачи на компьютере. Построение алгоритма кодирования на Visual C++. Алгоритм решения задачи. Описание программы "Sort". Инструкции пользователя.
курсовая работа [46,0 K], добавлен 27.11.2007Объектно-ориентированная технология создания программ. Среда разработки Visual Studio.NET. Особенности среды Microsoft Visual Studio 2010. Приложения C# для расчетов по формулам, консольный ввод-вывод. Форматирование значений данных. Программы с циклами.
методичка [2,1 M], добавлен 11.09.2014Delphi - среда быстрой разработки, в которой в качестве языка программирования используется типизированный объектно-ориентированный язык Delphi. Варианты программного пакета. Особенности работы, вид экрана после запуска. Описание структуры программы.
курсовая работа [1,3 M], добавлен 25.11.2014Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.
курсовая работа [585,5 K], добавлен 24.03.2009Понятие объектно-ориентированного программирования, характеристика используемых языков. Практическая разработка средств объектно-ориентированного программирования в задачах защиты информации: программная реализация на языке С++, а также Turbo Pascal.
курсовая работа [275,9 K], добавлен 22.12.2011