Разработка игры "Виселица" на С#

Особенности визуальной среды программирования Microsoft Visual Studio 2015 Enterprise. Средства объектно-ориентированного программирования. Этапы проектирования программного комплекса. Отладка и тестирование программы игры "Виселица".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 31.01.2016
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла game9.cs

namespace WindowsFormsApplication1

{

public partial class game9 : Form

{

WindowsMediaPlayer music;

string word; int numGuessesInt; List<char> guessedLetters;

public game9()

{

InitializeComponent();

}

//Создание кнопок для букв алфавита

private void Form7_Shown(object sender, EventArgs e)

{

this.Size = new Size(500, 500);

string str = "АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";//строковая перем. с алфавитом

int posX = 20, posY = 150;//начальные позиции первой строки букв

for (int i = 0; i < str.Count(); i++)//создание цикла

{

Button button = new Button();//метод создания новой кнопки

button.BackColor = Color.Aqua;//цвет кнопки

button.Text = str[i] + "";//присваивает значение след.буквы

button.Click += new EventHandler(this.button_Click);

button.Location = new System.Drawing.Point(posX, posY);//рисование кнопки

button.Size = new System.Drawing.Size(30, 25);//задание размера кнопки

this.Controls.Add(button);//добавление кнопки

posX += button.Width;//ширина кнопки

if ((i + 1) % 8 == 0)

{

posX = 20;

posY += button.Height;//высота кнопки

}

}

start_new_game();

}

//начало игры

private void start_new_game()//начальная позиция

{

numGuessesInt = 6;//количество попыток

guessedLetters = new List<char>();//отгаданные буквы

word = pickWord();

MessageBox.Show("Угадайте город РФ");

label1.Text = displayWord();

label2.Text = "";

pictureBox1.Load(@"платформа с палкой_1.jpg");

}

static string pickWord()//выбор слова рандомно

{

string[] wordList = File.ReadAllLines("Список городов России hard.txt");

Random randomGen = new Random();

return wordList[randomGen.Next(wordList.Count())];

}

private string displayWord()

{

string returnedWord = "";

if (guessedLetters.Count == 0)

{

foreach (char letter in word) returnedWord += "_ ";

return returnedWord;

}

foreach (char letter in word)

{

bool letterMatch = false;

foreach (char character in guessedLetters)

if (char.ToLower(character) == char.ToLower(letter))

{

returnedWord += character + " ";

letterMatch = true;

break;

}

else letterMatch = false;

if (letterMatch == false) returnedWord += "_ ";

}

return returnedWord;

}

void button_Click(object sender, System.EventArgs e)

{

Button letter_btn = sender as Button;

string guessedLetter = letter_btn.Text;

string letters = "";

bool repeat = false;

for (int i = 0; i < guessedLetters.Count; i++)

if (char.ToLower(guessedLetters[i]) == char.ToLower(guessedLetter.ToCharArray()[0])) repeat = true;

if (repeat == false)

{

guessedLetters.Add(guessedLetter.ToCharArray()[0]);

if (!word.ToCharArray().Contains(char.ToLower(guessedLetter.ToCharArray()[0]))) numGuessesInt -= 1;

pictureBox1.Load(@"платформа с палкой_"+(7 - numGuessesInt)+".jpg");

foreach (char letter in guessedLetters) letters += " " + letter;

label2.Text = letters;

string wordToDisplay = displayWord();

label1.Text = displayWord();

if (!wordToDisplay.Contains("_"))

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Victory.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

MessageBox.Show("Вы выиграли! Правильное слово: " + word);

SaveCountWin.Save();

}

else if (numGuessesInt <= 0)

{

music = Media.Instance.wmp;

music.controls.stop();

music.URL = Application.StartupPath + "\\Loose.mp3";

music.settings.setMode("loop", true);

music.controls.play();

music.settings.setMode("loop", false);

MessageBox.Show("Вы проиграли! Правильное слово: " + word);

table_of_lider fr = new table_of_lider();

fr.Show();

this.Hide();

}

}

}

//кнопка в главное меню

private void button1_Click(object sender, EventArgs e)

{

MainForm fr = new MainForm();

fr.Show();

this.Hide();

}

}

}

Код файла table of lider.cs

namespace WindowsFormsApplication1

{

public partial class table_of_lider : Form

{

public table_of_lider()

{

InitializeComponent();

if (File.Exists("Рейтинг.txt"))

{

var str = File.ReadAllLines("Рейтинг.txt"); // Читаем полностью фаил

var ListRating = new List<rating>(); // лист со структурой созданной ниже

for (int i = 0; i < str.Count(); i++)

{

try

{

var nb = str[i].Split(':');

ListRating.Add(new rating(nb[0], Convert.ToInt32(nb[1]))); // добавляем все значения а именно Имя и Макс. Баланс

}

catch { continue; }

}

ListRating.Sort((b, a) => a.CountWin.CompareTo(b.CountWin)); // Лямбда функция для сортировки

var count = 1;

foreach (var item in ListRating) { // вывод

richTextBox1.AppendText(count+". Игрок: "+ item.Name + " Кол-во побед: "+ item.CountWin + Environment.NewLine);

count++;

}

}

}

private void button1_Click_1(object sender, EventArgs e)

{

start_new_game fr = new start_new_game();

fr.Show();

this.Hide();

}

}

}

Код файла start new game.cs

namespace WindowsFormsApplication1

{

public partial class start_new_game : Form

{

public start_new_game()

{

InitializeComponent();

}

private void start_new_game_Load(object sender, EventArgs e)

{

this.Size = new Size(225, 225);

}

private void button1_Click(object sender, EventArgs e)

{

Category fr = new Category();

fr.Show();

this.Hide();

}

private void button2_Click(object sender, EventArgs e)

{

Application.Exit();

}

}

}

Код файла Config.cs

namespace WindowsFormsApplication1

{

class Config

{

private static readonly Config ConfigList = new Config();

public static Config Instance { get { return ConfigList; } }

public String NamePayer;

}

}

Код файла Media.cs

namespace WindowsFormsApplication1

{

class Media

{

private static readonly Media sound = new Media();

public static Media Instance { get { return sound; } }

public WindowsMediaPlayer wmp = new WindowsMediaPlayer();

}

}

Код файла SaveCountWin.cs

namespace WindowsFormsApplication1

{

class SaveCountWin

{

public static void Save()

{

Config cf = Config.Instance;

List<rating> ratg = new List<rating>();

ratg.Clear();

if (File.Exists("Рейтинг.txt"))

{

var src = File.ReadAllLines("Рейтинг.txt");

foreach (var item in src)

{

try

{

var pwr = item.Split(':');

ratg.Add(new rating(pwr[0], Convert.ToInt32(pwr[1])));

}

catch { continue; }

}

}

var IsItem = true;

for (int i = 0; i < ratg.Count; i++)

{

var _name = ratg[i].Name;

if (cf.NamePayer == _name)

{

ratg[i].CountWin++;

IsItem = false;

break;

}

}

if (IsItem)

{

ratg.Add(new rating(cf.NamePayer, 1));

}

var str = "";

foreach (var item in ratg)

{

str += item.Name + ":" + item.CountWin.ToString() + Environment.NewLine;

}

var file = new StreamWriter("Рейтинг.txt");

file.WriteLine(str);

file.Close();

table_of_lider fr = new table_of_lider();

fr.Show();

}

}

class rating

{

public string Name;

public int CountWin;

public rating(string name, int countwin)

{

this.Name = name;

this.CountWin = countwin;

}

}

}

Размещено на Allbest.ru


Подобные документы

  • Разработка программы "Виселица" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования: программные требования, описание алгоритма, блок-схема программы и дополнительной процедуры. Листинг программы.

    курсовая работа [188,2 K], добавлен 28.06.2009

  • Создание программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С# средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Определение математического аппарата, применение его в задаче.

    курсовая работа [500,4 K], добавлен 13.01.2015

  • Понятие объектно-ориентированного программирования, общая характеристика языков высокого уровня. Разработка программного обеспечения для реализации компьютерной игры "пинбол" с помощью императивного программирования в среде Microsoft Visual Basic.

    курсовая работа [428,9 K], добавлен 19.09.2012

  • Разработка игры "Угадай персонажа", ее суть и содержание. Запоминание новых персонажей и вопросов, коррекция базы данных. Использование языка программирования С++ и среды разработки Microsoft Visual Studio 2010. Алгоритмы и методы, структура программы.

    курсовая работа [571,9 K], добавлен 14.07.2012

  • Описание принципа развивающей игры в слова "Виселица". Разработка программы, реализующей задачу данной игры на языке Delphi. Обоснование выбора среды программирования, листинг файла, результаты отладки и тестирования, руководство для пользователя.

    курсовая работа [572,7 K], добавлен 14.07.2012

  • Исследование принципов объектно-ориентированного программирования на базе языка программирования С++. Разработка программного комплекса для ведения учёта памятников города. Описание процессов сортировки, поиска, формирования статистики по памятникам.

    курсовая работа [782,4 K], добавлен 26.05.2014

  • Общие сведения о работе программы в среде программирования Microsoft Visual Studio 2008, на языке программирования C++. Ее функциональное назначение. Инсталляция и выполнение программы. Разработанные меню и интерфейсы. Алгоритм программного обеспечения.

    курсовая работа [585,5 K], добавлен 24.03.2009

  • Разработка учебного транслятора на языке программирования C# в среде объектно-ориентированного программирования Visual Studio 2012. Выделение лексем и построение цепочки символов на этапе синтаксического анализа. Функциональное тестирование программы.

    курсовая работа [406,8 K], добавлен 07.08.2013

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Возникновение, эволюция и особенности языка программирования С++. Разработка программы, которая содержит текущую информацию о книгах в библиотеке с использованием средства объектно-ориентированного программирования среды C++. Спецификация и тестирование.

    курсовая работа [159,1 K], добавлен 20.01.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.