Avatar vs Modern Warfare 2

O mercado de jogos eletrônicos cresceu muito nos últimos anos, principalmente pela expansão de seu público-alvo. Segundo dados do NPD Group, órgão de pesquisa de mercado dos Estados Unidos, de 1999 a 2009 a indústria de jogos eletrônicos teve aumento de vendas superior a 400%. Para se ter ideia, no mesmo período, a indústria cinematográfica cresceu 32%.

A revista online Business Management divulgou uma comparação entre o filme Avatar e o jogo Modern Warfare 2.
Até agora, o filme, a segunda bilheteria da história, já faturou mais de US$ 1,37 bilhão (quase R$ 2,5 bilhões), enquanto o jogo conseguiu US$ 1 bilhão (cerca de R$ 1,7 bilhão). O maior faturamento da indústria dos games é do Guitar Hero III, que atingiu a marca de US$ 2 bilhões (R$ 3,5 bilhões).

Avatar vs Modern Warfare

Games Top 10 Junho/2010

O NPD Group liberou os rankings de venda de consoles e jogos nos EUA, com base em pesquisas realizadas em todas as distribuidoras do país durante todo o mês de junho.

Consoles

1. Nintendo DS / Lite / DSi / XL – 510.700
2. Xbox 360 – 451.700
3. Wii – 422.500
4. PlayStation 3 – 304.800
5. PSP / Go – 121.000

Jogos

1. [360]Red Dead Redemption – 582.600
2. [Wii]Super Mario Galaxy 2 – 548.400
3. [PS3]Red Red Redemption – 380.300
4. [Wii]New Super Mario Bros. Wii – 200.900
5. [Wii]Just Dance – 174.800
6. [Wii]Wii Fit Plus
7. [DS]Toy Story 3 (DS)
8. [360]UFC 2010: Undisputed
9. [Wii]LEGO Harry Potter: Years 1-4
10. [PS3]UFC 2010: Undisputed

Fonte: NPD Group

Gamutar – Troque seus jogos

O Gamutar é um aplicativo social criado para troca de jogos com seus amigos de maneira rápida, segura e principalmente confiável, nas diversas redes sociais disponíveis.

Atravéz do Gamutar você pode trocar aquele jogo “zerado” por um outro jogo e continuar com a diversão!!!

Como Funciona ?

É muito simples! Basta acessar sua rede social preferida, como o Facebook, Orkut, mySpace e acessar o Gamutar.

O primeiro passo é cadastrar seus jogos. Eles serão utilizados nas suas trocas.
Após o cadastro você poderá pesquisar jogos de seu interesse. Esta pesquisa pode ser feita em toda a sua rede social, verificando os jogos de seus amigos ou procurando jogos de outros usuários do Gamutar.

Depois que o jogo é encontrado, é possível fazer uma oferta de troca. Você tem total liberdade para isso! Ofereça outro jogo ou até mesmo um valor em dinheiro que julgue apropriado.

Ao realizar uma oferta de troca, o Gamutar envia uma mensagem para o destinatário contendo a solicitação de troca. Se a proposta for aceita, dados de contato do solicitante serão enviados para que a troca seja finalizada. Toda a negociação é tratada diretamente entre as partes. Você e seus amigos decidem como vão realizar a troca de jogos.

Com o Gamutar é possível cadastrar uma lista de desejos com todos os jogos que você tem interesse. Desta forma, o Gamutar irá avisar automaticamente quando algum usuário disponibilizar o mesmo jogo para troca.

Após finalização de uma negociação, o usuário que participou da troca pode registrar uma avaliação; oferecendo mais segurança para futuras trocas.

Para mais informações visite nosso site.
http://www.gamutar.com.br/comofunciona
http://www.gamutar.com.br/sobre

Google Json Java

Gson is a Google Open Source library to convert Java Objects into its JSON representation. Very clean and simple. 🙂

It’s my two cent for this project. I add locale option for Date format.

public GsonBuilder setDateFormat(int style,Locale locale);
public GsonBuilder setDateFormat(int dateStyle, int timeStyle, Locale locale);

Code exemple:
Gson gson = new GsonBuilder().setDateFormat(DateFormat.MEDIUM, DateFormat.SHORT,Locale.US).create();
String json = gson.toJson(Object);

Patch file:

Index: DefaultTypeAdapters.java
===================================================================
— DefaultTypeAdapters.java (revision 557)
+++ DefaultTypeAdapters.java (working copy)
@@ -254,10 +254,18 @@
DefaultDateTypeAdapter(final int style) {
this.format = DateFormat.getDateInstance(style);
}
+
+ DefaultDateTypeAdapter(final int style, final Locale aLocale) {
+ this.format = DateFormat.getDateInstance(style,aLocale);
+ }

public DefaultDateTypeAdapter(final int dateStyle, final int timeStyle) {
this.format = DateFormat.getDateTimeInstance(dateStyle, timeStyle);
}
+
+ public DefaultDateTypeAdapter(final int dateStyle, final int timeStyle, final Locale aLocale) {
+ this.format = DateFormat.getDateTimeInstance(dateStyle, timeStyle, aLocale);
+ }

// These methods need to be synchronized since JDK DateFormat classes are not thread-safe
// See issue 162
Index: GsonBuilder.java
===================================================================
— GsonBuilder.java (revision 557)
+++ GsonBuilder.java (working copy)
@@ -23,6 +23,7 @@
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
+import java.util.Locale;

import com.google.gson.DefaultTypeAdapters.DefaultDateTypeAdapter;

@@ -77,6 +78,7 @@
private String datePattern;
private int dateStyle;
private int timeStyle;
+ private Locale locale;
private boolean serializeSpecialFloatingPointValues;
private boolean escapeHtmlChars;
private boolean prettyPrinting;
@@ -108,6 +110,7 @@
serializeNulls = false;
dateStyle = DateFormat.DEFAULT;
timeStyle = DateFormat.DEFAULT;
+ locale = null;
serializeSpecialFloatingPointValues = false;
generateNonExecutableJson = false;
}
@@ -319,6 +322,28 @@
this.datePattern = null;
return this;
}
+
+ /**
+ * Configures Gson to to serialize {@code Date} objects according to the style value provided.
+ * You can call this method or {@link #setDateFormat(String)} multiple times, but only the last
+ * invocation will be used to decide the serialization format.
+ *
+ *

Note that this style value should be one of the predefined constants in the
+ * {@code DateFormat} class. See the documentation in {@link java.text.DateFormat} for more
+ * information on the valid style constants.

+ *
+ * @param style the predefined date style that date objects will be serialized/deserialized
+ * to/from
+ * @param locale the given locale
+ * @return a reference to this {@code GsonBuilder} object to fulfill the “Builder” pattern
+ * @since 1.2
+ */
+ public GsonBuilder setDateFormat(int style,Locale aLocale) {
+ this.dateStyle = style;
+ this.datePattern = null;
+ this.locale = aLocale;
+ return this;
+ }

/**
* Configures Gson to to serialize {@code Date} objects according to the style value provided.
@@ -341,8 +366,31 @@
this.datePattern = null;
return this;
}

+
/**
+ * Configures Gson to to serialize {@code Date} objects according to the style value provided.
+ * You can call this method or {@link #setDateFormat(String)} multiple times, but only the last
+ * invocation will be used to decide the serialization format.
+ *
+ *

Note that this style value should be one of the predefined constants in the
+ * {@code DateFormat} class. See the documentation in {@link java.text.DateFormat} for more
+ * information on the valid style constants.

+ *
+ * @param dateStyle the predefined date style that date objects will be serialized/deserialized
+ * to/from
+ * @param timeStyle the predefined style for the time portion of the date objects
+ * @param locale the given locale
+ * @return a reference to this {@code GsonBuilder} object to fulfill the “Builder” pattern
+ * @since
+ */
+ public GsonBuilder setDateFormat(int dateStyle, int timeStyle, Locale aLocale) {
+ this.dateStyle = dateStyle;
+ this.timeStyle = timeStyle;
+ this.datePattern = null;
+ this.locale = aLocale;
+ return this;
+ }
+ /**
* Configures Gson for custom serialization or deserialization. This method combines the
* registration of an {@link InstanceCreator}, {@link JsonSerializer}, and a
* {@link JsonDeserializer}. It is best used when a single object {@code typeAdapter} implements
@@ -527,7 +575,7 @@

ParameterizedTypeHandlerMap<JsonSerializer> customSerializers = serializers.copyOf();
ParameterizedTypeHandlerMap<JsonDeserializer> customDeserializers = deserializers.copyOf();
– addTypeAdaptersForDate(datePattern, dateStyle, timeStyle, customSerializers,
+ addTypeAdaptersForDate(datePattern, dateStyle, timeStyle, locale, customSerializers,
customDeserializers);

customSerializers.registerIfAbsent(DefaultTypeAdapters.getDefaultSerializers(
@@ -553,7 +601,7 @@
return gson;
}

– private static void addTypeAdaptersForDate(String datePattern, int dateStyle, int timeStyle,
+ private static void addTypeAdaptersForDate(String datePattern, int dateStyle, int timeStyle,Locale locale,
ParameterizedTypeHandlerMap<JsonSerializer> serializers,
ParameterizedTypeHandlerMap<JsonDeserializer> deserializers) {
if (!serializers.hasSpecificHandlerFor(Date.class)
@@ -562,10 +610,12 @@
DefaultDateTypeAdapter dateTypeAdapter = null;
if (datePattern != null && !””.equals(datePattern.trim())) {
dateTypeAdapter = new DefaultDateTypeAdapter(datePattern);
+ } else if (locale != null) {
+ dateTypeAdapter = new DefaultDateTypeAdapter(dateStyle, timeStyle,locale);
} else if (dateStyle != DateFormat.DEFAULT && timeStyle != DateFormat.DEFAULT) {
dateTypeAdapter = new DefaultDateTypeAdapter(dateStyle, timeStyle);
}

+
if (dateTypeAdapter != null) {
serializers.register(Date.class, dateTypeAdapter);
deserializers.register(Date.class, dateTypeAdapter);