Навигация
· XNA FAQ
· С чего начать
· Конкурсы
· Обратная связь
· XNA Блоги
Сейчас на сайте
· Гостей: 1

· Пользователей: 0

· Всего пользователей: 3,684
· Новый пользователь: headron
Последние фото
Эх, чуть не проспал закрытие.
Эх, чуть не проспал ...
Альбом: XNA Engine

GB
GB
Альбом: XNA Engine

South Park Coon & Friends
South Park Coon & Fr...
Альбом: XNA Games

Блоги
yavshoke
» XboxOne - интерес...
dampirik
» Push уведомления ...
dampirik
» Реклама,статистик...
Chort
» XNA и StartCoroutine
Chort
» Curve Class
dampirik
» Реклама, статисти...
dampirik
» Увеличение скорос...
dampirik
» Реклама, статисти...
general
» Распаковка DxtCom...
general
» Как работать с XN...
Поддержка
microsoft.com
1gb.ru - Дом для вашего сайта
Статистика посещений:

Просмотр темы
 Распечатать тему
Морской бой
kreviuz
#1 Распечатать сообщение
Опубликовано 28.09.2011 22:31:05
Новичок


Сообщений: 6
Зарегистрирован: 22.09.11

Помогите плиз, не могу придумать куда всунуть инфу о кораблях, массив-поле уже имеется, хотел еще куда-то записать положение всех кораблей. Есть вариант сделать массив под каждый вид кораблей, но тогда создается проблема вызова массивов и операций над ними(много их), или вариант одного массива на все, но часть элементов будет незаполнено, как быть?
Заранее спасибо.
 
AngelTMB38
#2 Распечатать сообщение
Опубликовано 28.09.2011 23:23:23
Специалист


Сообщений: 178
Зарегистрирован: 01.06.10

Создай класс, например Ship. В нем опиши все параметры: тип корабля (однопалубный, двухпалубный и т.д.), позиция и т.п. Далее создай список List<Ship> и записывай в него нужное количество кораблей с параметрами. А далее работаешь с этим списком. Я вижу такое решение.
 
beaver
#3 Распечатать сообщение
Опубликовано 29.09.2011 00:25:20
Аватар пользователя

Администратор


Сообщений: 1772
Зарегистрирован: 22.02.09

Улучшайзер к посту AngelTMB38:
в классе корабля можно хранить не тип и позицию, а ячейки-координаты из существующего массива-поля. И тогда проще будет обрабатывать стрельбу.
 
kreviuz
#4 Распечатать сообщение
Опубликовано 29.09.2011 18:14:56
Новичок


Сообщений: 6
Зарегистрирован: 22.09.11

beaver
Т.е. как набор ссылок сделать? Покажите пожалуйста хотя б схематично как это все в коде будет смотреться, а то я нахимичу еще))
Изменил(а) kreviuz, 29.09.2011 18:18:14
 
Bandit
#5 Распечатать сообщение
Опубликовано 29.09.2011 20:45:42
Специалист


Сообщений: 188
Зарегистрирован: 18.02.09

Grin хихи kreviuz ...

Химичь ... Программирование оно такое ... пока не нахимичишь, не поймешь, как работает ...
Изменил(а) Bandit, 29.09.2011 20:48:45
Последнее творение -> XNA на WPF
 
kreviuz
#6 Распечатать сообщение
Опубликовано 29.09.2011 21:13:31
Новичок


Сообщений: 6
Зарегистрирован: 22.09.11

Bandit
Злые вы)) Ладно, сузим круг вопросов, можно ли в C# сделать аналог int* a=&b, перерыл уже много литературы, там показывают только как через функцию зафигачить, типа void blablabla(ref int a) ... , но когда пытаюсь впихнуть куда то еще, вижла сильно ругается. Или я таки подхожу к c sharp по Си-плюсному?))
Изменил(а) kreviuz, 29.09.2011 21:26:08
 
kreviuz
#7 Распечатать сообщение
Опубликовано 29.09.2011 21:41:11
Новичок


Сообщений: 6
Зарегистрирован: 22.09.11

Отбой, это все чертов unsafe ругался))
 
Chort
#8 Распечатать сообщение
Опубликовано 29.09.2011 21:46:12
Аватар пользователя

Администратор


Сообщений: 1296
Зарегистрирован: 16.02.09

kreviuz написал:
Или я таки подхожу к c sharp по Си-плюсному?))

+1, куда ты в unsafe забрел...

P.S. как вариант (псевдокод)

Загрузить источник  GeSHi: C#
  1.  
  2. class ShipPart
  3. {
  4. bool damaged
  5. Ship ship;
  6. }
  7.  
  8. class Ship
  9. {
  10. public ShipPart[] parts;
  11.  
  12. public Ship(int size)
  13. {
  14. parts = new ShipPart[size];
  15. for(int i = 0; i < size; i ++)
  16. {
  17. parts[i]= new ShipPart();
  18. parts[i].ship = this;
  19. }
  20. }
  21.  
  22. public bool IsDead()
  23. {
  24. for(int i = 0; i < parts.length; i ++)
  25. if(parts[i].damaged == false)
  26. return false;
  27.  
  28. return true;
  29. }
  30. }
  31.  
  32. class GameField
  33. {
  34. ShipPart[,] map;
  35. public GameField(int size) { map = new ShipPart[size, size]; }
  36.  
  37. public void AddShip( Ship ship, int x, int y, bool horizontal)
  38. {
  39. for(int i = 0; i < ship.parts.length; i ++)
  40. if(horizontal)
  41. map[x + i, y] = ship.parts[i];
  42. else
  43. map[x, y + i] = ship.parts[i];
  44. }
  45. }
  46.  
Добавлено за 0.009 секунд, используя GeSHi 1.0.8.2

Изменил(а) Chort, 29.09.2011 21:57:14
На вопросы отвечаю с головы. Ссылка на ответы или запускаю студию только в интересных случаях.
 
Bandit
#9 Распечатать сообщение
Опубликовано 29.09.2011 21:56:25
Специалист


Сообщений: 188
Зарегистрирован: 18.02.09

kreviuz - добро пожаловать в будущее ... В c# все что касается объекта все ссылочное ...

int[][] pole = ...

public class Ship{

public string name;
public Vector2 position;

}

Ship lodka = new Ship();
Ship kreser = new Ship();

lodka.position = new Vector2(3,2);/// позиции ячейки в твоем двумерном масиве
kreser.position = new Vector2(6,2);

Черт читер... мой вариант компактней )))
Изменил(а) Bandit, 29.09.2011 22:00:36
Последнее творение -> XNA на WPF
 
Bandit
#10 Распечатать сообщение
Опубликовано 29.09.2011 21:58:35
Специалист


Сообщений: 188
Зарегистрирован: 18.02.09

На указатели в с# забей ... они там в качестве декораций ... (для связи с native c++)
Последнее творение -> XNA на WPF
 
kreviuz
#11 Распечатать сообщение
Опубликовано 30.09.2011 00:15:26
Новичок


Сообщений: 6
Зарегистрирован: 22.09.11

Спасибо всем, уже впилил в код)
 
Перейти на форум:
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Мини-чат
Вы должны авторизироваться, чтобы добавить сообщение.

27.08.2014
Я умею немного на asp.net + html и css

22.08.2014
на ASP mvc 3 есть пару проектов. Могу помочь, если нужно. Обидно, если закроется Frown

21.08.2014
я тоже ноль

21.08.2014
Я в вебе только с php занимался да и то на уровне чтоб работало.

21.08.2014
Я в вебе полный ноль…

21.08.2014
Переводить его надо, хоть на ту же азуру. И двиг менять на что-то современное. Если есть веб-разрабы - можем скооперироваться. Один делать не буду.

21.08.2014
не знаю всех нюансов по оплате и все хорошее когда нибудь заканчивается

21.08.2014
А что случилось?

21.08.2014
похоже сайт будет работать до 28го числа

09.08.2014
Апи пока не видел. Но есть приложение в магазине Live Lock Screen BETA, так что думаю скоро будет

08.08.2014
Я про API для Update1. На нем работает это

08.08.2014
А что именно нужно? Чтото и сейчас открыто http://msdn.micro.
...105).aspx

06.08.2014
Кто-нибудь слышал об открытии доступа к Lock Screen Api?

31.07.2014
VPDExpress на базе MVS 2012, ни в какую не ловит исключения. Даже если их сам создаешь. И всех так?

25.07.2014
С днем системного администратора причастных к этой профессии! По случаю - тортик от жены

RSS каналы сайта
XNA - Новости
XNA - Статьи
XNA - Форум
XNA - Галерея
XNA - Файлы
Время загрузки: 0,29 секунд 8,710,780 уникальных посетителей