| 
	
		
		
			| Создание сетки и заполнения её цифрами |  |  |  | 
| DeveloperGame | Дата: Понедельник, 17 Сентября 2018, 22:14 | Сообщение # 1 |  | частый гость Сейчас нет на сайте | Как на unity 4.5.0f6. создать сетку и заполнить цифрами типа судоку? Вот массив из цифр который надо заполнить. Это на javascript пример, только мне нужно на C#.
 
 Код arr = [0,2,0,4,0,0,0,0,0,4,5,6,7,0,9,1,2,0,7,8,0,0,0,0,0,0,0,0,0,0,5,0,7,0,0,0,0,0,7,8,9,0,2,0,4,0,0,0,2,3,4,0,6,7,3,0,0,0,0,0,0,0,0,6,0,0,0,1,2,0,0,5,0,0,0,0,4,0,6,0,0];
 
В итоге вот, что должно получится в заполненной сетке
 0,2,0,4,0,0,0,0,0,
 4,5,6,7,0,9,1,2,0,
 7,8,0,0,0,0,0,0,0,
 0,0,0,5,0,7,0,0,0,
 0,0,7,8,9,0,2,0,4,
 0,0,0,2,3,4,0,6,7,
 3,0,0,0,0,0,0,0,0,
 6,0,0,0,1,2,0,0,5,
 0,0,0,0,4,0,6,0,0
 
 Developer online game
 
 
 Сообщение отредактировал DeveloperGame - Понедельник, 17 Сентября 2018, 22:15 |  |  |  |  |  | 
| DivES | Дата: Понедельник, 17 Сентября 2018, 23:49 | Сообщение # 2 |  |   заслуженный участник Сейчас нет на сайте | DeveloperGame, так вопрос, собственно, в чём? Как создать массив? Или как отобразить это на экране? Я бы предпочёл двумерный массив для представления таблицы чисел:
 
 Код int array[9][9] = {{0, 2, 0, 4, 0, 0, 0, 0, 0}, {4, 5, 6, 7... и так далее}};(это пример на C++, но насколько я знаю, именно этот аспект в этих двух языках в принципе одинаков)
 Конечно, для игры нужно будет каждый раз генерировать различные числа. Тут нужно будет разработать алгоритм со всеми необходимыми проверками (нет одинаковых чисел в строке/столбце/квадрате 3*3).
 По поводу отображения - должны быть какие-то базовые функции для отрисовки линий (сетка создаётся с помощью двух циклов) или же целых таблиц.
   
 
 Сообщение отредактировал DivES - Понедельник, 17 Сентября 2018, 23:50 |  |  |  |  |  | 
| ArtemS | Дата: Вторник, 18 Сентября 2018, 06:05 | Сообщение # 3 |  |   почетный гость Сейчас нет на сайте | DeveloperGame, попробуй воспользоваться компонентом Grid, это таблицы, мне кажется с помощью нихъ что-то можно придумать. 
 хуяк, хуяк и в продакшн
 |  |  |  |  |  | 
| DeveloperGame | Дата: Вторник, 18 Сентября 2018, 13:24 | Сообщение # 4 |  | частый гость Сейчас нет на сайте | Не думал, что начертить какую-то сетку будет столько проблем, информации об этом вообще нет. Создание супер-пупер 3d, с элементами rpg весь интернет завален. Вообщем у меня проблема не чертит? 
 Код using UnityEngine;
 using System.Collections;
 
 public class Grid : MonoBehaviour {
 public int xSize = 5;
 public int ySize = 5;
 private Vector3 initialPos;
 
 void Start () {
 CreateGrid ();
 }
 
 void CreateGrid(){
 
 for (int i = 0; i < ySize; i++) {
 for(int j = 0; j <= xSize; j++){
 
 Debug.DrawLine(new Vector3(-100000.0f, Mathf.Floor(i/30)*30,0.0f),
 new Vector3(100000.0f, Mathf.Floor(i/30)*30,0.0f));
 Debug.DrawLine(new Vector3(Mathf.Floor(j/30)*30,-1000000.0f,0.0f),
 new Vector3(Mathf.Floor(j/30)*30, 1000000.0f,0.0f));
 
 }
 }
 }
 
 // Update is called once per frame
 void Update () {
 
 }
 }
 
 Developer online game
 |  |  |  |  |  | 
| drcrack | Дата: Вторник, 18 Сентября 2018, 15:00 | Сообщение # 5 |  | старожил Сейчас нет на сайте | Цитата  Не думал, что начертить какую-то сетку будет столько проблемПроблема тут только одна — никто не хочет за тебя код писать бесплатно
  
 Debug.DrawLine надо передать еще один параметр — сколько времени будет показываться линия, у тебя он по дефолту 0, а это значит что только 1 кадр
 
 
 Сообщение отредактировал drcrack - Вторник, 18 Сентября 2018, 15:02 |  |  |  |  |  | 
| Dron | Дата: Вторник, 18 Сентября 2018, 17:26 | Сообщение # 6 |  |   почетный гость Сейчас нет на сайте | Цитата DeveloperGame (  )  В итоге вот, что должно получится в заполненной сетке0,2,0,4,0,0,0,0,0,
 4,5,6,7,0,9,1,2,0,
 7,8,0,0,0,0,0,0,0,
 0,0,0,5,0,7,0,0,0,
 0,0,7,8,9,0,2,0,4,
 0,0,0,2,3,4,0,6,7,
 3,0,0,0,0,0,0,0,0,
 6,0,0,0,1,2,0,0,5,
 0,0,0,0,4,0,6,0,0
 
 
 Поставленную проблему можно решить следующим образом code C#:
 
 Код using System;
 
 public class Program
 {
 public static void Main()
 {
 
 int[][] data = new int[9][];
 data[0] = new int[] { 0, 2, 0, 4, 0, 0, 0, 0, 0 };
 data[1] = new int[] { 4, 5, 6, 7, 0, 9, 1, 2, 0 };
 data[2] = new int[] { 7, 8, 0, 0, 0, 0, 0, 0, 0 };
 data[3] = new int[] { 0, 0, 0, 5, 0, 7, 0, 0, 0 };
 data[4] = new int[] { 0, 0, 7, 8, 9, 0, 2, 0, 4 };
 data[5] = new int[] { 0, 0, 0, 2, 3, 4, 0, 6, 7 };
 data[6] = new int[] { 3, 0, 0, 0, 0, 0, 0, 0, 0 };
 data[7] = new int[] { 6, 0, 0, 0, 1, 2, 0, 0, 5 };
 data[8] = new int[] { 0, 0, 0, 0, 4, 0, 6, 0, 0 };
 
 for (int r = 0; r < 9; ++r)  {
 for (int c = 0; c < 9; ++c)  {
 if (data[r][c] == 0)
 Console.Write(" _");
 else
 Console.Write(" " + data[r][c]);
 }
 Console.WriteLine("");
 }
 }
 }
 
Посмотреть в действии: https://dotnetfiddle.net/68OOW7
 
 
 Сообщение отредактировал Dron - Вторник, 18 Сентября 2018, 17:30 |  |  |  |  |  | 
| drcrack | Дата: Вторник, 18 Сентября 2018, 18:39 | Сообщение # 7 |  | старожил Сейчас нет на сайте | Зачем ты ему выводишь сетку в консоль?  :D |  |  |  |  |  | 
| DeveloperGame | Дата: Вторник, 18 Сентября 2018, 22:00 | Сообщение # 8 |  | частый гость Сейчас нет на сайте | Цитата  Зачем ты ему выводишь сетку в консоль?    :D Не знаю, вы мне скажите, зачем? Я С# почти не знаю из всех примеров вывести линии для сетке в гугле мне показали только Debug.DrawLine.
 
 Developer online game
 |  |  |  |  |  | 
| Dron | Дата: Вторник, 18 Сентября 2018, 22:19 | Сообщение # 9 |  |   почетный гость Сейчас нет на сайте | Да уж. Я показал принцип который вам нужен. Или вы считаете что я обязан сразу полностью вам написать код? Интересно. Могу облегчить ваши потуги. Здесь можете посмотреть как реализован код для судоку, и основные приемы применить у себя.
 |  |  |  |  |  | 
| DeveloperGame | Дата: Среда, 19 Сентября 2018, 00:00 | Сообщение # 10 |  | частый гость Сейчас нет на сайте | Dron, да нет необязательно писать за меня код, просто я его ещё не тестировал, завтра протестирую. 
 Developer online game
 |  |  |  |  |  | 
| drcrack | Дата: Среда, 19 Сентября 2018, 00:51 | Сообщение # 11 |  | старожил Сейчас нет на сайте | Я же ответил тебе почему твои DrawLine не работают |  |  |  |  |  
 |