Программирование на Си-шарп: различия между версиями
SSJ (обсуждение | вклад) |
SSJ (обсуждение | вклад) |
||
Строка 32: | Строка 32: | ||
== Программирование игр == |
== Программирование игр == |
||
Для старта удобно использовать игру [[Microsoft Terrarium]]. Прочтите об этой игре. Попробуйте установить, если возникнут проблемы спрашивайте ниже. |
Для старта удобно использовать игру [[Microsoft Terrarium]]. Прочтите об этой игре. Попробуйте установить и запустить, если возникнут проблемы спрашивайте ниже. |
||
⚫ | |||
⚫ | |||
Версия от 17:09, 10 февраля 2010
Создание консольного приложения
Прежде чем начать изучать язык нужно, проинсталлировать среду и убедится, что она работает на вашем компьютере. По традиции это начинается с написания программы «Hello, World!»:
- Прочитайте статью в Википедии об этом языке программирования: w:C Sharp.
- Скачайте и установите бесплатную среду программирования на Си-шарп Microsoft Visual C# 2008 Express Edition с официального сайта Майкрософт: [1]. Можно попробовать найти в своей локальной сети файл, содержащий в названии «VS2008Express».
- Подробная инструкция: В зелёном квадрате выберите Russian и нажмите Download; скачается файл vcssetup.exe (2,7 Мбайт); запустите его на своём компьютере; начнётся загрузка компонентов Microsoft Visual C# 2008 Express Edition (~80 Мбайт), а затем произойдет установка этих компонентов.
- Прочитайте Практическое руководство. Создание консольного приложения C# и создайте консольное приложение.
Выбор предметной задачи
Программирование само по себе не представляет особого интереса. С помощью программирования реализуются различные предметные задачи. От выбора той или иной задачи зависит на чем нужно будет сконцентрироваться в первую очередь. Условно задачи можно разделить на 4 вида:
- Программы обработки данных (как правило научные вычисления)
- Программы требующие пользовательский интерфейс (т.н. офисные приложения)
- Программы требующие графический интерфейс (как правило компьютерные игры или программы моделирования)
- Веб-программирование (в данном курсе оно не рассматривается )
Обдумайте и опишите ту задачу, которой вам было бы интересно заниматься. Попробуйте как можно точнее сформулировать что есть на входе, и что вы хотите получить на выходе. Любое программирование начинается с анализа задачи на бумаге - попробуйте изобразить, написать ваши цели, разбить на подзадачи.
Ваши ответы
ставьте # и отвечайте в свободном формате. Дискуссии так же поощряются, но оффтоп будет удаляться.
- Я тяготею скорее к номеру 3 (игры), однако с графикой и рисунками вообще не дружу. Пока можно попробовать написать текстовый квест. Насколько я понимаю, передо мной стоят три основные задачи:
- Прописать класс игрока
- Прописать локации
- Прописать их взаимодействие
- Я примерно себе представляю, как должен выглядеть класс, однако на C# (как и на Delphi) я классов ещё не писал. Смутно представляю, что такое private, public, protected и зачем они нужны (в питоне этого нет). Когда я пробовал прописывать локации на Delphi, я использовал переменную, отвечающую за то, на какую локацию надо переходить, а сами локации прописывал в функции button_click, используя if. Наверняка есть более простой способ. Ну вот, как-то так... Freelancer Alex 14:50, 10 февраля 2010 (UTC)
- ?
Программирование игр
Для старта удобно использовать игру Microsoft Terrarium. Прочтите об этой игре. Попробуйте установить и запустить, если возникнут проблемы спрашивайте ниже.
Проблемы при установке/запуске
Создание растения
Чтобы запустить в террариум существо нужно создать динамически размещаемую библиотеку (.dll). По сути она мало чем отличается от .exe файла. Разница в том, что пользователь ее не запускает, и в ней содержится функции используемые другой программой.
Открываем Visual Stidio и создаем новый проект, выбирая Class Library (по умолчанию создаться заготовка файла - удаляем). Называем проект Food1. Добавляем новый файл Food.cs (снова по умолчанию там заготовка - стираем). Помещаем туда следующий текст:
using System;
using System.IO;
using OrganismBase;
[assembly: AuthorInformationAttribute("Vasa Pupkin", "pupkin@mail.ru")] // Информация об авторе
// Название класса существа
[assembly: OrganismClass("Food1")]
// Энергетическая емкость существа
[MaximumEnergyPoints(10)]
// Размер взрослой особи
[MatureSize(26)]
// Радиус разброса семян растения
[SeedSpreadDistanceAttribute(100)]
public class Food1 : Plant
{
public override void SerializePlant(MemoryStream m)
{ }
public override void DeserializePlant(MemoryStream m)
{ }
}
Сохраняем проект.
Теперь нужно подключить библиотеку из террариума. В директории инсталляции ищем файл OrganismBase.dll . Копируем его в директорию созданного проекта, лучше создать поддерикторию например, External. В проекте в окне справа ищем References, по правой кнопки мыши вызываем пункт Add Reference .., закладка Browse в которой показываем где находится OrganismBase.dll.
Жмем F6 и компилируем.