forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Готовые проекты сообщества boolean (http://forum.boolean.name/forumdisplay.php?f=140)
-   -   РобоКот (http://forum.boolean.name/showthread.php?t=14085)

moka 24.02.2011 13:59

Ответ: РобоКот
 
Цитата:

Сообщение от Костян (Сообщение 180340)
а вы попробуйте в NOTERPAD++ в ТАКОМ написать.

Не вижу никаких проблем. Всегда использовал удобства с регистром. Что если у тебя есть переменная name, и функция Name? Без учёта регистра, будет ошибка компиляции.

RegIon 24.02.2011 14:12

Ответ: РобоКот
 
Обычно компилятор сразу забивает компилировать...Одинаковые названия...Всегда так у мя было..Ладно..Но для постоянных функций его можно общим сделать...для того же MEOW()

RegIon 24.02.2011 14:18

Ответ: РобоКот
 
Код:

Initialize(2,255,125,0,"Supper bot")
SetSpeed(2)

if SCANNED==1 or scanned==2 or E_COLLIDE==1 then
MEOW()
GetInfo()
if EN_HP<HP then
MoveForward()
MEOW()
else
MEOW()
MoveForward()
if HP<15 then
MoveBackward()
MEOW()
end
end
else
MoveForward()
Turn(45)
end

ожу примитивный код моего бота...с Angle так и на разобрался..косячно он не глобальный..кстати..он победил раз пять подряд всех стандартных ботов..бывала ничья.

Reizel 24.02.2011 16:02

Ответ: РобоКот
 
Офигенно!!! Шедеврально!!!
Бэлиссимо!!!!
Батон, супер!!!
Скочал, посмотрел, понравилось. Идея хороша. Поле давайте побольше, скроллинг, несколько видов оружия уничтожения вражеских кораблей, возможность их прокачки за деньги, которые будут рандомно падать с небес(мечта жизни :))
Возможность таскать до 4-х пушек одновременно. Настраиваемый внешний вид. Возможность ремонтить корабль. Ждеееем!!!! Гранаты, мины, растяжки!!! Дым, огонь, мясоссо!!!! Батон, вперед!!!

Reizel 24.02.2011 16:14

Ответ: РобоКот
 
А еще чтоб ENEMY можно было выбирать, самому выбирать угол ходьбы и угол стрельбы.

2)Массивы поддерживаются LUA?? если да, то кул. Имеем в массиве всех видимых ботов (которые в поле зрения и недалеко)

moka 24.02.2011 17:37

Ответ: РобоКот
 
Что-то у меня перед обедом потянуло на мысли, РобоКот побудил :)
Кратно типо такого:
Код:

Vector2 {
  int x
  int y
}

Object {
  Vector2 location
  int angle (RotationView)
  Vector2 targetMove
  Vector2 targetView
  int health
  int healthMax
}

TypeObject {
  Enemy
}

self - ссылка на свой объект.

(readonly) vector2 Object.Location
(readonly) int Object.RotationMove - возвращает угол направления движения, может быть null
(readonly) int Object.RotationView - возвращает угол направления прицеливания
(readonly) float Object.Speed - возвращает скорость перемещения

(readonly) Object.Health
(readonly) Object.MaxHealth

(get/set) Object.TargetMove(Vector2 / int x, int y) - точка цели назначения движения, может быть null

(get/set) Object.TargetView(Vector2 / int x, int y) - точка на которую смотрит, может быть null

(readonly) Object.InView(Object / Vector2 / int x, int y) - проверяет если объект в радиусе видения, возвращает от 0 до 1 (на сколько виден). 0 если выходит за радиус видиния. 1 если смотрит прямо на объект.

(readonly) Object.ClosestObjects(TypeObject,distance=100,limit=0) - возвращает список ближних объектов по типу, менее указанного растояния, сортируя от самого ближнего до самого дальнего, и ограничивая длину списка (0 - не ограничено). Список может быть пустым.

Это то что было бы доступно из скрипта, ещё нужно конечно математики побольше, работа с векторами и т.п. Было бы круто в виде обучающего приложения :)
Ранний набросок..

Reizel 24.02.2011 17:43

Ответ: РобоКот
 
Вложений: 1
хех, багу выловил

baton4ik 24.02.2011 20:40

Ответ: РобоКот
 
Цитата:

Сообщение от Костян (Сообщение 180314)
Ну например:переменую сколько ботов осталось,Бонусы в код(супер мяу, пополнение жизни),ПОДДЕРЖКУ РУССКОГО..желательно..Дебигер кода..а то написал в Noterpad++,а не раница, и не могу найти ошибку..
поддержкой обоих регистров букв(а то если написал MEOW() kak meow() не работает)
БАГИ::
когда несколько мрут,нет победителя(уже говорили)..поставь счётчик ударов на каждого..а потом и выбирай победителя (из тех кто помер вместе) по нему.
бывает баг, когда рандомный генератор ставит котов друг на друга...быстро мрут..так, как считается коллизия..

А какие ещё можно функции LUA использовать..

Переменная с количеством живых котов - хорошая идея. Богусы усложнят геймплей, тут они лишние. Программировать на русском? Да ещё и в обучающей игре? Извольте!
Про регистры уже написал МоКа.
Про котов друг на друге знаю, баг не страшный, так что задача не из приоритетных.

Цитата:

Сообщение от Павел (Сообщение 180386)
хех, багу выловил

Интересно, когда возникает?

Цитата:

Сообщение от Костян (Сообщение 180345)
Код:

Initialize(2,255,125,0,"Supper bot")
SetSpeed(2)

if SCANNED==1 or scanned==2 or E_COLLIDE==1 then
MEOW()
GetInfo()
if EN_HP<HP then
MoveForward()
MEOW()
else
MEOW()
MoveForward()
if HP<15 then
MoveBackward()
MEOW()
end
end
else
MoveForward()
Turn(45)
end

ожу примитивный код моего бота...с Angle так и на разобрался..косячно он не глобальный..кстати..он победил раз пять подряд всех стандартных ботов..бывала ничья.

scanned==2 - ошибка. Смени регистр.
Не знаю, что у тебя за проблема с Angle, глянь моих котов. В wall_bot'e, например, Angle используется.
Да, твой кот действительно побеждает, поздравляю! :)

Цитата:

Сообщение от Павел (Сообщение 180370)
Офигенно!!! Шедеврально!!!
Бэлиссимо!!!!
Батон, супер!!!
Скочал, посмотрел, понравилось. Идея хороша. Поле давайте побольше, скроллинг, несколько видов оружия уничтожения вражеских кораблей, возможность их прокачки за деньги, которые будут рандомно падать с небес(мечта жизни :))
Возможность таскать до 4-х пушек одновременно. Настраиваемый внешний вид. Возможность ремонтить корабль. Ждеееем!!!! Гранаты, мины, растяжки!!! Дым, огонь, мясоссо!!!! Батон, вперед!!!

Спасибо за отзыв! Идеи интересны, но, как я писал выше, они усложнят геймплей, а я не уверен, что усложнение уместно.

moka 24.02.2011 21:19

Ответ: РобоКот
 
Визуальный редактор как уже упоминалось всё решит ;)

RegIon 25.02.2011 12:32

Ответ: РобоКот
 
Цитата:

Программировать на русском?
Русский шрифт...а то руские слова не отображает..которые пишешь Text.
Надо бы ешё с помошью GetInfo() возращать дистанцию..как до бота. так и до стены...

RegIon 25.02.2011 12:33

Ответ: РобоКот
 
Цитата:

хех, багу выловил
твой баг...не проги..у мя работает

Кстати...стреляет неправильно..Не по лучу...КривоватоВложение 12804

И надо в настройки добавить цвет Текста над ботом..и "на старт,Внимание,марш"...типо такого..Чтоб не сразу стартовали..

baton4ik 25.02.2011 14:22

Ответ: РобоКот
 
Смысл задержки перед стартом? Не ты ведь ботом управляешь. Цвет текста - можно, если займусь улучшением и не забуду, сделаю.
Да, стреляют немного неточно. Только тсс, я всем говорю, что это фича.
Возвращение дистанции - тоже хорошая идея.
А русский не нужен. Да и тут я ничего сделать не могу, это интерпретатор не переваривает русский.

RegIon 26.02.2011 12:07

Ответ: РобоКот
 
Цитата:

Смысл задержки перед стартом? Не ты ведь ботом управляешь.
нет, типо...расставил ботов..и на задержку...чтоб своего найти можно было, и самому осенить ситуацию...а то сразу..могут и завалить..
Цитата:

А русский не нужен. Да и тут я ничего сделать не могу, это интерпретатор не переваривает русский.
Ето как...Сам Lua интерпретатор.....иль BlitzMax

baton4ik 26.02.2011 12:26

Ответ: РобоКот
 
В bm я русский шрифт, как ты можешь видеть, установил. Но русские надписи не выводятся. Значит, они "портятся" при обработке интерпретатором.

RegIon 26.02.2011 12:45

Ответ: РобоКот
 
а еси Chr(256)..так прокатит

RBK 26.02.2011 13:13

Ответ: РобоКот
 
Цитата:

Сообщение от Костян (Сообщение 180528)
Надо бы ешё с помошью GetInfo() возращать дистанцию..как до бота. так и до стены...

До бота возможно, до стены лучше не надо, иначе какой смысл было делать ущерб от стен на разных скоростях.

RegIon 26.02.2011 13:51

Ответ: РобоКот
 
Цитата:

разных скоростях.
Так скорастай не так и много...аш 2 (хотельсь бы хоть 3)....А так бы хоть примерную координату бот знал..

RBK 26.02.2011 14:24

Ответ: РобоКот
 
Столкнулся с границей, установи переменную, и считай положение бота во время движения.
Две скорости чтобы выбор был: найти границу быстро, но с ущербом или медленно, но безопасно.

RegIon 26.02.2011 15:06

Ответ: РобоКот
 
Цитата:

Столкнулся с границей, установи переменную, и считай положение бота во время движения.
Две скорости чтобы выбор был: найти границу быстро, но с ущербом или медленно, но безопасно.
Там время...а,ну можно условные единицы..

RegIon 26.02.2011 16:35

Ответ: РобоКот
 
а кстати...как на Lua из кода символ вернуть......google.ru не помог..

baton4ik 26.02.2011 19:22

Ответ: РобоКот
 
Цитата:

Сообщение от Костян (Сообщение 180697)
Там время...а,ну можно условные единицы..

Если я понял о чём ты, то тут проблем нету. Каждый кот обновляется раз в кадр, скорость - пиксель/кадр, соответственно ты можешь легко считать сколько пикселей и за сколько времени ты прошёл.

RegIon 27.02.2011 10:42

Ответ: РобоКот
 
Цитата:

Если я понял о чём ты, то тут проблем нету. Каждый кот обновляется раз в кадр, скорость - пиксель/кадр, соответственно ты можешь легко считать сколько пикселей и за сколько времени ты прошёл.
Уже дошло.....


Часовой пояс GMT +4, время: 15:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot