Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   www.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 08.11.2013, 19:47   #1
Uawi
Оператор ЭВМ
 
Регистрация: 08.11.2013
Сообщений: 39
Написано одно полезное сообщение
Создание текстовой генерации

Цель - создать текстовую генерацию из блока "_|", в котором будет стоять случайна цифра от 1 до 4.
Пример:
_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|
_|_|2|_|_|_|3|_|_|_|
_|_|_|_|1|_|_|_|_|_|
_|_|_|_|_|_|4|_|_|_|
_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|
_|_|_|_|_|_|_|_|_|_|

* Вместо "_" случайная цифра.
___________________________

Получается, что надо создать циклом в текстовом поле вот такую сгенерированную поверхность. Предположим N - случайное число, тогда цикл генерирует это: N|N|N| и вниз также. То есть двумерный массив.

Не получается создать генерацию, помогите пожалуйста.
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 20:02   #2
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,098
Написано 478 полезных сообщений
(для 1,827 пользователей)
Ответ: Создание текстовой генерации

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
	System.Random randGen;
	int[,] data;
	int width = 128;
	
	// Use this for initialization
	void Start () {
	randGen = new System.Random(100500);
		data = new int[width,width];
			for(int i=0; i<width; i++){
				for(int j=0; j<width; j++){
				data[i,j] = randGen.Next(0,4);
			}}
		Debug.Log(data[10,15]);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}
не оно?
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 20:05   #3
Uawi
Оператор ЭВМ
 
Регистрация: 08.11.2013
Сообщений: 39
Написано одно полезное сообщение
Ответ: Создание текстовой генерации

Сообщение от dsd Посмотреть сообщение
using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {
	System.Random randGen;
	int[,] data;
	int width = 128;
	
	// Use this for initialization
	void Start () {
	randGen = new System.Random(100500);
		data = new int[width,width];
			for(int i=0; i<width; i++){
				for(int j=0; j<width; j++){
				data[i,j] = randGen.Next(0,4);
			}}
		Debug.Log(data[10,15]);
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}
не оно?
Похоже что оно, только вот я этот код на паскале написал(владею многими языками), а вот сделать это отображение в Label?
program p1;
var 
  
bxinteger;
begin
  
for := 0 to 9 do
    
begin
      b 
:= random (4) + 1;
        for 
:= 0 to 9 do 
          
begin
            b 
:= random (4) + 1;
            
write (b'|');
          
end;
      
writeln (b'|');
    
end;
end
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 20:33   #4
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,098
Написано 478 полезных сообщений
(для 1,827 пользователей)
Ответ: Создание текстовой генерации


скачал тп, работает ведь.

Если не секрет зачем тп в юнити?
Миниатюры
Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 206
Размер:	37.5 Кб
ID:	19864  
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 20:42   #5
Uawi
Оператор ЭВМ
 
Регистрация: 08.11.2013
Сообщений: 39
Написано одно полезное сообщение
Ответ: Создание текстовой генерации

Сообщение от dsd Посмотреть сообщение

скачал тп, работает ведь.

Если не секрет зачем тп в юнити?
Ну так для идейки одной.
Вот это не работает, даже не запускает:
using UnityEngine;
using System.Collections;

public class RandomGrid : MonoBehaviour {
	
	public int n = 0;
	
	void Start () {
		for (int i = 0; i < 10; i++) {
			n = Random.Range (1, 4);
			for (int j = 0; i < 10; j++) {
				n = Random.Range (1, 4);
				Debug.Log(n.ToString() + '|');	
			}
			Debug.Log(n.ToString() + '|' + '\n');
		}
	}
}
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 20:51   #6
dsd
Мастер
 
Аватар для dsd
 
Регистрация: 12.06.2011
Сообщений: 1,098
Написано 478 полезных сообщений
(для 1,827 пользователей)
Ответ: Создание текстовой генерации

Сообщение от Uawi Посмотреть сообщение
Ну так для идейки одной.
Вот это не работает, даже не запускает:
using UnityEngine;
using System.Collections;

public class RandomGrid : MonoBehaviour {
	
	public int n = 0;
	
	void Start () {
		for (int i = 0; i < 10; i++) {
			n = Random.Range (1, 4);
			for (int j = 0; i < 10; j++) {
				n = Random.Range (1, 4);
				Debug.Log(n.ToString() + '|');	
			}
			Debug.Log(n.ToString() + '|' + '\n');
		}
	}
}
ошибка однако
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 21:25   #7
Uawi
Оператор ЭВМ
 
Регистрация: 08.11.2013
Сообщений: 39
Написано одно полезное сообщение
Ответ: Создание текстовой генерации

Сообщение от dsd Посмотреть сообщение
ошибка однако
ай ай ай... По рукам мне, точно.
(Offline)
 
Ответить с цитированием
Старый 08.11.2013, 21:32   #8
Uawi
Оператор ЭВМ
 
Регистрация: 08.11.2013
Сообщений: 39
Написано одно полезное сообщение
Ответ: Создание текстовой генерации

А вы еще спрашивали, зачем... Тут пришла идея)) планирую сделать так, что в каждом ряду от 1 до 3 ячеек были пустые и надо будет поставить то число, которого меньше.
Такая небольшая логическая игра, которую я напишу на юнити с визуальной настройкой, там будет своя фишка))) и в паскале со своей визуальной настройкой, а еще может и на пхп)))

Или сложить все числа строки и поделить на количество чисел, а остаток записать
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +1, время: 14:10.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com