C#! — Создание консольной игры.


Содержание

Двумерная графика. Проектирование игр

Начала анимации. Движение шара на бильярдном столе

Постановка задачи. Требуется запрограммировать движение шара или шаров на бильярдном столе без учета трения, но с учетом упругого отражения от стенок бильярда. Границы стола — прямоугольник, без луз. Начнем проектирование приложения с определения объектов и классов. Объектами являются бильярдный стол (пусть это будет форма) и шар(ы), для описания которых объявим класс Sharik, эти объекты взаимодействуют …

Кривая Безье и метод де Кастельжо

Впервые кривые были представлены в 1962 году французским инженером Пьером Безье (Рено), который, разработав независимо от де Кастельжо (Ситроен), использовал их для компьютерного проектирования автомобильных кузовов. Кривые были названы именем Безье, а именем де Кастельжо назван разработанный им рекурсивный способ определения кривых. Впоследствии это открытие стало одним из полезных инструментов компьютерной графики. Четыре опорные точки P0 …

Игра «Вторжение НЛО»

Итак, вы уже готовы (идейно и технически) к созданию игры с использованием 2D-графики и идей объектно-ориентированного программирования в среде Visual Studio C#. Начнем с создания достаточно простого шутера «Вторжение НЛО» («UFO Invasion»), в котором придется отражать нашествие на Землю армады НЛО. Дальнейшее ее развитие вы сможете выполнить самостоятельно. Проектирование шутера начинается с разработки сценария, после …

Луна за забором

Типичная задача анимации, когда движущийся объект (например, Луна) становится невидимым за неподвижными объектами (горами, домами, забором). Используем наш опыт зашиты областей холста (пример с парапланами) с анимацией. Установку забора свяжем с одним событием — кликом на форме, а анимацию — с другим событием — нажатием кнопки «Ночь».

Цукерберг рекомендует:  Очередной классный слайдер на mootools

Анимация-шутка «Заход Луны»

Иногда бывает полезна психологическая разгрузка. Добавим в класс Form1 метод, который будет вызываться при возникновении некоторого события, например, клика на форме. Тогда в течении некоторого времени в окне формы можно будет наблюдать заход Луны. Первая реакция пользователя — компьютерный вирус. Однако все последствия от его действия — перекраска фона формы (добавка двух операторов позволит избежать …

Двумерная графика. Проектирование игр

Двумерная графика на C#, классы Graphics, Pen и Brush Пример рисования в C#. «Кораблик» Рисование контура и закраска области, ограниченной ломаной прямой Рисование сплайнами и кривыми Безье Кривая Безье и метод де Кастельжо Рисование и защита произвольных областей на холсте Начала анимации. Движение шара на бильярдном столе Спрайтовая анимация Анимация-шутка «Заход Луны» Луна за забором …

Спрайтовая анимация

Цель примера — показать способ рисования спрайтов в динамике. Спрайт (англ. Sprite — фея; эльф) — графический объект в компьютерной графике, чаще всего — растровое изображение, которое можно отобразить на экране. Предварительные действия. Создадим в Paint три изображения на белом фоне, каждый размером 100х100 пикселей. Нарисуем (без рамок) в первом квадрате красный круг, во втором …

Рисование и защита произвольных областей на холсте

Постановка задачи. Часто бывает необходимо изображение разделить на две составляющие: предметы (движущиеся) и фон (неподвижный), или наоборот, неподвижный забор с дырками в нем и некоторые предметы, двигающиеся за ним. Форма дырок в заборе может быть произвольная, как и форма движущихся предметов. В предыдущем примере была продемонстрирована возможность задания произвольных контуров предметов, теперь мы перейдем к …

Рисование сплайнами и кривыми Безье

Постановка задачи. Требуется рисовать объекты 2d-графики, используя плавные кривые. Обсуждение. В примере с корабликом мы уже рисовали окружности и сектора, хотя очевидно они не исчерпывают все необходимые нам графические объекты. В этом примере мы продемонстрируем другие варианты решения этой задачи. Ключевыми понятиями будут сплайн и кривая Безье.

Рисование контура и закраска области, ограниченной ломаной прямой

В предыдущем примере («Кораблик») мы использовали простые и очевидные методы рисования графических объектов класса Graphics, такие как FillRectangle() — закрасить прямоугольник, FillPie() — закрасить сектор и DrawEllipse() — нарисовать эллипс. Чуть более сложный метод FillPolygon() — закрашенный полигон. Постановка задачи: «Требуется нарисовать в небе несколько парапланов, имеющих разные цвета и размеры».

C++ (VS). Мини-игра в консоли

Необходимо реализовать в консоли мини игру, типа арканоида, змейки. Опыта мало, я решил обновлять картинку в консоли следующим образом : 1. system(«cls»); 2. выводим в консоль новую картинку. Проблема такая — при обновлении картинки происходит мелькание заново отрисовываемых символов. Какими путями можно избавиться от такого , чтобы в консоли картинка обновлялась наименее заметно для человеческого глаза

4 ответа 4

Можно делать буферизованный вывод на экран, примерно так

pdcurses — это порт ncurses на windows

Можно попробовать заменить

Иногда игра очень простая и просчёты очень быстрые, а как следствие рисовать дольше чем просчитывать. В общем попробуйте просто добавить слип. Может помочь!

Учебник. Создание простого консольного приложения C# в Visual Studio Tutorial: Create a simple C# console app in Visual Studio

В этом учебнике по C# вы создадите и запустите консольное приложение с помощью Visual Studio, а также ознакомитесь с некоторыми возможностями интегрированной среды разработки (IDE) Visual Studio. In this tutorial for C#, you’ll use Visual Studio to create and run a console app and explore some features of the Visual Studio integrated development environment (IDE) while you do so.

Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого. If you haven’t already installed Visual Studio, go to the Visual Studio downloads page to install it for free.


Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого. If you haven’t already installed Visual Studio, go to the Visual Studio downloads page to install it for free.

Создание проекта Create a project

Для начала мы создадим проект приложения C#. To start, we’ll create a C# application project. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы. The project type comes with all the template files you’ll need, before you’ve even added anything!

Откройте Visual Studio 2020. Open Visual Studio 2020.

В верхней строке меню выберите Файл > Создать > Проект. From the top menu bar, choose File > New > Project. (Или нажмите CTRL+SHIFT+N). (Alternatively, press Ctrl+Shift+N).

В левой панели диалогового окна Новый проект разверните узел C# и выберите .NET Core. In the left pane of the New Project dialog box, expand C#, and then choose .NET Core. На средней панели выберите Консольное приложение (.NET Core) . In the middle pane, choose Console App (.NET Core). Назовите файл Calculator. Then name the file Calculator.

Добавление рабочей нагрузки (необязательно) Add a workload (optional)

Если шаблон проекта Консольное приложение (.NET Core) отсутствует, его можно получить, добавив рабочую нагрузку Кроссплатформенная разработка .NET Core. If you don’t see the Console App (.NET Core) project template, you can get it by adding the .NET Core cross-platform development workload. Ниже описывается порядок действий. Here’s how.

Вариант 1: использование диалогового окна «Новый проект» Option 1: Use the New Project dialog box

Выберите ссылку Открыть Visual Studio Installer в левой области диалогового окна Новый проект. Choose the Open Visual Studio Installer link in the left pane of the New Project dialog box.

Запускается Visual Studio Installer. The Visual Studio Installer launches. Выберите рабочую нагрузку Кроссплатформенная разработка .NET Core и затем элемент Изменить. Choose the .NET Core cross-platform development workload, and then choose Modify.

Вариант 2: использование меню «Сервис» Option 2: Use the Tools menu bar

Закройте диалоговое окно Новый проект и в верхней строке меню выберите Сервис > Получить средства и компоненты. Cancel out of the New Project dialog box and from the top menu bar, choose Tools > Get Tools and Features.

Запускается Visual Studio Installer. The Visual Studio Installer launches. Выберите рабочую нагрузку Кроссплатформенная разработка .NET Core и затем элемент Изменить. Choose the .NET Core cross-platform development workload, and then choose Modify.

Запустите Visual Studio 2020. Open Visual Studio 2020.

На начальном экране выберите Создать проект. On the start window, choose Create a new project.

В поле поиска окна Создание проекта введите консоль. On the Create a new project window, enter or type console in the search box. Затем выберите C# в списке языков и Windows в списке платформ. Next, choose C# from the Language list, and then choose Windows from the Platform list.

Применив фильтры языка и платформы, выберите шаблон Консольное приложение (.NET Core) и нажмите кнопку Далее. After you apply the language and platform filters, choose the Console App (.NET Core) template, and then choose Next.

Если шаблон Консольное приложение (.NET Core) отсутствует, его можно установить из окна Создание проекта. If you do not see the Console App (.NET Core) template, you can install it from the Create a new project window. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов. In the Not finding what you’re looking for? message, choose the Install more tools and features link.

После этого в Visual Studio Installer выберите рабочую нагрузку Кроссплатформенная разработка .NET Core. Then, in the Visual Studio Installer, choose the .NET Core cross-platform development workload.

Затем нажмите кнопку Изменить в Visual Studio Installer. After that, choose the Modify button in the Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. You might be prompted to save your work; if so, do so. Выберите Продолжить, чтобы установить рабочую нагрузку. Next, choose Continue to install the workload. После этого вернитесь к шагу 2 в процедуре Создание проекта. Then, return to step 2 in this «Create a project» procedure.

В поле Имя проекта окна Настроить новый проект введите Calculator. In the Configure your new project window, type or enter Calculator in the Project name box. Затем нажмите Создать. Then, choose Create.

Visual Studio открывает новый проект, включающий код по умолчанию «Hello World». Visual Studio opens your new project, which includes default «Hello World» code.

Создание приложения Create the app

Во-первых, мы рассмотрим некоторые базовые расчеты для целых чисел в C#. First, we’ll explore some basic integer math in C#. Затем мы добавим код для создания простого калькулятора. Then, we’ll add code to create a basic calculator. После этого нам предстоит отладить приложение, чтобы найти и исправить ошибки. After that, we’ll debug the app to find and fix errors. И, наконец, мы оптимизируем код для повышения эффективности. And finally, we’ll refine the code to make it more efficient.

Вычисления с целыми числами Explore integer math

Давайте начнем с базовых расчетов целых чисел в C#. Let’s start with some basic integer math in C#.

В редакторе кода удалите созданный по умолчанию код Hello, World!. In the code editor, delete the default «Hello World» code.

В частности, удалите строку с текстом: Console.WriteLine(«Hello World!»); . Specifically, delete the line that says, Console.WriteLine(«Hello World!»); .

Вместо нее введите следующий код: In its place, type the following code:

Обратите внимание на то, что при этом функция IntelliSense в Visual Studio предлагает возможность автовыполнения записи. Notice that when you do so, the IntelliSense feature in Visual Studio offers you the option to autocomplete the entry.


Выберите Calculator, чтобы запустить программу, или нажмите клавишу F5. Choose Calculator to run your program, or press F5.

Откроется окно консоли с суммой 42 + 119, которая равна 161. A console window opens that reveals the sum of 42 + 119, which is 161.

(Необязательно) Можно изменить оператор, чтобы изменить результат. (Optional) You can change the operator to change the result. Например, можно изменить оператор + в строке кода int c = a + b; на — для вычитания, * для умножения или / для деления. For example, you can change the + operator in the int c = a + b; line of code to — for subtraction, * for multiplication, or / for division. Затем при запуске программы результат также изменится. Then, when you run the program, the result changes, too.

Закройте окно консоли. Close the console window.

Добавление кода для создания калькулятора Add code to create a calculator

Давайте продолжим, добавляя более сложный набор кода калькулятора в проект. Let’s continue by adding a more complex set of calculator code to your project.

Удалите весь код, который отображается в редакторе кода. Delete all the code you see in the code editor.

Введите или вставьте в редактор кода следующий код: Enter or paste the following new code into the code editor:

Выберите Calculator, чтобы запустить программу, или нажмите клавишу F5. Choose Calculator to run your program, or press F5.

Откроется окно консоли. A console window opens.

Просмотрите приложение в окне консоли и сложите числа 42 и 119, пользуясь предложенными подсказками. View your app in the console window, and then follow the prompts to add the numbers 42 and 119.

Теперь приложение должно выглядеть как на следующем снимке экрана: Your app should look similar to the following screenshot:

Добавление функциональных возможностей в калькулятор Add functionality to the calculator

Давайте изменим этот код, чтобы добавить функциональные возможности. Let’s tweak the code to add further functionality.

Цукерберг рекомендует:  Хостинг - Порекомендуйте бесплатный хостинг

Обработка десятичных чисел Add decimals

Пока наше приложение принимает и возвращает только целые числа. The calculator app currently accepts and returns whole numbers. Вычисления можно сделать точнее, добавив код для обработки десятичных чисел. But, it will be more precise if we add code that allows for decimals.

Как показано на следующем снимке экрана, при делении числа 42 на число 119 вы получите результат 0, что для нас недостаточно точно. As in the following screenshot, if you run the app and divide number 42 by the number 119, your result is 0 (zero), which isn’t exact.

Давайте исправим код, чтобы он обрабатывал десятичные числа. Let’s fix the code so that it handles decimals.

Нажмите клавиши CTRL + F, чтобы открыть элемент управления Поиск и замена. Press Ctrl + F to open the Find and Replace control.

Измените каждый экземпляр переменной int на float . Change each instance of the int variable to float .

Переключите Учитывать регистр (ALT+C) и Слово целиком (ALT+W) в элементе управления Найти и заменить. Make sure that you toggle Match case (Alt+C) and Match whole word (Alt+W) in the Find and Replace control.

Еще раз запустите приложение калькулятора и разделите число 42 на число 119. Run your calculator app again and divide the number 42 by the number 119.

Обратите внимание, что теперь приложение возвращает не просто ноль, а десятичное число. Notice that the app now returns a decimal numeral instead of zero.

Но пока приложение только возвращает десятичные числа. However, the app produces only a decimal result. Давайте изменим код так, чтобы приложение могло выполнять операции над десятичными числами. Let’s make a few more tweaks to the code so that the app can calculate decimals too.

Используйте элемент управления Поиск и замена (CTRL + F), чтобы изменить каждый экземпляр переменной float на double и каждый экземпляр метода Convert.ToInt32 на Convert.ToDouble . Use the Find and Replace control (Ctrl + F) to change each instance of the float variable to double , and to change each instance of the Convert.ToInt32 method to Convert.ToDouble .

Запустите приложение калькулятора и разделите число 42,5 на число 119,75. Run your calculator app and divide the number 42.5 by the number 119.75.

Обратите внимание на то, что теперь приложение принимает и возвращает значения десятичные числа. Notice that the app now accepts decimal values and returns a longer decimal numeral as its result.

(Количество десятичных разрядов мы исправим с помощью инструкций по пересмотру кода.) (We’ll fix the number of decimal places in the Revise the code section.)

Отладка приложения Debug the app

Мы уже улучшили наше простое приложение калькулятора, но пока оно не умеет обрабатывать исключения, включая ошибки во входных данных. We’ve improved on our basic calculator app, but it doesn’t yet have fail safes in place to handle exceptions, such as user input errors.


Например, при попытке разделить любое число на ноль или при вводе буквенного символа там, где приложение ожидает число (или наоборот), приложение перестает работать и возвращает ошибку. For example, if you try to divide a number by zero, or enter an alpha character when the app expects a numeric character (or vice versa), the app stops working and returns an error.

Давайте рассмотрим несколько типичных ошибок во входных данных, найдем их с помощью отладчика и исправим код, чтобы устранить их. Let’s walk through a few common user input errors, locate them in the debugger, and fix them in the code.

Дополнительные сведения об отладчике и принципах его работы см. в разделе Знакомство с отладчиком Visual Studio. For more information about the debugger and how it works, see the First look at the Visual Studio debugger page.

Исправление ошибки деления на ноль Fix the «divide by zero» error

При попытке деления числа на ноль консольное приложение перестает работать. When you try to divide a number by zero, the console app freezes. Visual Studio отображает причину проблемы в редакторе кода. Visual Studio then shows you what’s wrong in the code editor.

Давайте изменим код, чтобы он обрабатывал такую ошибку. Let’s change the code to handle this error.

Удалите код между case «d»: и комментарием с текстом // Wait for the user to respond before closing . Delete the code that appears directly between case «d»: and the comment that says // Wait for the user to respond before closing .

Замените его следующим кодом. Replace it with the following code:

Когда вы добавите новый год, раздел с оператором switch будет выглядеть так, как показано на следующем снимке экрана: After you add the code, the section with the switch statement should look similar to the following screenshot:

Теперь при делении любого числа на ноль приложение предложит ввести другое число. Now, when you divide any number by zero, the app will ask for another number. Даже лучше: Оно будет снова и снова повторять этот запрос, пока не получит значение, отличающееся от нуля. Even better: It won’t stop asking until you provide a number other than zero.

Исправление ошибки формата Fix the «format» error

Если вы введете буквенный символ там, где приложение ожидает цифру (или наоборот), приложение консоли перестает работать. If you enter an alpha character when the app expects a numeric character (or vice versa), the console app freezes. Visual Studio отображает причину проблемы в редакторе кода. Visual Studio then shows you what’s wrong in the code editor.

Чтобы устранить эту ошибку, мы выполним рефакторинг введенного ранее кода. To fix this error, we must refactor the code that we’ve previously entered.

Пересмотр кода Revise the code

Чтобы не делегировать всю обработку кода классу program , мы разделим приложение на два класса: Calculator и Program . Rather than rely on the program class to handle all the code, we’ll divide our app into two classes: Calculator and Program .

Класс Calculator выполняет основную часть работы для вычислений, а класс Program отвечает за пользовательский интерфейс и перехват ошибок. The Calculator class will handle the bulk of the calculation work, and the Program class will handle the user interface and error-capturing work.

Итак, начнем. Let’s get started.

Удалите весь код после этого блока кода: Delete everything after the following code block:

Теперь добавьте новый класс Calculator со следующим содержимым: Next, add a new Calculator class, as follows:

Затем добавьте новый класс Program со следующим содержимым: Then, add a new Program class, as follows:

Выберите Calculator, чтобы запустить программу, или нажмите клавишу F5. Choose Calculator to run your program, or press F5.

Разделите число 42 на число 119, следуя подсказкам на экране. Follow the prompts and divide the number 42 by the number 119. Теперь приложение должно выглядеть как на следующем снимке экрана: Your app should look similar to the following screenshot:

Обратите внимание на то, что вы можете ввести несколько выражений, не закрывая консольное приложение. Notice that you have the option to enter more equations until you choose to close the console app. Также мы сократили количество десятичных разрядов в результате. And, we’ve also reduced the number of decimal places in the result.

Закрытие приложения Close the app

Закройте приложение калькулятора, если оно еще открыто. If you haven’t already done so, close the calculator app.

Закройте область вывода в Visual Studio. Close the Output pane in Visual Studio.

В Visual Studio нажмите клавиши CTRL+S, чтобы сохранить приложение. In Visual Studio, press Ctrl+S to save your app.

Закройте Visual Studio. Close Visual Studio.

Полный код Code complete

В этом руководстве мы внесли много изменений в приложение «Калькулятор». During this tutorial, we’ve made a lot of changes to the calculator app. Теперь оно более эффективно использует вычислительные ресурсы и обрабатывает большинство ошибок во входных данных. The app now handles computing resources more efficiently, and it handles most user input errors.

Ниже мы собрали в один блок весь код: Here’s the complete code, all in one place:


Следующие шаги Next steps

Поздравляем с завершением этого учебника! Congratulations on completing this tutorial! Для получения дополнительных сведений перейдите к следующим руководствам. To learn even more, continue with the following tutorials.

Программирование на C, C# и Java

Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы

ОСТОРОЖНО МОШЕННИКИ! В последнее время в социальных сетях участились случаи предложения помощи в написании программ от лиц, прикрывающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в посторонних группах ВК. Для связи с нами используйте исключительно эти контакты: vscoderu@yandex.ru, https://vk.com/vscode

Игра на C#: Угадай число

Сегодня мы будем создавать кое-что простое, но в то же время интересное – это игра на C# под названием “Угадай число”. Смысл игры заключается в том, что компьютер рандомно загадывает число от 0 до 9, а пользователь должен угадать это число, имея 3 попытки.

Итак, приступаем. Создаём консольное приложение (“Файл”->”Создать”->”Проект”->”Консольное приложение”) и для начала задаём функцию Random вот так:

Иными словами, мы создаём некий генератор случайных чисел rand, который каждый раз при запуске программы будет генерировать псевдослучайные числа, значение которых каждый раз будут заноситься в целочисленную переменную i. Число 10 в скобках означает, что всегда будет производиться генерация только лишь 10 первых чисел (0, 1, 2, 3, 4, 5, 6, 7, 8, 9). Если в скобках поставить 100, то рандом будет выбирать числа из диапазона от 0 до 99 и т.д.

Также мы инициализируем переменную count:

Изучение c# путем создания игр, стоит ли идти по такому пути и какие есть варианты?

Доброе время суток.
Так сложилась судьба, попал я на на большой проект, написанный на c# windows forms. Знаю, технология старая, да и десктопные приложения сейчас совсем не в тренде. Раньше занимался веб-ом, php, немного js и другие типичные технологии. Все программирование заключалось в выборке данных из бд и вставке в html.

Хочется научится кодить, хорошо кодить. Для этого нужно читать книги и проецировать, полученные знания, на реальных приложениях. Плюс ко всему, охота проявить творческую жилку. Кажется игры здесь более чем уместны: кодинг, дизайн, интересная история. Люблю побродить в инди-играх, впечатлили limbo, brain. Погуглив, обнаружил движок uniti3d, где можно писать скрипты на c#. Однако, из прочитанного понял, что в нем для создания игр программировать вообще не надо, просто перетаскиваешь готовые элементы, а это не совсем согласуется с целями.

Интересна разработка для мобильных устройств. Windows 10, слышал, предоставляет единую платформу для создания приложения для разных устройств. Но вряд ли эти приложухи будут востребованы, по крайней мере года 2-3. Эту нишу крепко удерживают другие ОС-и.

Может быть это гиблое дело и стоит присоединиться к какому-нибудь опенсорсному проекту, что-нибудь связное с ИИ.

Недавно написал «сапера» на windows forms и оказывается не так страшен черт, как я думал.

  • Вопрос задан более трёх лет назад
  • 10588 просмотров

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

По поводу unity3d — там c# ведь по сути для небольших скриптов, так что глубоко не изучите.

Цукерберг рекомендует:  Аутентификация через Middleware

А вот если вы возьмёте C++ и SDL, то там да, толку может много выйти при должной усидчивости и целеустремлённости.

В общем для освоения c# мне кажется вам стоит не тупо делать игры на юнити, а придумывать различные приложения, которым может быть уже давно есть лучшие аналоги, но все равно делать самому;)

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

1) В Unity3d программировать НАДО. Перетаскиванием готовых элементов вы не отделаетесь. Те, кто утверждает обратное — нагло врут.
2) Творческого с точки зрения интересных историй и тому подобного не программерского для программистов в играх — мало. Творчеством там в первую очередь геймдизайнеры занимаются. И вы успеете их возненваидеть, по три раза переписывая какой нибудь ни разу не творческий модуль.
3) Научится хорошо программировать можно ТОЛЬКО в команде.
4) Обычно на чем написано приложение — не имеет особого значения. Важны подходы, паттерны, алгоритмы, и прочие умные слова.

Какой я бы вывод сделал — продолжайте пока что работать где работайте. Если проект там большой — наберетесь опыта, а он всегда нужен. Если очень зудит делать игры — присоединитесь к какой то АДЕКВАТНОЙ команде. Их можно попробовать поискать на gamedev.ru, хотя там с адекватностью бывает крайне печально.

Созданием игр на Unity3D, C# будите учить долго. И хорошо его не выучишь, в силу отличий нормального подхода и того что в Unity3D.
Конструкторов нет (Awaik, Start), какие то непонятные методы уже унаследованы в игровых объектах и т.д.. Это не плохо, но и не чистый C#, много нюансов от самого движка Unity3D. (такое впечатление после полного прочтения официальной справочной информации)

Из того что почитать:
1) Jon Skeet C# для профессионалов.Тонкости программирования. (даст общее понятие .Net и C#)
2) Джеффри Рихтер CLR via C# Microsoft.NET. (более глубокое познание местами)
3) Макконнелл — Совершенный код. (приведет мысли в порядок)
4) Martin R. Clean Coder. (небольшая книга, тоже мысли приводит в порядок)
5) Кржиштоф Цвалина, Брэд Абрамс «Инфраструктура программных проектов: соглашения, идиомы и шаблоны для многократно используемых библиотек .NET». (очень мощная книга, учит тому как надо писать, а не просто писать что бы работало)

Первые две про код, остальные про правила написания, важность которых вы почувствуете со временем.


C#! — Создание консольной игры.

We recommend upgrading to the latest Google Chrome or Firefox.

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

New pull request

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading .

Want to be notified of new releases in AlexTerra21/ConsoleGames ?

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching Xcode .

If nothing happens, download Xcode and try again.

Launching Visual Studio .

Permalink

  • © 2020 GitHub , Inc.
  • Terms
  • Privacy
  • Security
  • Status
  • Help

You can’t perform that action at this time.

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.

Обучение C#

Формула программиста

Работая с этим сайтом, Вы даете согласие на использование файлов Cookie.


Создание консольного приложения на языке C#

ключевое слово namespace , обозначающее пространство имён, используется для объявления области, которая содержит набор связанных объектов.

Внутри указанного пространства имен расположен основной класс программы

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

Откомпилируем проект, выбрав меню Сборка ⇒ Пересобрать решение.

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

Переходите к решению консольных задач в разделах Семантика и Алгоритмика

Автор: Вставская Елена Владимировна

Начинаем практику по языку C#

Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.

Основатель проекта

Вебинары C#

+ Бесплатно, каждую субботу
+ Создание программ с нуля
+ Решение консольных задач

Видео-уроки

+ 300 практических видеоуроков
+ 400 интерактивных задач
+ Видео-решения и разбор

Миссия

Погружение в язык C#
Мотивация к изучению языка
Прокачка навыков программирования

Создание простой игры на C# (WinForms)

9 ответов

Так всетаки крестики-нолики или шахматы?

Определитесь с игрой. Многие игры вообще не требуют подключения быстрой графики DirectX/OpenGL, например тот же самый пасьянс-косынка — его вообще можно в консоли сделать.

Так в чем проблема? Не знаете с чего начать?
Программа будет делиться в принципе на две части: логика интерфейса и логика игры.
Попробуйте реализовать представление игры на экране (на форме). Т.е. рисование ноликов и крестиков в сетке 3х3.

Нарисовать? Через стандартный Graphics?

шахматы ты упаришься писать,я пробовал писал шашки с интеллектом. две недели мучался,рассчитывал в уме варианты кода и алгоритма.Так что шахматы написать за две недели не успеешь,там же фигур 12 *64 клетки=вариантов ходов.

сделай анимашку,типа летающих ангелов или трехмерного креста,вращающегося.Порадуешь препода

[QUOTE=NetZorro;257547]Нужно сделать за 2 недели простую игрушку, QUOTE]

я покурил и придумал.У меня есть простые игры,там сюжеты из денди и из компов 90-х ZXspectruma. типа «золотоискателей» и «Pacman» и «batty».Посмотри эти проги на моем сайте,на странице «бейсик»,и решай что будешь писать. Там игры на уровне шкльников или студентов,ты должен одолеть.Одни иксы и картинки. Сайт http://unlater.narod.ru


Могу свой исходник дать))На бейсике)

Напиши морской бой! — весь AI — функция rand():)

Ксати, я в свое время на MFС его делал. Напиши в личку mail, если надо — вышлю.

Введение в программирование C# на Unity

Несмотря на то, что встроенные компоненты Unity могут быть очень разносторонними, вскоре ты обнаружишь, что тебе нужно выйти за пределы их возможностей, чтобы реализовать свои собственные особенности геймплея. Unity позволяет тебе создавать свои компоненты, используя скрипты. Они позволяют активировать игровые события, изменять параметры компонентов, и отвечать на действия Игрока каким тебе угодно способом.

Unity поддерживает следующие языки программирования: C# и Javascript. Языки C# и Javascript считаются одними из самых популярных среди программистов. На C# пишутся программы для компьютера, веб приложения, а Javascript активно используется для создания интернет-страниц. В нашем случае:

Установка среды разработки

Чтобы писать скрипты, необходим редактор кода. В комплекте с Unity идет MonoDevelop, так что его не требуется устанавливать отдельно. Другой вариант — использовать Visual Studio — мы рекомендуем ее. Сменить среду разработки можно в настройках: Edit → Preferences, а затем выбери панель External Tools.

Вывод сообщения в консоль Unity

Когда ты напишешь свой первый код и добавишь его в Unity, Unity проверит код и, если в нем нет ошибок, произойдет компиляция.

Консоль (англ. — Console) – это панель в Unity, которая отображает ошибки в коде (отображаются красным значком), предупреждения (отображается желтым значком) и позволяет выводить справочную информацию (белый значок). По умолчанию эта панель отображается в нижней части программы в закладке Console. Если эта панель не отображается на экране, то в главном меню выбери Window → Console.

Чтобы создать скрипт выбери Assets → Create → C# Script. Имя скрипта должно быть обязательно на английском и начинаться с большой буквы. Открой созданный скрипт и напиши:

Скрипт не будет работать до тех пор, пока экземпляр скрипта не будет присоединен к игровому объекту. Ты можешь прикрепить скрипт перетащив его на игровой объект в окно Иерархия или через окно Инспектор выбранного игрового объекта.

Код, который должен вызываться один раз при старте программы, ты можешь написать внутри функции Start(), как в примере выше.

Код, который должен вызываться каждый кадр, ты можешь написать внутри функции Update().

Переменные

Если ты хочешь сохранить данные (количество жизней игрока, патронов или очков опыта), то для этого используются переменные. Переменные разделяются на типы, которых существует огромное множество.

Переменная — поименованная область памяти, адрес которой можно использовать для осуществления доступа к данным и изменять значение в ходе выполнения программы. Переменные хранят в себе информацию разного типа, эти данные называют значением переменной. Для каждого типа данных есть свой тип переменной. Например:

  1. Целочисленные: int (от –2 147 483 648 до 2 147 483 647), long (от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807).
  2. Символы и строки: char (элемент в кодировке UTF-16), string (последовательность элементов в кодировке UTF-16).
  3. С плавающей запятой (дробные): float (от 1,5 × 10–45 до 3,4 × 1038, с точностью до 7 цифр), double (от 5,0 × 10–324 до 1,7 × 10308, с точностью до 15 цифр).
  4. Логические: bool (значение true или false).

Инициализация переменной

Все переменные в C# должны быть объявлены (инициализированы) до их применения. Например:

Задать значение переменной можно, в частности, с помощью оператора присваивания — знак «=». Кроме того, при объявлении переменной можно сразу задать ее значение. Например:

Переменные численных типов можно складывать, вычитать, умножать и делить:

+ — операция сложения;

— операция вычитания;

* — операция умножения;

/ — операция деления.

А вот так сумму чисел можно вывести в консоль:

Счетчик времени с помощью Time.deltaTime

Практически во всех играх требуется знать сколько времени прошло с момента запуска игры (пример: игры на время). Но в Unity мы можем узнать только сколько прошло времени между кадрами (напоминаю, что игра – это набор кадров, которые быстро меняются. В одну секунду количество таких кадров может достигать 60 и больше).

Чтобы узнать сколько времени прошло между кадрами — используется Time.deltaTime.

Чтобы сделать дробное число целым, ставим перед ним (int).

Позиция объекта

Координаты объекта хранятся в компоненте Transform, свойство — position. Каждая координата имеет тип float. Вот так можно выводить координаты объекта в консоль:

Консольная игра на C# «Лабиринт» на платформе Microsoft Visual Studio

Консольная игра на C# «Лабиринт» на платформе Microsoft Visual Studio

Игра «Лабиринт» сделана с помощью консоли в Microsoft Visual Studio. Есть уровень чтобы его пройти надо найти ключ от главной двери. Желтый ключ от желтой двери и т.д. Благодаря простоте кода если будет желание можно сделать еще уровни но уже с другой растоновкой стен и т.д. Например(при наступлении на главную дверь сделать переход на новый уровень) Существует возможность добавления разных элементов например: ключи, двери. Также можно изменять размер самого лабиринта тем самым сделать его более сложным. Ведь чем больше размер лабиринта тем больше всяких элементов мы можем туда добавить.

Мы начинаем играть за синего жучка которому надо выбраться из лабиринта через фиолетовую дверь. Но для этого нам надо сначала взять фиолетовый ключ. А чтобы взять фиолетовый ключ нам надо натыкнуться на желтый ключ открыть им желтую дверь а затем взять фиолетовый ключ и выбраться из лабиринта через последнюю дверцу.(Можно менять цвета всех элементов. ) (Можно менять вид самих элементов например вместо жучка можно поставить «+» и т.д.

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих
Type Name Latest commit message Commit time
Failed to load latest commit information.