Já viram qual a arte dessa semana?Exposição dos Artistas #8
14 Respostas   610 Visualizações
0 Membros e 1 Visitante estão vendo este tópico.
typedef struct info { int id, hp, mp; }INFO;
INFO info[100];
info[0].hp = 450;
// Acostume-se com os padrões: Classes possuem primeira letra maiúscula e as outras minúsculas// Nomes compostos devem seguir o padrão de primeira letra de cada palavra ser maiúscula// => Ex: GameActor, SceneManager, TileMap.// Seguindo o mesmo exemplo em Ruby no spoiler, enviar HP e MP iniciais por parâmetro:function Info (hp, mp) { // Ao contrário das linguagens OO em geral, JS considera o escopo da classe como já sendo o construtor dela this.id = gen_info_id(); this.hp = hp; this.mp = mp; // Definição de uma função membro acontece também no construtor: this.apply_damage = new function(amount) { this.hp -= amount; if this.hp < 0 { this.hp = 0; } }}// Instanciando uma nova Info:var example = new Info(450, 80);alert(example.hp); // => 450example.apply_damage(30);alert(example.hp); // => 420example.apply_damage(500);alert(example.hp); // => 0
var my_array = new Array(4);
var my_array = new Array('4');
my_array.push(new Info(100, 20));
var info = new Info(100, 20);// ...// faz algo com `info`// ...my_array.push(info);
do{y = Math.floor(Math.random() * 4 + 1);aux = 0;for(x=1; x < 3; x++){if(card[x] == y){aux = aux + 1;}}}while(aux != 0 && card[y] == '0');
cardId= new Array();
var i, x, y=1, aux;var card = new Array();$gameVariables.setValue(2, 0);for(i=1; i < 3; i++){do{y = Math.floor(Math.random() * 4 + 1);aux = 0;for(x=1; x < 3; x++){if(card[x] == y){aux = aux + 1;}}}while(aux != 0 && card[y] == '0');$gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0);$gameVariables.setValue(2, $gameVariables.value(2) + 300);card[i] = y;}
var card = new Array();
var card = [];
var i, x, y=1, aux;var card = new Array();$gameVariables.setValue(2, 0);for(i=1; i < 3; i++){ do{ y = Math.floor(Math.random() * 4 + 1); aux = 0; for(x=1; x < 3; x++){ if(card[x] == y){ aux = aux + 1; } } } while(aux != 0 && card[y] == '0'); $gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0); $gameVariables.setValue(2, $gameVariables.value(2) + 300); card[i] = y;}
for (i=1; i<3; i++) {
// Executa 2 vezes por...??for (i = 1; i < 3; i++) { do { // `y` representa...?? y = Math.floor(Math.random() * 4 + 1); // `aux` representa...?? aux = 0; // Executo 2 vezes (1..3-1 = 1..2 = 2 vezes) porque...?? for (x=1; x < 3; x++) { // Estou comparando se...?? // No caso, `card[x]` representa ?? e y representa ?? if (card[x] == y) { aux = aux + 1; } } // Precisa continuar acontecendo enquanto...?? } while (aux != 0 && card[y] == '0'); // ?? $gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0); // ?? $gameVariables.setValue(2, $gameVariables.value(2) + 300); // ?? card[i] = y;}
// Executa 2 vezes por...?? Na verdade em vez de ter 3 vai ter 6, vai executar 5 vezes para escolher 5 cartas que o jogador vai ter pa jogarfor (i = 1; i < 3; i++) { do { // `y` representa...?? Representa a carta que vai ser escolhida, em vez de 4 vai estar o total de cartas y = Math.floor(Math.random() * 4 + 1); // `aux` representa...?? aux uma variável para saber se entrou no if, se entrou ela vai aumentar seu valor, representa que o jogador já possui essa carta aux = 0; // Executo 2 vezes (1..3-1 = 1..2 = 2 vezes) porque...?? em vez de 3 será card.lenght for (x=1; x < 3; x++) { // Estou comparando se...?? Esta a comparar se a carta já está a ser mostrada // No caso, `card[x]` representa ?? e y representa ?? card[x] representa o id das cartas que já foram mostradas if (card[x] == y) { aux = aux + 1; } } // Precisa continuar acontecendo enquanto...?? na verdade é ou e não e, ele continua enquanto o aux for diferente de zero, tipo se passar no if quer dizer que essa carta já esta mostrada o == '0', deixo os arrays todos a 0, enquanto não possui carta } while (aux != 0 || card[y] == '0'); // ?? Mostra a carta no jogo $gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0); // ?? Aumenta a distancia entre as cartas $gameVariables.setValue(2, $gameVariables.value(2) + 300); // ?? define que a carta ja foi mostrada, guarda para depois comparar em cima card[i] = y;}
The indexOf() method searches the array for the specified item, and returns its position.The search will start at the specified position, or at the beginning if no start position is specified, and end the search at the end of the array.Returns -1 if the item is not found.
// Removi "i" da declaração: ela pode ser criada no escopo do for (já que só será utilizada dentro dele) ;)// Também removi "aux", já que não será mais necessária.var x, y=1;var cards = [];$gameVariables.setValue(2, 0);for (var i = 1; i < 3; i++) { do { y = Math.floor(Math.random() * 4 + 1); } while (cards.indexOf(y, 0) > -1); // Adiciona y ao fim de cards cards.push(y); $gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0); $gameVariables.setValue(2, $gameVariables.value(2) + 300);}
cards.push(y);
arr = []; // => []arr.push(5); // => [5]arr.push(10); // => [5, 10]arr.push(-1); // => [5, 10, -1]arr.push([1, 2, 3]); // => [5, 10, -1, [1, 2, 3]]arr.push('Something'); // => [5, 10, -1, [1, 2, 3], 'Something']
function riffle() { var x, y = 1; var cards = []; $gameVariables.setValue(2, 0); for (var i = 1; i < 3; i++) { do { y = Math.floor(Math.random() * 4 + 1); } while (cards.indexOf(y, 0) > -1); cards.push(y); $gameScreen.showPicture(i, cardName[y], 0, 0 + $gameVariables.value(2), 0, 70, 70, 255, 0); $gameVariables.setValue(2, $gameVariables.value(2) + 300); return cards; // < Não sei se externamente você vai precisar saber quais cartas foram "sacadas", então, se não for precisar saber, só exclua esta linha }}
riffle();