Пятница, 29 Марта 2024, 18:20

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Форум игроделов » Записи участника » TreinDSM [117]
Результаты поиска
TreinDSMДата: Суббота, 17 Ноября 2012, 19:54 | Сообщение # 61 | Тема: Помогите с выбором ЯП
почетный гость
Сейчас нет на сайте
Что-то все говорят про Lua... Народ, на нем можно игры с нуля делать или он в привязке к чужим движкам идет, только чтобы заскриптовать реализованную в движке логику?
TreinDSMДата: Четверг, 15 Ноября 2012, 20:55 | Сообщение # 62 | Тема: ограничение программы с помощью ключа c# (вопросы)
почетный гость
Сейчас нет на сайте
Если все взаимодействие будет внутри программы происходить, то ключей все одно ограниченное кол-во будет. А уникальные ключи - только при поддержке сервака.
TreinDSMДата: Четверг, 15 Ноября 2012, 20:50 | Сообщение # 63 | Тема: ограничение программы с помощью ключа c# (вопросы)
почетный гость
Сейчас нет на сайте
Если ключ не обязан быть быть уникальным для каждого пользователя, а Вы, в свою, очередь не опасаетесь того, что кто-то может залезть во внутреннюю реализацию, то можно просто зашить в приложение n-ое кол-во ключей и их же выдавать пользователям. А в программе просто сравнивать безо всяких преобразований.

Если ключ, опять же, не обязан быть уникальным, но Вы опасаетесь декомпиляции, то можно использовать асимметричные алгоритмы шифрования. Пользователю предоставляется секретный ключ, который он вводит при активации программы. Этот ключ используется, чтобы "подписать" определенную Вами последовательность. В программе с помощью открытого ключа происходит вычисление прообраза. Данный прообраз сравнивается с определенной Вами последовательностью. Если он совпадает, то ключ - верный.

Если же нужно обеспечить уникальность ключа для каждого клиента, то нужно налаживать взаимодействие с удаленным ресурсом, где будут храниться какие-нибудь идентификационные данные пользователя и его ключ.
TreinDSMДата: Четверг, 15 Ноября 2012, 20:25 | Сообщение # 64 | Тема: ограничение программы с помощью ключа c# (вопросы)
почетный гость
Сейчас нет на сайте
Тут многое упирается в то, как Вы собираетесь распространять ключи.
TreinDSMДата: Среда, 14 Ноября 2012, 20:15 | Сообщение # 65 | Тема: Зациклить создание Массива
почетный гость
Сейчас нет на сайте
danone,
Я бы завел отдельный класс под константы типов зданий, чтобы все возможные значения хранились в одном месте. Как то так:
Code

class BuildingTypes
{
public static const CASTLE:Strint = "castle";
public static const HOME:String = "home";
//
public function BuildingTypes()
{
throw new IllegialOperationError("Класс является статическим!!!")
}  

Потом бы использовал эти константы при парсинге xml. Если отталкиваться от уже озвученного варианта, но с учетом другого того, что type - String:
Code

var list:Vector.<IBuildingModel> = new Vector.<IBuildingModel>()
for each(var item:XML in xml.building)
{
var type:int = parseInt(item.attribute("type"));
var model:IBuildingModel;
switch(type)
{
case BuildingTypes.CASTLE:
model = new Castle();        // Нужная модель под тип castle
break;

case BuildingTypes.HOME:
model = new Home();        // Нужная модель под тип home
break;
}
model.init(item);
list.push(model);
}  

Оператор switch может принимать не только int. В case нужно указывать различные варианты того, чему может быть равен передаваемый в switch параметр. Если type является int, то можно использовать 0,1,3,-5 и т.д. Если String, то любые строки. Естественно можно использовать параметры и иных типов.

По поводу значение image. Если данный параметр является общим для всех моделей здания, то можно добавить в интерфейс зданий следующий метод:
Code
function get image():String;


В классах, которые расширяют данный интерфейс нужно реализовать данный метод. Ниже приведен упрощенный пример:
Code

class Castle implements IBuildingModel
{
private var _title:String;
private var _type:String;
private var _image:String;

public function Castle()
{

}

public function init(xml:XML):void
{
_title = xml.attribute("title");
_type= xml.attribute("type");
_image= xml.attribute("image");
}

public function get type():String
{
return(_type);
}

public function get title():String
{
return(_title);
}

public function get image():String     // Реализуем геттер для обращения к свойству image
{
return(_image);
}
}  

Тогда свойство image можно вытащить при обращению к объекту, как к представителю IBuildingModel.
Если свойство image является уникальным для какой-то конкретной модели (например, в Castle оно есть, а в Home нет), тогда его нет нужды выводить в общий интерфейс, оно будет частным свойством модели Castle. К нему можно будет обратиться так:
Code

function someMethod(building:IBuildingModel):void
{
if(building is Castle)
{
var castle:Castle = building as Castle;
var image:String = castle.image;
}
}

Если подытожить, то могу посоветовать вынести все общие свойства в общий интерфейс моделей зданий. А для обращения к частным свойствам использовать приведение к типу аля как в методе someMethod.

Добавлено (14.11.2012, 20:15)
---------------------------------------------
Скопировал старый листинг и не посмотрел. Если type является String, то считать его из xml нужно так:

Code
var type:String = item.attribute("type");
TreinDSMДата: Вторник, 13 Ноября 2012, 09:52 | Сообщение # 66 | Тема: Помогите с выбором, пожалуйста)
почетный гость
Сейчас нет на сайте
Ну Basic простым считается. Только какой с того профит?

По утверждению Эдсгера Де́йкстры:
Quote
Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации


Так это или нет я не знаю - особенно бейсиком не занимался.
TreinDSMДата: Понедельник, 12 Ноября 2012, 21:55 | Сообщение # 67 | Тема: Помогите с выбором, пожалуйста)
почетный гость
Сейчас нет на сайте
Создание игр, тоже понятие весьма растяжимое. Сервера для игр писать это одно, а клиентскую часть - это совсем другое.
Да и если брать клиентскую часть, то вариаций тьма.
Так, можно изучить AS3 и писать игры под браузеры и мобильные устройства. Java плюс, скажем, Android SDK позволит писать под устройства под управлением Android. С помощью Objective-C можно охватить ios. На C# можно писать под Windows Phone, десктопы с виндой и XBOX. Ну а уж C++ в том или ином виде позволяет ваять практически подо все.
Среди перечисленных языков C++, Objective-C традиционно считаются более сложными. Java, C#, AS3 - весьма похожи и ведут себя дружелюбнее.
TreinDSMДата: Понедельник, 12 Ноября 2012, 21:32 | Сообщение # 68 | Тема: Помогите с выбором, пожалуйста)
почетный гость
Сейчас нет на сайте
Для программиста выбирать язык по простоте осваивания, все одно что для переводчика выбирать язык по простоте изучения. Проще всего изучить оказалось зимбабвийский, а работать хотел в Японии.

Нужно все-таки определиться, чем именно хочется заниматься, а потом определять, что для этого нужно.

Quote
я учил много языков программирования, но не один не смог довести до конца


Печальный знак. Не ждите, что кто-нибудь отвесит волшебный пендель и сразу проснется трудолюбие и упорство. Если сам себя не заставишь - никто не заставит.
TreinDSMДата: Воскресенье, 11 Ноября 2012, 10:40 | Сообщение # 69 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,
Quote

я готов в лится в проект

Готовы влиться в проект - это значит, готовы самостоятельно участвовать в его технической разработке. Однако написать клиентскую часть Вы не можете, сервер тоже. Моделировать Вы не умеете, дизайном тоже не занимаетесь. И как мы уже обсудили, написание сценариев явно не для Вас.
По всему выходит, что влиться в проект (которого к слову вообще нет) Вы не можете.

Еще раз повторюсь, изучите какой-нибудь из аспектов игростроя, наберитесь хотя бы небольшого опыта в плане технической реализации игры.
Не уподобляйтесь всем этим странным личностям, которые время от времени всплывают на gcup, чьи заявления сводятся к: "я ничего не знаю и не умею, сделайте мне игру просто так".
Иначе все это будет как в крайне смешной переписке девочки и программиста:
http://gcup.ru/forum/20-27670-1
TreinDSMДата: Суббота, 10 Ноября 2012, 23:17 | Сообщение # 70 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,

Если говорить откровенно, то все это выглядит достаточно нелепо.
Когда человек собирает команду, он либо готов платить ей (команда подчиненных), и тогда от него не требуется непосредственное участие в техническом процессе разработки. Либо он готов стать частью этой команды (команда соратников) и самостоятельно тащить какой-нибудь из аспектов проекта.

Вы платить не готовы, технически впрячься в проект Вы тоже не можете. Получается, что толку от Вас в команде нет.

Если Вы так хотите заниматься разработкой игр, то я бы настоятельно рекомендовал Вам не собирать команду, которая прекрасно обойдется и без Вас, а изучить какой-либо из аспектов игростроя. Может программирование, может моделирование, может дизайн, может даже написание тех самых пресловутых сценариев - это тоже немаловажный момент. Все это требует определенных знаний, навыков, а главное опыта.


Сообщение отредактировал TreinDSM - Суббота, 10 Ноября 2012, 23:18
TreinDSMДата: Суббота, 10 Ноября 2012, 23:03 | Сообщение # 71 | Тема: Deck Ruler [ККИ] [Android]
почетный гость
Сейчас нет на сайте
Denisokdeeennn,
Удачи Вам!
Я, по правде говоря, не сторонник всяческих мэйкеров и прочих конструкторов игр, но вообще проект выглядит достаточно симпатично, с душой.


Сообщение отредактировал TreinDSM - Суббота, 10 Ноября 2012, 23:03
TreinDSMДата: Суббота, 10 Ноября 2012, 22:57 | Сообщение # 72 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,
Пожалуйста, не пишите сценарии. Если судить по тому, как Вы пишите здесь - ничего путного не выйдет. Я без всякого сарказма и абсолютно искренне рекомендовал бы серьезнее относиться к русскому языку.

Я спрашивал не про платформу, на которую Вы нацелились. Я интересовался, готовы ли Вы, как организатор команды, взять на себя затраты по предоставлению сотрудникам оборудования, программного обеспечения и т.д. и т.п. Или это все они должны иметь свое?
TreinDSMДата: Суббота, 10 Ноября 2012, 22:42 | Сообщение # 73 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,
Зачем Вам команда нужна - это понятно, чтобы сделать игру.

А зачем нужны команде Вы? Вы предоставите площадку для разработки? Серверные мощности? Оборудование? ПО?
В чем будет заключаться Ваш вклад? Вы будете писать сценарий? Продумывать диалоги, персонажей? Может программировать? Моделировать?
TreinDSMДата: Суббота, 10 Ноября 2012, 22:31 | Сообщение # 74 | Тема: Deck Ruler [ККИ] [Android]
почетный гость
Сейчас нет на сайте
Denisokdeeennn,
Может тогда на берсерк ориентироваться? Т.е. воспринимать карты не как карты, а как юнитов со своими характеристиками на игровом поле?
TreinDSMДата: Суббота, 10 Ноября 2012, 22:19 | Сообщение # 75 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,
Белье вот неглаженное лежит - тоже что ли кому предложить добровольную работу...

А Вы то что собираетесь делать в "Вашей" команде?
TreinDSMДата: Суббота, 10 Ноября 2012, 22:12 | Сообщение # 76 | Тема: Deck Ruler [ККИ] [Android]
почетный гость
Сейчас нет на сайте
Denisokdeeennn,
Если правила игры как в Аркомаге, то в чем смысл деления на расы и продажи карт в магазине? Насколько я помню Аркомаг - игроки получают карты из общей колоды. Любая карта может достаться любому игроку... Разве нет?
TreinDSMДата: Суббота, 10 Ноября 2012, 22:06 | Сообщение # 77 | Тема: ElementsArts
почетный гость
Сейчас нет на сайте
Elementalarts,
Создаете свою команду - просто чудесно...

И что Вы готовы предложить Вашим будущим сотрудникам? Какая зп? Какие условия труда?
TreinDSMДата: Пятница, 09 Ноября 2012, 21:50 | Сообщение # 78 | Тема: Управление мышью - стены, остановка движения.
почетный гость
Сейчас нет на сайте
Всегда пожалуйста smile
TreinDSMДата: Пятница, 09 Ноября 2012, 21:18 | Сообщение # 79 | Тема: Управление мышью - стены, остановка движения.
почетный гость
Сейчас нет на сайте
B@rney,

Если отталкиваться от твоего кода, то можно попробовать вот так:
Code

import com.greensock.*;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.geom.Point;

var wallz:Rectangle = wall.getBounds(this);
var wallzData = new BitmapData(wallz.width, wallz.height, true, 0);
wallzData.draw(wall);
   
var fishz:Rectangle = fish.getBounds(this);
var fishzData = new BitmapData(fishz.width, fishz.height, true, 0);
fishzData.draw(fish);

var old:Point = new Point(fish.x, fish.y);

fish.addEventListener(MouseEvent.MOUSE_DOWN, onDown);

this.addEventListener(Event.ENTER_FRAME, enterFrameListener);

function enterFrameListener(e:Event):void
{
  if(wallzData.hitTest(new Point(wall.x, wall.y),
                    255,
                    fishzData,
                    new Point(fish.x, fish.y),
                    255
   
                           ))
     {
   fish.x = old.x;
   fish.y = old.y;
   TweenMax.killTweensOf(fish);
  }
  else
  {
   old.x = fish.x;
   old.y = fish.y;
  }
}

function onDown(e:MouseEvent):void
{
  stage.addEventListener(MouseEvent.MOUSE_UP, onUp);
  stage.addEventListener(MouseEvent.MOUSE_MOVE, update);
}

function update(e:Event):void
{
  TweenMax.to(fish, 2 ,{x :mouseX, y: mouseY});
}

function onUp(e:MouseEvent):void
{
  stage.removeEventListener(MouseEvent.MOUSE_UP, onUp);
  stage.removeEventListener(MouseEvent.MOUSE_MOVE, update);
}
TreinDSMДата: Пятница, 09 Ноября 2012, 20:44 | Сообщение # 80 | Тема: Управление мышью - стены, остановка движения.
почетный гость
Сейчас нет на сайте
B@rney,
У меня CS5. Под меньшую версию можно пересохранить?
Форум игроделов » Записи участника » TreinDSM [117]
  • Страница 4 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг