Oficina SuperLogo – Criação de Jogos
http://projetologo.webs.com http://br.geocities.com/projetologo
página 1
Interatividade com Teclado e Mouse Faça o SuperLogo ler o teclado: ativetecla [mo car asciitecla] Melhor ainda é deixar a tat fazer algo: ativetecla [pf 15]
O comando desenhe é um exemplo de uso do mouse no SuperLogo. Ele usa um comando chamado ativemouse. Vejamos um exemplo simples do uso do ativemouse: un ativemouse [mudepos posmouse ul][un][][][mudepos posmouse] Agora experimente mover o cursor do mouse na tela do SuperLogo enquanto pressiona o botão direito e depois o esquerdo. Para parar basta escrever: desativemouse
O SuperLogo pára de ler o teclado com o comando desativetecla: desativetecla Vamos sofisticar um pouco: aprenda andar ativetecla [atr "ABC car asciitecla ;car asciitecla faz com a Tat indique ; a letra correspondente à tecla. se :ABC = "q [pf 45] se :ABC = "w [pt 45] se :ABC = "a [pe 45] se :ABC = "s [pd 45]] andar ;é necessária a recursão para que ;a leitura do teclado seja contínua . fim Pode ser interessante dar a opção de parar o jogo. Como isso poderia ser feito? Que tal colocar um cenário no fundo? Isso pode ser feito escolhendo uma imagem bitmap (BMP) no menu Bitmap -> Abrir... ou ainda com o comando carreguebitmap: carreguebitmap "labirinto2.bmp O jogo Supertat (labirinto2.lgo) é um exemplo simples que utiliza os recursos mostrados até aqui (figura acima). Compare-o com o jogo do Labirinto (labirinto.lgo). As imagens BMP podem ser feitas com programas tais como o Paint e o Drawing for Children. Se preferir, faça o desenho no próprio SuperLogo usando comandos entre os quais o desenhe.
Uso de som e vídeo Digite o comando toquewave: toquewave [Opa.wav] 1 Dentro dos colchetes coloca-se o nome do arquivo de som que se deseja tocar, inclusive com sua extensão (.wav). Um comando mais abrangente é o toquemídia. Ele permite tocar também midi, mp3 e vídeos, dependendo do que estiver instalado no computador. toquemídia [minhamusica.mp3] toquemídia [meuvideo.mpg] Digite os comandos (um de cada vez): toquemídia [Opa.wav] toquemídia [dimono.mid] toquemídia [Vid1.avi] Para tornar mais divertido, podemos fazer ou
toquewave sorteieelemento [Dimono.mid Legal.wav Gmgreen3.mid] 1 toquemídia sorteieelemento [Dimono.mid Legal.wav Gmgreen3.mid]
A possibilidade de introduzir sons, imagens e mesmo vídeos, permitiu a elaboração de várias versões do jogo de forca, inclusive na língua de sinais. O projeto notas (notas.lgo) combina o uso de recursos de som e teclado.
Oficina SuperLogo – Criação de Jogos
página 2
Façam suas Apostas! Que tal fazer uma fezinha? Nesse jogo você só tem a ganhar. aprenda adivinha atr "loto sortnum 40 atr "palpite pri caixadequestão [Só vale de 0 a 39] [Adivinhe que número pensei!] senão :palpite = :loto [esc "parabéns] ~ [esc [Que pena!] esc [O número sorteado foi] esc :loto] fim Não esqueça de usar o “pri” (primeiro) antes da caixadequestão para que o SuperLogo entenda o número escrito.
Banco de Dados Crie uma lista de palavras no bloco de notas e salve na pasta Slogo com o nome “teste” (em Meus Documentos). Veja o modelo ao lado: uma palavra em baixo da outra. Neste exemplo simples, recomendo que não use acentos ou sinais graficos, nem espaços. Digite os comandos: abraparaler "teste.txt mudeleitura "teste.txt mo leialista [melancia] mo leialista [abracadabra] fechearq "teste.txt Quantas palavras tem nossa lista? Vamos pedir para o SuperLogo contar para nós.
http://br.geocities.com/projetologo http://projetologo.webs.com aprenda leitura abraparaler "teste.txt mudeleitura "teste.txt atr "i 0 contar mudeleitura [] fechearq "teste.txt esc :i fim
aprenda contar mo leialista atr "i 1 + :i senão "verd = éfimarq [pare][contar] fim
Esse recurso é utilizado em jogos como da série Forca (que lêem banco de palavras para depois sortear) e no Asteroid Miner (para registrar os recordes). O nosso exemplo pode ser sofisticado para fazer um jogo de adivinhações. Como fazer um jogo de adivinhação de palavras? Basta juntar essas idéias com a anterior do “Façam Suas Apostas!”. aprenda leitura abraparaler "teste.txt mudeleitura "teste.txt atr "i 0 contar mudeleitura [] fechearq "teste.txt
aprenda contar mo leialista atr "i 1 + :i senão "verd = éfimarq [pare][contar] fim
escolhepalavra fim aprenda escolhepalavra
atr “vezes sortnum :i + 1 abraparaler "teste.txt mudeleitura "teste.txt repita :vezes [atr "pal leialista] mudeleitura [] fechearq "teste.txt
atr "palpite pri caixadequestão [Adivinhe] [Adivinhe que palavra pensei!] senão :palpite = :pal [esc "parabéns] ~ [esc [Que pena!] esc [A palavra era] esc :pal] fim
Oficina SuperLogo – Criação de Jogos
página 3
Mude a Roupa da Tartaruga A Tat sabe se disfarçar, ou seja, trocar sua aparência por outra. Há vários comandos para isso: coloquetatbmp, tatgif, tatgif1. Para os dois primeiros, basta escrever o comando e pressionar enter que abrirá uma janela de diálogo para escolher a figura desejada. coloquetatbmp (escolha uma figura) tatgif (escolha uma figura) Para tatgif1 é necessário informar o nome do arquivo de imagem (ótimo para usar em procedimentos). tat carreguegif "vaca.gif Outros comandos para usar figuras são carreguegif e carreguebmp, mas apenas inserem figuras como fundo na janela gráfica (a Tat não assume a imagem): carreguebitmap “sac.bmp carreguegif “vaca.gif Experimente algo divertido: tat repita 10 [tatgif1 "smiley1.gif espere 25 tatgif1 "smiley2.gif espere 25] O repita combinado com tatgif1 permite criar animações! Que tal dançar can-can? Use uma câmera digital para pegar as poses que serão vestidas pela Tat. As câmaras digitais gravam no formato jpg, basta usar um editor de imagens e passar para o formato gif ou bmp conforme o comando que será usado.
http://br.geocities.com/projetologo http://projetologo.webs.com Roda-Gigante Algumas idéias sobre como trabalhar com mais de uma Tat. aprenda rodagigante atat 1 repita 90 [pd 1 pf 1] atat 2 repita 180 [pd 1 pf 1] atat 3 repita 270 [pd 1 pf 1] repita 90 [repita 4 [atat cv - 1 pf 1 pd 1]] fim
Podemos colocar uma musiquinha para a roda-gigante: aprenda rodagigante atat 1 repita 90 [pd 1 pf 1] atat 2 repita 180 [pd 1 pf 1] atat 3 repita 270 [pd 1 pf 1] esc abramidi mensagemmidi (lista 192+13 112 0 192+13 112 0) mensagemmidi (lista 144+13 40 300) repita 90 [repita 4 [atat cv - 1 pf 1 pd 1]] fechemidi fim Os comandos adicionados são “comandos de midi”. Esses comandos permitem que o computador funcione como um sintetizador de som de diferentes instrumentos (leia a tabela completa no ajuda do SuperLogo, em “Instrumentos Midi”). No exemplo acima, o computador toca o som de um sino, que é o número 112 na linha mensagemmidi (lista 192+13 112 0 192+13 112 0). Para sintetizar o som de uma flauta (número 73, usaríamos mensagemmidi (lista 192+13 73 0 192+13 73 0). Há mais de 100 instrumentos e sons que o computador pode sintetizar. Experimente-os! A freqüência do som (“nota”) é controlada pelo penúltimo número na linha mensagemmidi (lista 144+13 40 300). Exemplo: esc abramidi mensagemmidi (lista 192+13 73 0 192+13 73 0) mensagemmidi (lista 144+13 200 300) mensagemmidi (lista 144+13 200 0) mensagemmidi (lista 144+13 600 300) fechemidi Pode-se tocar mais de uma nota ao mesmo tempo, com diferentes instrumentos, formando uma orquestra.
Oficina SuperLogo – Criação de Jogos
página 4
Jogue em Rede O Superlogo permite que computadores de uma rede se comuniquem entre si com os comandos inicializerede e aceiteconexão. É possível também conectar micros que estejam em cidades e mesmo países diferentes. Para entender como funciona, trabalhe com dois grupos (um computador para cada grupo). inicializerede ;aguarde o outro grupo fazer o mesmo mostre aceiteconexão 5124 [] [escreva recebavalorconexãoaceita] ;se aparecer a palavra verd é porque está tudo OK mostre aceiteconexão "NomedaMáquina 5124 [escreva [OK enviar novamente]] [] verd ;Substitua “NomedaMáquina” pelo nome do computador que aparece em “Ambiente de Rede” ou “Meus Locais de Rede” (são nomes dados pelo técnico que configurou a rede). mostre envievalorconexão [Olá] ;veja o que acontece na máquina do colega verd ;use sempre mostre envievalorconexão para escrever para o micro do outro grupo. Pode -se fazer um bate-papo (“chat”). desligueconexão nãoaceiteconexão terminerede inicializerede ; Inicie a rede mostre ligueconexão "NomedaMáquina 5124 [esc [pronto para enviar novamente]] [esc [Eu tenho algo]] verd
http://br.geocities.com/projetologo http://projetologo.webs.com
Uamos brincar de pega-pega? Esse é o pontapé inicial para um projeto que pode se tornar bem mais complexo, sofisticado. Poderia ser dada uma mensagem ou emitir um som quando uma tartaruga pega a outrar de pega-pega; proibir que as tartarugas voadoras caiam no telhado ou usá-lo como “raia”; limitar o território do jogo ao cenário (não poder sair de cima dele), etc. aprenda andar ativetecla [atr "ABC car asciitecla se :ABC = "q [atat 0 mudedc 0 pf 10] se :ABC = "w [atat 0 mudedc 180 pf 10] se :ABC = "s [atat 0 mudedc 90 pf 10] se :ABC = "a [atat 0 mudedc 270 pf 10]] fim aprenda radar atat 0 atr "xy pos atat 1 mudedc direçãopara :xy pf 10 fim
aprenda vai rolex -116 roley -142 carreguebmp "labirinto2.bmp atat 0 un mudepos [-50 250] atat 1 un mudepos [135 200] ativetemporizador 1 200 [andar] ativetemporizador 2 200 [radar] espere 1000 desativetecla desativetemporizador 2 desativetemporizador 1 mostrecaixamensagem [Ops!] ~ [Terminou seu tempo!] fim
Um desenho doido: aprenda desenhodoido atat 0 tatgif1 "abobora2.gif atat 1 tatgif1 "abobora.gif repita 90 [repita 2 ~ [atat cv - 1 mudex 300 - sortnum 600 mudey 250 - sortnum 500] ] fim
desligueconexão terminerede Pode ser que esse recurso não funcione dependendo da configuração do micro (como ele usa a rede). No caso de uma LAN (um laboratório na escola, por exemplo), é preciso que esteja usando protocolo TCP/IP. O projeto labirede (labirede.lgo) utliza esse recurso.
A repodução deste material (todo ou em parte) é permitida e desejada desde que citada a fonte. Proibida distribuição deste material visando lucro de qualquer espécie (contate o autor antes). Todas as atividade criadas por Alexandre R. Soares.