Pegadinhas

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Pegadinhas

Mensagem por PedroX em Seg 18 Fev 2013, 18:09

Mandem as respostas por MP. Ou postem aqui mesmo, mas prefiro por MP.

1 - O que causa o erro ou está errado?

Código:
var a, b, c, d, e;
a = 0;
b = 1;
c[0] = 1;
d=get_string('A ou B:', '');
if (d=='A')
e += 1;

Código:
var a b c d;
a = 0;
b = 1;
c[0] = 1;

Código:
for(i=-5 i<10 i+=1)
{
a[i] = -1;
draw_text(10, 10, 'Valor: '+string(a[i]));
}

Código:
a=0;
draw_text(x, y, a);
draw_text(x, y, a+' vidas');

2- Tipos de variáveis

Verdadeiro ou falso. Justifique sua resposta.

Create
Código:
n=1;

var n;

n=get_string('Qual é o seu nome?', '');

show_message('Bem-vindo '+n+'!');

Step
Código:
n+=1
room_caption=string('FPS: '+n);

I - O erro está no evento Create.
II - O erro está no evento Step.

Código:
globalvar c_preto;
draw_set_color(c_preto);

globalvar c_black, c_red;
draw_rectangle_color(x, y, x+10, y+10, c_black, c_red, c_blue, c_green);

I - O erro está na variável c_preto.
II - O erro está no desenho do retângulo.

3- Erros e conflitos.

Explique os 2 principais problemas do código abaixo. Nota: um pode gerar conflitos, mas o outro não é sequer um erro.
Código:
for(i=0; i<15000; i+=1)
{
o = object_add()
object_delete(o)
}

O que pode acontecer de errado? Não explique o motivo do erro.
Código:
k = (keyboard_check(vk_right) - keyboard_check(vk_left))*5;
image_xscale = sign(k);

O que não vai acontecer? Não explique o motivo do erro.
Código:
if (keyboard_check(ord('b'))) show_message('Você apertou a letra B!');

O que vai acontecer? Não explique o motivo do erro.
Código:
A = get_integer('Digite um número:', 0);
switch (A)
{
case 1: show_message('1');
case 2: show_message('2');
case 3: show_message('3');
}

Cite um mal costume e um conflito (não relacionados entre si). Não explicar o motivo do conflito.
Código:
if (a=1) a=0;
if (a=0) a=1;

Leia antes de postar

- Peço que não testem os códigos no GM. Quero ver uma análise sem ajuda do debugger.
- Peço que coloquem as respostas em spoilers e que os outros não as leiam.

Condições/termos de postagem

- Visto que alguns vão postar as respostas abertamente, as postagens estarão sujeitas a edições, para inserir spoilers.

Mais em breve.


Última edição por PedroX em Ter 19 Fev 2013, 14:06, editado 7 vez(es)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Seg 18 Fev 2013, 18:11

o que é isso?
nova modalidade no fórum?

fora isso, vou ver o que é com mais calma...

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Seg 18 Fev 2013, 18:15

São pegadinhas, para estimular o raciocínio e a lógica. Também serve para ensinar alguma coisa.

Obs: Peço que por favor não testem os códigos no GM. Além disso, coloquem as respostas em spoilers. Quem não tiver feito, não leia os spoilers.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Seg 18 Fev 2013, 18:16

Spoiler:
1: d += 1;

li agora o tópico, e vi que pode ser que não está errado, como não tinha achado erro, agora sei a resposta:
2: Está certo

3: array negativa

4: real mais string Não Pode!


1: I : F II:V
2:I: F II:V




TODAS RESPONDIDAS.


Última edição por theguitarmester em Seg 18 Fev 2013, 18:38, editado 2 vez(es)

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por Adilson Thiago Vieira em Seg 18 Fev 2013, 18:34

Spoiler:

1
codigo 1= o "e" nao foi definido,pode causa erro ao acressenta
codigo 2=a var"d" nao foi definida
codigo 3=ao executar o for o i fica negativa,e arrai negativa provoca erro.
codigo 4=nao pode misturar real com string,

2 II - O erro está no evento Step.
I - O erro está na variável c_preto.

Algumas eu axi bem complicadinha,e aposto que errei bastante

gostei dessa ideia XD


Última edição por Adilson Thiago Vieira em Seg 18 Fev 2013, 18:46, editado 4 vez(es)

Adilson Thiago Vieira

Ranking : Sem avaliações
Número de Mensagens : 367
Idade : 19
Data de inscrição : 17/10/2012
Notas recebidas : D+C+C+D
Reputação : 25
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por Rodrigo Santiago em Seg 18 Fev 2013, 18:39

Spoiler:

Sabia, que eu sempre me perguntei, se podia colocar a variavel antes de declara-la temporaria.
1 - a um uso de atribuicao relativa, mas a variavel nao tem nehum valor antes atribuido(e)
ausencia de virgulas na declaracao das variaveis
ausencia de ponto e virgula for, entre o comando inicial e a expressao, e entre a expressao e o comando continuo
Nao e permitido somar string e inteiros.

2-
i- falso
ii-verdadeiro, pois nao se deve somar string e inteiro,a conversao deveria ser feita com a variavel numerica.

i-verdadeiro- a variavel nao tem valor atribuido, entao ainda nao existe.
ii-falso-o erro esta na hora de declarar variaveis, com nomes de constantes.

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Seg 18 Fev 2013, 18:44

já vi que errei uma por falta de atenção, e outra eu posso ter errado tambem.

percebi outra coisa:
Spoiler:
2 II: além do erro denão pode misturar n° com string, ela, no create é declarada como var, e com isto, ela só vale naquele script, é uma temporária.


Última edição por theguitarmester em Seg 18 Fev 2013, 19:17, editado 1 vez(es)

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Seg 18 Fev 2013, 18:49

Todas caíram em pelo menos 1 pegadinha. Alguém acertou quase todas.

Editado: mais perguntas adicionadas.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Seg 18 Fev 2013, 21:33

Respostas das 3:
3
I - pode dar um erro do jogo ser finalizado, seri o "erro inesperado"

II - image_xscale=1 logo, não aparecerá a sprite.

III -
O que não vai acontecer?
não entendi muito bem, mas acho que você querem que eu diga que o IF retornará 0, logo, o show_message não será mostrado.
(outras coisas que não vão acontecer com aquele código: ser criado um 3D online, o GM mudará para o 9, automáticamente, ganharei 3 medalhas de 1°... kkk)

IIII - não há o BREAK, por isso, acontecerá todos os cases após o que contem o n°certo.

IIIII - em uma linha, se for 1, será 0, mas logo na outra, se for 0 será 1, o certo é usar um else, para que isso não aconteça. e um costume, não entendi muito bem, mas tem um das meninas postar coisas no FaceBok como se fossem direitas mas serem vadias.

acho que é isso aí blz

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por gabrielsch em Seg 18 Fev 2013, 21:51

Spoiler:


1.

  • a. E não foi definido, não há como somar 1 pois ela não tem nenhum valor.
  • b. Faltou as virgulas entre as variáveis.
  • c. A array é negativa.
  • d. Não é possível desenhar um valor do tipo real.

2.

  • I. Falso
  • II. Verdadeiro, logo após o create não é possível somar 1 a N pois ele é uma variável do tipo string.
  • I. Verdadeiro, c_preto não tem um valor definido.
  • II. c_black e c_red são constantes.

3.

  • a. Primeiro: Vai travar o jogo por um tempo. Segundo: Não sei. ._____.
  • b. A sprite do objeto pode não aparecer.
  • c. A mensagem não vai aparecer.
  • d. Dependendo do valor de A mensagens vão aparecer sem parar.
  • e. Não endentar seu código, ou não usar {}. A sempre vai ser 1.



Acho que é isso.

Flw! sorrindo2

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Seg 18 Fev 2013, 21:55

Estou louco para postar o gabarito. Mas ainda há várias pessoas que poderão responder.

Obs: Quem quiser as respostas, mande-me uma mp. Mas depois não vale editar e colocar aqui.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por saim em Ter 19 Fev 2013, 08:36

minhas respostas:
PedroX escreveu:1 - O que causa o erro ou está errado?
PedroX escreveu:
Código:
var a, b, c, d, e;
a = 0;
b = 1;
c[0] = 1;
d=get_string('A ou B:', '');
if (d=='A')
e += 1;
"e" não pode ser somada, porque não foi declarada.

PedroX escreveu:
Código:
var a b c d;
a = 0;
b = 1;
c[0] = 1;
faltaram vírgulas

PedroX escreveu:
Código:
for(i=-5 i<10 i+=1)
{
a[i] = -1;
draw_text(10, 10, 'Valor: '+string(a[i]));
}
A array está recebendo índices negativos

PedroX escreveu:
Código:
a=0;
draw_text(x, y, a);
draw_text(x, y, a+' vidas');
Está somando um real com uma string.

PedroX escreveu:2- Tipos de variáveis

PedroX escreveu:Create
Código:
n=1;

var n;

n=get_string('Qual é o seu nome?', '');

show_message('Bem-vindo '+n+'!');

Step
Código:
n+=1
room_caption=string('FPS: '+n);

I - O erro está no evento Create.
II - O erro está no evento Step.
Confesso que deu um nó no meu cérebro.
Acho que no create. Uma vez definida a variável 'n', o recomendável é usar uma outra pra usar como 'var'.
Claro que room_caption deveria ser 'FPS'+string(n).

PedroX escreveu:
Código:
globalvar c_preto;
draw_set_color(c_preto);

globalvar c_black, c_red;
draw_rectangle_color(x, y, x+10, y+10, c_black, c_red, c_blue, c_green);

I - O erro está na variável c_preto.
II - O erro está no desenho do retângulo.
- c_preto não tem nenhum valor pra ser definida como cor (a menos que você use a opção de tratar variáveis não-declaradas como zero; aí vai ser preto mesmo)
- O retângulo ainda precisa de mais um argumento.
- não sei se você pode declarar constantes built-in como globais.

PedroX escreveu:3- Erros e conflitos.

PedroX escreveu:Explique os 2 principais problemas do código abaixo. Nota: um pode gerar conflitos, mas o outro não é sequer um erro.
Código:
for(i=0; i<15000; i+=1)
{
o = object_add()
object_delete(o)
}
Tirando o tempo gasto à toa, não vi problemas no código. Sad

PedroX escreveu:O que pode acontecer de errado? Não explique o motivo do erro.
Código:
k = (keyboard_check(vk_right) - keyboard_check(vk_left))*5;
image_xscale = sign(k);
A imagem pode sumir.

PedroX escreveu:O que não vai acontecer? Não explique o motivo do erro.
Código:
if (keyboard_check(ord('b'))) show_message('Você apertou a letra B!');
A mensagem não vai aparecer Smile

PedroX escreveu:O que vai acontecer? Não explique o motivo do erro.
Código:
A = get_integer('Digite um número:', 0);
switch (A)
{
case 1: show_message('1');
case 2: show_message('2');
case 3: show_message('3');
}
Dependendo da entrada do jogador, vão aparecer 3 mensagens

PedroX escreveu:Cite um mal costume e um conflito (não relacionados entre si). Não explicar o motivo do conflito.
Código:
if (a=1) a=0;
if (a=0) a=1;
O mal costume que eu percebi aí é a falta de identação.
O conflito... que eu chamaria de bug (porque não sei o que quer dizer "conflito") é que a resultante será sempre '1'. A menos que 'a' entre no código com um valor fora desses dois ('7', por exemplo).

[Edit:]Esqueci de comentar: muito divertido, o quiz! O TRFN já colocou essas perguntas no jogo dele?
[Edit2:]Vendo as respostas, vi que caí em pelo menos uma...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por moisesBR em Ter 19 Fev 2013, 09:42

Bem... não sou mto bom nisso mas decidi me testar tenho certeza que errei tdo! kkkkkkkkk e... baguncei um pouco kkkk
Spoiler:
1 -
if (d=='A') e += 1;
Deveria declarar ante o valor de "e", antes de usa-lo

var a b c d;
Falta separador ",'(vírgula)


draw_text(10, 10, 'Valor: '+string(a));
parece estar certo...(?)

draw_text(x, y, a);
falta definir string( 'a')

draw_text(x, y, a+' vidas');
Ja tentei algo do tipo antes e não deu certo

2-
n=1; var n;
n=get_string('Qual é o seu nome?', '');
show_message('Bem-vindo '+n+'!');
[i]falso. a var deve ser declarada antes!


n+=1
room_caption=string('FPS: '+n);
falso. ese contador n vai parar nunca!

globalvar c_preto;
draw_set_color(c_preto);
falso! Desnecessario, ma estaria certo se logo aós colocasseo valor dessa var
ex: c_preto=c_black


globalvar c_black, c_red;
falso! não precisa declarar essas pois são nativas

3-
for(i=0; i<15000; i+=1)...
não sei

k = (keyboard_check(vk_right) - keyboard_check(vk_left))*5;
image_xscale = sign(k);
=unknow funcion or variable ou... não sei

if (keyboard_check(ord('b'))) show_message('Você apertou a letra B!');
não vai aparecer o show mensage!

A = get_integer('Digite um número:', 0);
n sei.

if (a=1) a=0; if (a=0) a=1;
tentar fixar um valor a todo custo! o gm tentará comparar os valores e tera conflito como resultado

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Ter 19 Fev 2013, 11:09

@saim

Cometi um engano, seria:

Código:
for(i=0; i<15000; i+=1)
{
o = object_add()
object_delete(o)
}
o = object_add()

Muitas respostas (de todos) estão certas. Só que todo mundo caiu em pelo menos uma pegadinha.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por saim em Ter 19 Fev 2013, 13:21

...
Mesmo assim, mantenho a resposta...

Talvez você tivesse pensado em
Código:
for(i=0; i<15000; i+=1)
{
o = object_add()
}
object_delete(o)
o = object_add()
?...
Mas aí, ficaria muito óbvio.

Não, deve ser outra coisa...

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Ter 19 Fev 2013, 13:48

Talvez isso mate a charada:
Código:
for(i=0; i<15000; i+=1)
{
o = object_add()
object_delete(o)
}
o = object_add()

for(i=0; i<5000; i+=1)
{
with(instance_create(x, y, o))instance_destroy();
}


Última edição por PedroX em Ter 19 Fev 2013, 13:56, editado 2 vez(es)

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Ter 19 Fev 2013, 13:50

nada irá acontecer, não existe a instância com este objeto.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Ter 19 Fev 2013, 13:55

theguitarmester, tive de arrumar novamente. Dê uma olhada.

Dica: coloca uma instância na room e analisa os atributos...

As respostas sairão na noite de hoje.

Obs: depois faço um ranking (não teremos prêmios).

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por TRFN em Ter 19 Fev 2013, 15:53

Bom , ai vai um desafio para vocês então , não tem nada a ver com o pedrox , e eu que estou colocando mesmo.

Encontre 4 erros (mas não teste hein , sem roubar!). Até porque tá simples :
Código:
var a,b,c,d,e,f;a=0;b="";c=all;d="str";if(a>c&&b!=d)then{show_message(c+d);end;for(i=all+all+noone; i>a; i-=c)begin;e=abs(i);end};while(abs(c)){c+=abs(a-c);f[a]=c+e;}show_message(f[e]);

Mas encontre só os erros , não as funções que se auto-anulam.

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Ter 19 Fev 2013, 16:10

1º Passo = Legibilizar

Código:
var a, b, c, d, e, f;

a=0;
b="";
c=all;
d="str";

if(a>c&&b!=d)
{
show_message(c+d); // erro na soma
end;

for(i=all+all+noone; i>a; i-=c) // i nunca será maior que a
begin; //erro no ponto-e-vírgula
e=abs(i);
end
};

while(abs(c))
{
c+=abs(a-c); //dá no mesmo que c-=c, no caso ficaria c=0
f[a]=c+e;
}
show_message(f[e]);

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por TRFN em Qua 20 Fev 2013, 10:47

erro na soma
Certo.
i nunca será maior que a
Eu disse para desconsiderar , já que não há erro , a função só não irá executar , você foi pego :

Mas encontre só os erros , não as funções que se auto-anulam.
dá no mesmo que c-=c, no caso ficaria c=0
Isso não é um erro , é uma auto-anulação. Fora que o step do while funciona uma vez. Denovo :

Mas encontre só os erros , não as funções que se auto-anulam.
erro no ponto-e-vírgula
Na verdade não. Funciona perfeitamente. O ponto-e-virgula não influencia ai.

Você até organizou , mas achou só um erro. Tente denovo Pedrox No

Alguem arrisca alguma coisa ai Question Exclamation

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por Rodrigo Santiago em Qua 20 Fev 2013, 12:44

Voce usou couchete depois de end, e nao havia colocado anteriormente.
Voce apenas declarou e teporario, mas nao deu valor, ocorrendo erro ao usalo na soma e array

Rodrigo Santiago

Ranking : Nota B
Número de Mensagens : 1281
Idade : 20
Data de inscrição : 28/07/2012
Notas recebidas : C + C + B
Reputação : 73
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 3
   : 1
   : 3

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por TRFN em Qua 20 Fev 2013, 13:48

Chegou perto. Mas ainda não ta certo. Se ninguém conseguir , manhã posto o resultado.

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Sab 23 Fev 2013, 12:58

As respostas de cada um abaixo, para evitar modificações:

Jiraya:
O que causa o erro ou está errado?

1:
"e" precisa ter um valor padrão...

2:
falta virgulas na declaração de var

3:
falta ; no for

4:
não pode somar real com string



2- Tipos de variáveis
Verdadeiro ou falso. Justifique sua resposta.

II - O erro está no evento Step.
porque esta somando real para um variavel que armazena string


I - O erro está na variável c_preto.
II - O erro está no desenho do retângulo.

O erro esta nos dois, precisa declarar um valor padrão para a globalvar c_preto
e não pode clarar uma constante com variavel
falta o ultimo parametro na função draw_rectangle_color





3- Erros e conflitos.

for(i=0; i<15000; i+=1)
{
o = object_add()
object_delete(o)
}
o problema é um memory leak gigante, que em casos de pouca ram, pode travar o computador


k = (keyboard_check(vk_right) - keyboard_check(vk_left))*5;
image_xscale = sign(k);
a unica coisa que pode acontecer de errado, é a escala da imagem ficar em 0 quando nenhum botão for pressionado


if (keyboard_check(ord('b'))) show_message('Você apertou a letra B!');
a mensagem não será exibida


A = get_integer('Digite um número:', 0);
switch (A)
{
case 1: show_message('1');
case 2: show_message('2');
case 3: show_message('3');
}

todos os parametros serão executados, apartir do indice A

if (a=1) a=0;
if (a=0) a=1;
sempre retorna a 1
theguitarmester:
1: d += 1;

li agora o tópico, e vi que pode ser que não está errado, como não tinha achado erro, agora sei a resposta:
2: Está certo

3: array negativa

4: real mais string Não Pode!


1: I : F II:V
2:I: F II:V

2 II: além do erro denão pode misturar n° com string, ela, no create é declarada como var, e com isto, ela só vale naquele script, é uma temporária.

3
I - pode dar um erro do jogo ser finalizado, seri o "erro inesperado"

II - image_xscale=1 logo, não aparecerá a sprite.

III -
O que não vai acontecer?
não entendi muito bem, mas acho que você querem que eu diga que o IF retornará 0, logo, o show_message não será mostrado.
(outras coisas que não vão acontecer com aquele código: ser criado um 3D online, o GM mudará para o 9, automáticamente, ganharei 3 medalhas de 1°... kkk)

IIII - não há o BREAK, por isso, acontecerá todos os cases após o que contem o n°certo.

IIIII - em uma linha, se for 1, será 0, mas logo na outra, se for 0 será 1, o certo é usar um else, para que isso não aconteça. e um costume, não entendi muito bem, mas tem um das meninas postar coisas no FaceBok como se fossem direitas mas serem vadias.
Adilson Thiago Vieira:
1
codigo 1= o "e" nao foi definido,pode causa erro ao acressenta
codigo 2=a var"d" nao foi definida
codigo 3=ao executar o for o i fica negativa,e arrai negativa provoca erro.
codigo 4=nao pode misturar real com string,

2 II - O erro está no evento Step.
I - O erro está na variável c_preto.
Rodrigo Santiago:
Sabia, que eu sempre me perguntei, se podia colocar a variavel antes de declara-la temporaria.
1 - a um uso de atribuicao relativa, mas a variavel nao tem nehum valor antes atribuido(e)
ausencia de virgulas na declaracao das variaveis
ausencia de ponto e virgula for, entre o comando inicial e a expressao, e entre a expressao e o comando continuo
Nao e permitido somar string e inteiros.

2-
i- falso
ii-verdadeiro, pois nao se deve somar string e inteiro,a conversao deveria ser feita com a variavel numerica.

i-verdadeiro- a variavel nao tem valor atribuido, entao ainda nao existe.
ii-falso-o erro esta na hora de declarar variaveis, com nomes de constantes.
Gabrielsch:
1.

a. E não foi definido, não há como somar 1 pois ela não tem nenhum valor.
b. Faltou as virgulas entre as variáveis.
c. A array é negativa.
d. Não é possível desenhar um valor do tipo real.

2.

I. Falso
II. Verdadeiro, logo após o create não é possível somar 1 a N pois ele é uma variável do tipo string.
I. Verdadeiro, c_preto não tem um valor definido.
II. c_black e c_red são constantes.

3.

a. Primeiro: Vai travar o jogo por um tempo. Segundo: Não sei. ._____.
b. A sprite do objeto pode não aparecer.
c. A mensagem não vai aparecer.
d. Dependendo do valor de A mensagens vão aparecer sem parar.
e. Não endentar seu código, ou não usar {}. A sempre vai ser 1.
saim:
"e" não pode ser somada, porque não foi declarada.
faltaram vírgulas
A array está recebendo índices negativos
Está somando um real com uma string.

Confesso que deu um nó no meu cérebro.
Acho que no create. Uma vez definida a variável 'n', o recomendável é usar uma outra pra usar como 'var'.
Claro que room_caption deveria ser 'FPS'+string(n).

- c_preto não tem nenhum valor pra ser definida como cor (a menos que você use a opção de tratar variáveis não-declaradas como zero; aí vai ser preto mesmo)
- O retângulo ainda precisa de mais um argumento.
- não sei se você pode declarar constantes built-in como globais.

Tirando o tempo gasto à toa, não vi problemas no código.
A imagem pode sumir.
A mensagem não vai aparecer
Dependendo da entrada do jogador, vão aparecer 3 mensagens

O mal costume que eu percebi aí é a falta de identação.
O conflito... que eu chamaria de bug (porque não sei o que quer dizer "conflito") é que a resultante será sempre '1'. A menos que 'a' entre no código com um valor fora desses dois ('7', por exemplo).
moisesBR:
1 -
if (d=='A') e += 1;
Deveria declarar ante o valor de "e", antes de usa-lo

var a b c d;
Falta separador ",'(vírgula)


draw_text(10, 10, 'Valor: '+string(a));
parece estar certo...(?)

draw_text(x, y, a);
falta definir string( 'a')

draw_text(x, y, a+' vidas');
Ja tentei algo do tipo antes e não deu certo

2-
n=1; var n;
n=get_string('Qual é o seu nome?', '');
show_message('Bem-vindo '+n+'!');
[i]falso. a var deve ser declarada antes!

n+=1
room_caption=string('FPS: '+n);
falso. ese contador n vai parar nunca!

globalvar c_preto;
draw_set_color(c_preto);
falso! Desnecessario, ma estaria certo se logo aós colocasseo valor dessa var
ex: c_preto=c_black

globalvar c_black, c_red;
falso! não precisa declarar essas pois são nativas

3-
for(i=0; i<15000; i+=1)...
não sei

k = (keyboard_check(vk_right) - keyboard_check(vk_left))*5;
image_xscale = sign(k);
=unknow funcion or variable ou... não sei

if (keyboard_check(ord('b'))) show_message('Você apertou a letra B!');
não vai aparecer o show mensage!

A = get_integer('Digite um número:', 0);
n sei.

if (a=1) a=0; if (a=0) a=1;
tentar fixar um valor a todo custo! o gm tentará comparar os valores e tera conflito como resultado

Gabarito: https://dl.dropbox.com/u/38888521/Temp/gabarito.txt

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por theguitarmester em Sab 23 Fev 2013, 13:12

B - faltaram vнrgulas depois de "var".
Pô, você devia ter olhado isto, eu sempre faço desse modo e da certo, isso não é um erro, acho até melhor colocar assim.

theguitarmester

Ranking : Sem avaliações
Número de Mensagens : 1908
Idade : 21
Data de inscrição : 28/02/2012
Notas recebidas : B
Reputação : 80
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 1
Prêmios
   : 2
   : 2
   : 1

http://guitarmester.no.comunidades.net/index.php?pagina=19362978

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por PedroX em Sab 23 Fev 2013, 13:16

É, eu fiz uma confusão. Eu ia tirar o ";". Então ia dar erro.

Sobre o for(), não precisa de ponto-e-vírgula.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por TRFN em Sab 23 Fev 2013, 14:47

O meu ninguém resolveu completamente....

Ai vai a resposta :

1 : não é possível somar "c + d" , porque um é um real e outro uma string
2 : erro na soma já que e não foi declarado porque o laço for não consegue executar por sua razão ser equivocada a base.
3 : mesmo com o erro , apenas o índice "0" , que corresponde a variável a usada , na variável "f" foi declarado , e por isso retorna a erro também.
4 : Tem uma chave fechada desnecessária , porque begin e end corresponde a chave "{" e "}" .

___________



TRFN

Ranking : Nota C
Número de Mensagens : 970
Idade : 21
Data de inscrição : 16/01/2012
Notas recebidas : C
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

http://trfnsite.com

Voltar ao Topo Ir em baixo

Re: Pegadinhas

Mensagem por Conteúdo patrocinado Hoje à(s) 10:32


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum