Re: Хочу зібрати команду для створення проектів на движку unity3d.
В функції Updata() неповино бути аргументів.
Ну то чого ви виклали код, де в функції Update є аргументи?
Є і упрощоний варіант:
Ви думаєте, що цей код кращий?
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Робота → Пропоную роботу → Хочу зібрати команду для створення проектів на движку unity3d.
Для відправлення відповіді ви повинні увійти або зареєструватися
В функції Updata() неповино бути аргументів.
Ну то чого ви виклали код, де в функції Update є аргументи?
Є і упрощоний варіант:
Ви думаєте, що цей код кращий?
quez написав:Але ж код справді не працює. Зробив я такий самий метод Update, розраховуючи на те, що вміст методу просто не буде виконуватись. Unity ж дає помилку:
Script error (gun): Update() can not take parameters.
Якщо ТС хоче знайти людей в команду, то йому варто б викласти робочий скрипт. І свій, тому що пан Ярмоленко постійно пише Updata і наводить на думку, що він не писав навіть це.
В функції Updata() неповино бути аргументів.
Є і упрощоний варіант:
using UnityEngine;
using System.Collections;public class ai : MonoBehaviour
{
public Transform[] waypoint = new Transform[5];//кординати обєктів до яких буде ходить НПС
Transform _target;
NavMeshAgent _agent;void Start()
{
_agent = (NavMeshAgent)this.GetComponent("NavMeshAgent");//присваюємо компонент NavMeshAgent
}void Update()
{
bool patryl = true;
do
{
_target=waypoint[Random.Range(1, waypoint.Length)];//случайно вибираємо до якого обєкта буде іти нпс
_agent.SetDestination(_target.transform.position);//змушуємо нпс іти до нашого обєкта
} while (patryl == false);
}
}
це якийсь дуже крутий код, не можете пояснити, навіщо тут потрібне те, що виділене жирним?
Щас воно непотрібне.
Але в майбутньом коли я продовжу писати код то воно пригодиться.
Щас воно непотрібне.
Але в майбутньом коли я продовжу писати код то воно пригодиться.
ого, Ви так гарно володієте довгостроковою перспективою
Короче хвате фігньою страдать, хто хоче в команду то пишіть а хто не то ідіть ***.
я не наздоганяю, навіщо та команда вам, якщо у вас такий низький рівень знань + ви звичайний амбітний школяр, навіть якщо ви знайдете ще такого ж школяра, то толку з того буде мало. Але якщо у вас будуть питання щодо unity, то я вам можу з тим допомогти
Ось прімер гри хрестики нолики написані з нуля.
C++
/////////////////////////////////////////////
///////////////Хрестики-Нулики///////////////
/////////////////////////////////////////////
#include <stdafx.h> //бібліотеки( .ddl)
#include <conio.h>
#include <iostream>
#include <random>
#include <time.h>
using namespace std;
char name1[30]; //масів типа char на 30 символив який хранить имя ігрока /
char name2[30] = "Противник"; //тойже масіва тільки для імені протівника /
char table[3][3]; //ігрове поле(двухмерний масів типа char 3х3 який буде хранить номера ячейок и хрестики з ноликами /
bool step; //логичеська перемена як буде оприділять чий ход( true - ходе ігрок, false - ходе противник /Це публічні перемени або ще як називають глобальні
void instruction() // функція вивода інструкції(void - це функції які не возращають результат), функція недописана і робе каряво (можна пропустить її)
{
cout << "\t\tХрестики-Нуликиn\n\n";
int l = 0;
for(int i(0); i < 3; i++)
{
for(int j(0); j < 3; j++)
{
cout << '| ' << l+i << ' ';
table[i][j] = char(49+l);
l++;
}
cout << '|';
cout << endl;
}
cout << "\nДля ходу натиснить цифру клитинки поля\n";
cout << "Для початку гри натиснить:";
_getch();
}
bool win() //логічиська функція яка провіря хто виграв
{
for(int i(0); i < 3; i++) // цикол for виповняеться поки і менше 3, з кажним виповнинум циклі і збьльшуеться на один
if((table[i][0] == table[i][1]) && (table[i][0] == table[i][2])) // проверка чи вкогось совпало по вертикалі, якщо совпало то функция завершаеться з результатом true
return true;
else
if((table[0][i] == table[1][i]) && (table[0][i] == table[2][i])) // проверка по горизонталі
return true;
else
if((table[0][0] == table[1][1]) && (table[0][0] == table[2][2]) || (table[0][2] == table[1][1] && (table[0][2] == table[2][0]))) // проверка по діагоналях
return true;
return false; // якщо неде не совпало то функція завершаеться з результатом false
}
bool input() // функція вода даних
{
srand(time(0)); //функція рандома з бібліотек random і time.h
int n; // приватна перемена інтежер
for(int i(0); i < 3; i++) // вивод матрици char table[3][3], її вигляд | 1 | 2 | 3 |
{ // | 4 | 5 | 6 |
for(int j(0); j < 3; j++) // | 7 | 8 | 9 |
{
cout << "| " << table[i][j] << ' ';
}
cout << '|';
cout << endl;
}
cout << endl;
if(!step) // step - false, ходе протівник
{
cout << "Ходить " << name2 << " : ";
n = (rand() % 9); // рандовне присвоеня n чисел від 0 до 9
}
else // step - true, ходе ігрок
{
cout << "Ходить " << name1 << " : ";
cin >> n;
}
if(n < 1 || n > 9) //проверка на правильность вода
return false; //завершення функції з результатом false
int i,j;
if(n%3 == 0) //шукаем індекси матріци ****** індекси мариці | 0 1 | 0 2 | 0 3 |
{ // | 1 1 | 1 2 | 1 3 |
i = n/3-1; // | 2 1 | 2 3 | 2 4 | їх і шукаем(% - це ділення з остатком)
j = 2;
}
else
{
j = n%3-1;
i = n/3;
}
if(table[i][j] == 'O' || table[i][j] == 'X') // проверка чи раня неходили в певну ячейку
return false;
if(step)
{
table[i][j] = 'X'; // ходе ігрок, і ячейкі в яку він походив присваюеться його знак "Х"
step = false; // даеться право ходить противнику
}
else
{
table[i][j] = 'O'; // // ходе противник, і ячейкі в яку він походив присваюеться його знак "О";
step =true; // даеться право ходить ігракові
}
return true; // функція завершилась з результатом true
}
int main()
{
char y;
int i = 0; // приватні перемени
setlocale(LC_ALL , "Ukrainian");
do // цикол ду длячого він написано ниже
{
instruction(); //визиваем функцію instruction()
system("cls");//після виконання функції instruction() очищаем екран
cout << "Ведить им'я: ";
cin.getline(name1,30); //водим імя
while(!win()) // цикол while який виконуеться поки фунція win() = false
{
if(i == 9)
{
system("cls");//очищаем екран
cout << "Ничия!";
_getch();
return -1;
} // щочикб коли зробили більше 9 ходов а win() = false то оголошуеться нечіяб програма продовжиться з моменту else cout << "Перемиг " << name1 << endl;
system("cls");//очищаем екран
if( !input() )//провіряем чи функція input() = false, якщо ровна то починаеться заново поки небуде ture тоесть якийсь ігрок не веде правильні дані
{
cout << "Ви вели невернее дани, повторить вод!";
_getch();
}
}
system("cls");//очищаем екран
if(step)
cout << "Перемиг " << name2 << endl;// якщо step = ture перевміг противник
else cout << "Перемиг " << name1 << endl;// якщо false = ture перевміг ігрок
cout << endl;
cout << "Продовжить гру(y/n)? ";
cin >> y; //вибор заново грать чи не
if(y == 'y')// якщо перемена у равна символу у то очищаем екран
system("cls");
else// якщо перемена у не равна символу у то завершаем програму
{
_getch();
return 0;
}
}while(y == 'y');//якщо перемена у равна символу у то цикол do починаеться заново разом з програмой
}
//-------------------------------------------------------------------------------------------------------------------------------//
Pascal
program X_O;
uses crt;
var
name1: array[1..30]of char;
name2: string;
table :array[0..3,0..3]of char;
step,inpute,wine: boolean;
stepRan: integer;
//--------------------------------------------------------------------------------------- Функція вода даних
function input() : boolean;
var
n,i,j,one,tr:integer;
begin
randomize;
one:= 1;
tr:= 3;
for i:=1 to 3 do
begin
for j :=1 to 3 do
write('|', table[i,j], ' '); //table[i,j] :=random(3);
write('|');
Writeln;
end;
{for i:=1 to 3 do
begin
for j:=1 to 3 do
write(table[i,j],' ');
Writeln;
end;}
Writeln;
if step = false then
begin
write('Ходить ', name2, ' : ');
n := random(9);
write(n);
end else begin
write('Ходить ', name1, ' : ');
readln(n);
end;
if n < 0 then begin
inpute := false;
Exit;
end else if n > 10 then begin
inpute := false;
Exit;
end;
if n mod 3 = 0 then
begin
i := n div 3-1; //tr-one;
j := 2;
end else begin
j := n mod 3-1;
i := n div 3;
end;
if table[i][j] = 'O' then begin
inpute := false;
Exit;
end else if table[i][j] = 'X' then begin
inpute := false;
Exit;
end;
if step = true then begin
table[i][j] := 'X';
step := false;
end else begin
table[i][j] := 'O';
step := true;
inpute := true;
Exit;
end;
end;
//---------------------------------------------------------------------------------------
function win() : boolean; //00 01 02
var //10 11 12
i: integer; //20 21 22
begin
for i:=0 to 3 do begin
if (table[i,0] = table[i,1]) and (table[i,0] = table[i,2]) then begin
wine := true;
Exit;
end else if (table[0,i] = table[1,i]) and (table[0,i] = table[2,i]) then begin
wine := true;
Exit;
end else if (table[0,0] = table[1,1]) and (table[0,0] = table[2,2]) then begin
wine := true;
Exit;
end else if (table[0,2] = table[1,1]) and (table[0,2] = table[2,0]) then begin
wine := true;
Exit;
end;
wine := false;
end;
end;
//---------------------------------------------------------------------------------------
begin
randomize;
name2 := 'Противник';
stepRan := random(1);
if stepRan = 0 then step := false else if stepRan = 1 then step := true;
input();
win();
repeat
while wine = false do begin
ClrScr;
if inpute = false then begin
Writeln('Ви вели невернее дани, повторіть вод!');
end;
end;
input();
win();
until wine = true;
end.
Також тут реалізований штучний інтелект
Мабуть ви вже не школяр, але маєте знання на рівні, не ображайтесь. Ми схвалюємо ваше нестримне бажання працювати, але збирати команду вам ще зарано. Спробуйте принаймні влаштуватися на роботу в якості юніті кодера, коли підтягнете своє знання цього середовища.
Я працював з багатьма редакторами: unity3d, x-ray sdk 0.7, x-ray 0.4, creatio kit(якщо непомиляюсь з названієм). Хоча малі ну є навики роботи в 3d max, фотошоп. Також можу з любой гри витягнуть 3d модель.
я не наздоганяю, навіщо та команда вам, якщо у вас такий низький рівень знань + ви звичайний амбітний школяр, навіть якщо ви знайдете ще такого ж школяра, то толку з того буде мало. Але якщо у вас будуть питання щодо unity, то я вам можу з тим допомогти
Скажи мені, щоб змусило тебе змінити свою думку?
FakiNyan написав:я не наздоганяю, навіщо та команда вам, якщо у вас такий низький рівень знань + ви звичайний амбітний школяр, навіть якщо ви знайдете ще такого ж школяра, то толку з того буде мало. Але якщо у вас будуть питання щодо unity, то я вам можу з тим допомогти
Скажи мені, щоб змусило тебе змінити свою думку?
ну от шоб ти ще пожив років 2, і весь цей час займався юніті, і ще щоб українською почав розмовляти краще, то було б норм
Ну два роки це немало.
Для відправлення відповіді ви повинні увійти або зареєструватися