Разработка игры "Виселица" на С#
Особенности визуальной среды программирования 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