Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Gespenst260
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 6
1

Массив для игры

17.09.2017, 08:37. Просмотров 175. Ответов 11
Метки нет (Все метки)

Всем привет. Занялся работой над игрой. А именно над пазлами и уперся в проблему, на которую не смог найти пока ответа. Для работами с элементами картинки нужен массив, к каждому числу которого будет привязан объект(часть картинки).
Решить нужно 3 проблемы: как привязать объект к числу, сделать рандом без повторений, и что бы следующая часть массива открывалась только тогда когда, предыдущая будет расставлена по своим местам (пример что бы открыть часть 9-18, нужно собрать часть 1-9), а также что бы фрагмент мозайки выводился в указанном месте. Надеюсь поможете в этой проблеме. На данный момент уже сделано меню и заготовка под игровое поле.
Тут пример разбивки картинки на части, которые будут объектами для привязки.
0
Миниатюры
Массив для игры  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.09.2017, 08:37
Ответы с готовыми решениями:

Сформировать массив, представляющий собой поле для игры в «Пятнашки»
Надо сформировать массив, представляющий собой поле для игры в «Пятнашки»....

Баскетбол. Для каждой игры определить словесный результат игры (выигрыш или проигрыш)
В одном массиве записано количество мячей, заброшенных баскетбольной командой в...

Сформируйте массив, представляющий собой поле игры в «Крестики-нолики»
Сформируйте массив , представляющий собой поле игры в «Крестики-нолики».Поле...

ИИ для 2D игры
Требовалось понять, не мешают ли стены (элементы world != 2) одному персонажу...

Мультиплеер для игры
Здравствуйте. На днях написал простенькую игрушку и сейчас приспичило сделать...

11
LazySlacker
89 / 73 / 31
Регистрация: 29.08.2017
Сообщений: 188
17.09.2017, 09:32 2
Если для Вас это проблемы - Вам рано делать игры. Поделайте задания какие-нибудь. С этого сайта или из книг уровня "C# для чайников".
0
Gespenst260
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 6
17.09.2017, 09:36  [ТС] 3
Ну на что-то такое я и рассчитывал.
0
Usaga
Эксперт .NET
5106 / 3445 / 611
Регистрация: 21.01.2016
Сообщений: 13,603
Завершенные тесты: 2
17.09.2017, 09:54 4
Gespenst260, на самом деле, если бы не слово «пазл» и скриншот, то понят что вам нужно из такого описания нет никакой возможности.

Если вы уже знаете, что вам нужен массив хранящий фрагменты картинки, то что вам мешает начать это реализовывать?
0
Gespenst260
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 6
17.09.2017, 10:14  [ТС] 5
Проблема в том что я не знаю с какой стороны подойти. И стоит ли вообще, может другой способ есть, как сделать тоже самое, но с меньшим геммором

Добавлено через 12 минут
Есть конечно мысль писать для каждого фрагмента картинки отдельный массив, и к нему привязывать каждый объект
0
Usaga
Эксперт .NET
5106 / 3445 / 611
Регистрация: 21.01.2016
Сообщений: 13,603
Завершенные тесты: 2
17.09.2017, 10:56 6
Gespenst260, создайте двухмерный массив содержащий ссылки на класс описывающий фрагмент рисунка и собственно сам рисунок. От этого дальше и пляшите.
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
17.09.2017, 11:04 7
вот когда то делал для С++ правда, но тоже на WinForms
C++
1
2
3
4
5
6
7
8
public ref class Cell//класс ячейки
{
    public:
    Bitmap^ Pic;//картинка ячейки
    int Pos,Turn;//номер ячейки в массиве и номер поворота ячейки 0-3
    bool Left;//ячейка в левом или правом массиве
    bool Set;//установлена ли картинка в ячейке
...................
ну и 2 массива этих ячеек
0
Usaga
Эксперт .NET
5106 / 3445 / 611
Регистрация: 21.01.2016
Сообщений: 13,603
Завершенные тесты: 2
17.09.2017, 11:10 8
MansMI, почему два массива?
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
17.09.2017, 11:18 9
2 поля, на одном вперемешку, на другое выкладываешь
0
LazySlacker
89 / 73 / 31
Регистрация: 29.08.2017
Сообщений: 188
17.09.2017, 11:21 10
Единственный четкий запрос, который я увидел - это рандом без повторений, т.е. перемешивание. Зачем привязывать объекты к числу - непонятно. Можно оперировать самими объектами, как таковыми. Разбить игровое поле на части можно разными способами, по ситуации.

C#
1
2
3
4
5
6
7
8
9
10
11
using System;
using System.Linq;
 
class Program
{
    public static void Main()
    {
        Random rnd = new Random();
        Console.WriteLine("Перемешанная строка, например".OrderBy(_ => rnd.NextDouble()).ToArray());
    }
}
0
Gespenst260
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 6
17.09.2017, 12:21  [ТС] 11
MansMI, то есть здесь надо сначала выставить картинку, потом пронумеровать ее части?
0
MansMI
1448 / 1157 / 549
Регистрация: 08.01.2012
Сообщений: 4,509
17.09.2017, 12:32 12
разбить исходную на части, помнить ее реальный номер и вперемешку заполнить массив частей
0
17.09.2017, 12:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.09.2017, 12:32

ИИ для игры в покер
Здравствуйте. Подскажите, насколько реально и сложно написать ИИ бота для игры...

Бот для игры
rus-wars.ru нужно написать бот для этой игры, она на php, используя c#

Сервер для игры на C#
Всем привет! Хочу написать сервер для своей игры по типу ММО, в этой теме не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru