dir.by  
  Поиск  
Программирование, разработка, тестирование
Разработка игр | для телефонов на Unity, MonoGame | для браузера Google Chrome на JavaScript, HTML | рисуем графику
Моя игра "Animal Go". Технологии: C#, MonoGame, Windows, Android, iOS
Моя игра "Animal Go". Как играть. Описание | Игра написана на C# используя MonoGame (запускается на платформах: Windows, Android, iOS)
  Посмотрели 5111 раз(а)    
 Моя игра "Animal Go". Как играть. Описание | Игра написана на C# используя MonoGame (запускается на платформах: Windows, Android, iOS) 
последнее обновление: 22 сентября 2023
Цель игры: Не дать пройти противнику.
Как играть: Нужно ставить героев на игровое поле.
Скачиваем мой C# код с github.com
Windows
Android
iOS
Моя философия написания игры на C#
1) Я пишу код на C# (игру) и потом через какое-то время смотрю C# код в этой игре и вижу что что-то не логично.

2) А можно представить что 2-ой программист смотрит C# код моей игры и не все понимает, то есть что-то не логично написано.

1-ый и 2-ой пункты означают что моя c# программа (игра) плохо написана и классы очень сильно завязаны на другие классы.

В результате:
• чтобы поменять логику игры приходится мудрить
• чтобы добавить новую функционалность (нового героя в игре) приходится писать много кода и программа сильно усложняется

Я игру переписывал несколько раз и если вижу что что-то не логично (пункт 1 и пункт 2) то переписываю еще раз.

Программа написана ИДЕАЛЬНО это значит:
• без проблем добавляем новые объекты в c# программу (с небольшим и понятным C# кодом) то есть программа легко расширяется
c# игру могут писать 2 человека и c# кода становится больше, программа понятная
• важно чтобы c# игру можно было легко переписать на другой язык програмирования например на Java
Структура игры (файлы)
При написании игры получается много C# классов.
Для каждого C# класса создаю свой .cs файл
D:\MyGit\MyGame_AnimalGo_MonoGameCSharp
        Android
                Activity1.cs
        iOS
                Program.cs
        Windows
                Program.cs
        GameLogic

                Game1.cs

                MyGame
                        ImageType.cs
                        MyGame.cs
                        MyGraphic.cs
                        MySettings.cs
                        MyTexture2D.cs
                        MyTexture2DAnimation.cs
                        interfaces
                                IMyGraphic.cs
                                IMyTexture2D.cs
                                MyColor.cs
                                MyPoint.cs
                                MyPointF.cs
                                MyRectangle.cs
                                MySize.cs

                MyLevels
                        MyLevel.cs
                        MyLevelIntro.cs
                        interfaces
                                IMyLevel.cs

                MyUnits
                        AnimPictureDieByTime_Template.cs
                        BackgroundSquad_Template.cs
                        Fire_Morkovka.cs
                        Fire_Template.cs
                        Trajectory_Template.cs
                        Unit_DogGo.cs
                        Unit_EnemyBird1.cs
                        Unit_EnemyPauk.cs
                        Unit_EnemyZmeia.cs
                        Unit_KrolikStayAndFire.cs
                        Unit_Template_FireOnDistanceIfSeeEnemyUnit.cs
                        Unit_Template_StopAndHitIfNearOtherUnit.cs
                        UnitWillAppear_Template.cs

                        interfaces
                                IAnimPictureDieByTime.cs
                                IAnimPictureDieByTime.cs
                                IFire.cs
                                ITrajectory.cs
                                IUnit.cs
                                IUnitWillAppear.cs
Логика игры написана как библиотека и использется для разных платформ один и тот же код
Вся логика и рисование игры написано в библиотеке GameLogic.
 
Проект Android использует GameLogic библиотеку.
 
Проект iOS использует GameLogic библиотеку.
 
Проект Windows использует GameLogic библиотеку.
 
← Предыдущая тема
Habr рассказ "Сетевая игра Танки на HTML, JavaScript" (nodejs, socket.io для сети, библиотека PixiJs для графики)
 
Следующая тема →
Как я пишу игру "Animal Go" на компьютере Windows. Компилирую получаю exe файл и запускаю | C#, MonoGame
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Моя разработка игр на HTML, Javascript, Typescript
Пишем игру используя HTML, JavaScript, TypeScript в Visual Studio Code. Я создал несколько ts файлов. Поэтому использую Webpack (собирает все файлы в один js)
Анимация человечка на месте. Используем HTML элемент <div>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
Анимация человечка в движении (sprite). Используем HTML элементы <div>, <img>. Для анимации используем CSS стили: "animation", "background-image", "background-position", "keyframes"
Моя игра "Wizard World" | HTML, JavaScript
Habr рассказ "Сетевая игра на HTML, CSS и JavaScript" (nodejs, socket.io для сети, HTML canvas для графики, игровые карты в js задаются)
Habr рассказ "Сетевая игра Танки на HTML, JavaScript" (nodejs, socket.io для сети, библиотека PixiJs для графики)
Моя игра "Animal Go". Технологии: C#, MonoGame, Windows, Android, iOS
Моя игра "Animal Go". Как играть. Описание | Игра написана на C# используя MonoGame (запускается на платформах: Windows, Android, iOS)
Как я пишу игру "Animal Go" на компьютере Windows. Компилирую получаю exe файл и запускаю | C#, MonoGame
Как компилировать и запускать игру "Animal Go" на телефоне или в режиме эмулятора Android на компьютере (Windows) | C#, MonoGame
Как компилировать и запускать игру "Animal Go" для системы iOS | C#, MonoGame
Создание графики, анимации для 2D игры
Какую рисовать картинку для 2D игры: растровую картинку png по точкам или векторную картинку svg по линиям?
2D анимация для игры

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика