Pessoal,
comecei a responder uma aluna da especialização sobre criar jogos no
khangman e não dei conta do recado. Pena, porque a disciplina terminou, mas
se eu conseguisse uma solução, encaminhjaria com prazer a eles todos por
e-mail.
Eu não encontrei na internet nenhum tutorial para leigos fazerem isso, daí
tentei fazer um passo a passo, o problema é que não funcionou e não tive
mais tempo de mexer nisso. Copio abaixo tudo que consegui fazer e descobrir.
Alguém gostaria de entrar nessa jogada comigo? Ou tem sugestões de tutoriais
para que os professores criem seus próprios jogos?
Obrigada,
bjs
Ana


Silmara,
para responder eu peguei o manual do Khangman que está na página do KDE (vem
junto com o programa também, mas eu não tinha ele aqui) e depois de ler
achei melhor instalar o programa pra sentir na prática

Bom, o programa não tem um aparato para criar novos jogos, pelo menos não
achei e nem no google, mas é software livre, certo? Então tem que ter jeito.

No manual tem o item O que é gravado pelo Khangman e onde.
Ali me diz:

No ficheiro de configuração, por cada utilizador no seu ficheiro
$KDEHOME/share/config/khangmanrc, são gravadas todas as configurações do
jogo como o fundo, o último nível jogado, ... para além dos ficheiros que
foram transferidos a partir da janela para Obter Coisas Novas!.

Bom, abri o tal do arquivo e achei  algo assim:

 [KNewStuff2]
 en=2011-10-09

[Language]
LevelFile=/usr/share/kde4/apps/kvtml/en/animals.kvtml

 [MainWindow]
Height 900=441
State=AAAA/wAAAAD9AAAAAAAAApQAAAFyAAAABAAAAAQAAAAIAAAACPwAAAACAAAAAgAAAAMAAAAWAG0AYQBpAG4AVABvAG8AbABCAGEAcgEAAAAAwAAAAAAAAAAAAAAGAB0AGgAZQBtAGUAVABvAG8AbABCAGEAcgEAAADnwAAAAAAAAAAAAAAHgBsAGEAbgBnAHUAYQBnAGUAVABvAG8AbABCAGEAcgEAAAFewAAAAAAAAAAAAAAAwAAAAEAAAAkAHMAcABlAGMAaQBhAGwAQwBoAGEAcgBUAG8AbwBsAEIAYQByAAAAAADAAAAAAAAAAA=
ToolBarsMovable=Disabled
Width 1600=660

bom, não vou mexer na janela principal, então a parte feia não me interessa,
vamos ver o começo do arquivo:

[KNewStuff2]
en=2011-10-09

[Language]
LevelFile=/usr/share/kde4/apps/kvtml/en/animals.kvtml

O que será que significa isso? Imagino que o new stuff me diga a língua e a
data de colocação da "coisa nova" no sistema. Vou chutar e inserir outra
linha ali:

[KNewStuff2]
en=2011-10-09
en=2011-10-09

Imagino que o arquivo onde está esse jogo novo seja esse indicado em
[Language], então vou dar uma de hacker: vou salvar uma cópia desse arquivo
chamado ana.kvtml (nunca mudo a extensão, por precaução, pois geralmente as
extensãoes dizem aos programas o que fazer com os arquivos). Ele copiou
fácil, mas pediu senha de root (o super usuário do linux), porque essa pasta
/usr é pasta de sistema.

O que tem nesse arquivo?

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd";>
<kvtml version="2.0" >
  <information>
    <generator>converter</generator>
    <title>Animals</title><!--Translate tag content-->
    <comment>Animals from across the planet</comment><!--Translate tag
content-->
  </information>
  <identifiers>
    <identifier id="0" >
      <locale>en</locale>
    </identifier>
  </identifiers>
  <entries>
    <entry id="0" >
      <inactive>false</inactive>
      <inquery>false</inquery>
      <translation id="0" >
        <text>bear</text><!--Translate all text tags content-->
        <comment>Large heavy animal with thick fur</comment><!--Translate
all comment tags content-->
      </translation>
    </entry>
    <entry id="1" >
      <inactive>false</inactive>
      <inquery>false</inquery>
      <translation id="0" >
        <text>dolphin</text>
        <comment>Sea mammal</comment>
      </translation>
    </entry>
(continua...)

Calma, não sai correndo, não é tão difícil como parece.

Vamos ver por partes:

1)
 <?xml version="1.0" encoding="UTF-8"?>
ele ta dizendo que é um arquivo do tipo xml, qual a versão (1.0) e o tipo de
codificação das letras (UTF-8). Para mim só importa saber disso porque, se
eu editar esse arquivo num editor de texto e ele salvar com outra
codificação (o windows usa o iso-8859-1), vai dar erro em acentos e
caracteres especiais. Então, é bom ver no edito onde mostra a configuração e
colocar na configuração correta.
Informação que percebo já na primeira linha: as informações estão agrupada
dentro de <>.

2)
 <!DOCTYPE kvtml PUBLIC "kvtml2.dtd" "http://edu.kde.org/kvtml/kvtml2.dtd";>
tipo de documento, realmente não faz diferença pra mim, só pro programa que
le o arquivo.

3)
 <kvtml version="2.0" >
informa a versão da linguagem do arquivo, tb não importa agora.

4)
  <information>
opa, agora é importante compartilhar com vocês um conhecimento de
programação html, da mesma família do xml (que é esse arquivo, lembram?). O
html separa grupo de comandos dizendo que inicia <aqui> e termina </aqui> ou
seja, tudo que está entre <aqui> e </aqui> faz parte do mesmo grupo de
informações. E é importante lembrar que posso começar outro grupo dentro
deste, mas nunca vou terminar depois dele (a isso chama-se aninhar):
certo: <aqui><outrogrupo></outrogrupo></aqui>
errado: <aqui><outrogrupo></aqui></outrogrupo>
então essa linha começa um grupo e é melhor olhar tudo que está dentro do
grupo como um conjunto:

  <information>
    <generator>converter</generator>
    <title>Animals</title><!--Translate tag content-->
    <comment>Animals from across the planet</comment><!--Translate tag
content-->
  </information>

são informações gerais sobre meu jogo, então eu já aproveito e mudo para
criar meu jogo. O que vou mudar? Aquilo que está FORA das tags (tags são as
instruções entre <>). Comparem:

  <information>
    <generator>converter</generator>
    <title>Jogo da Ana</title><!--Translate tag content-->
    <comment>Joguinho de exemplo</comment><!--Translate tag content-->
  </information>

5)
Essas linhas parecem identificar o jogo no sistema e indicar a linguagem:

  <identifiers>
    <identifier id="0" >
      <locale>en</locale>
    </identifier>
  </identifiers>


O meu ficará sendo o 1 (não vou mexer na linguagem, mas poderia):
  <identifiers>
    <identifier id="1" >
      <locale>en</locale>
    </identifier>
  </identifiers>

6)
Lembram do que falei sobre aninhar? Pois é esta parte tem todas as entradas
do meu jogo aninhadas no mesmo grupo, que começa em <entries> e termina em
</entries>. Cada uma está aninhada na tag <entry>. Faz sentido, não?

  <entries>
    <entry id="0" >
      <inactive>false</inactive>
      <inquery>false</inquery>
      <translation id="0" >
        <text>bear</text><!--Translate all text tags content-->
        <comment>Large heavy animal with thick fur</comment><!--Translate
all comment tags content-->
      </translation>
    </entry>
    <entry id="1" >
      <inactive>false</inactive>
      <inquery>false</inquery>
      <translation id="0" >
        <text>dolphin</text>
        <comment>Sea mammal</comment>
      </translation>
    </entry>

O que eu observo primeiro é o que é que muda de uma entry para a outra. Só
isso eu vou mexer. Vejam como ficou a minha:

 <entries>
   <entry id="0" >
     <inactive>false</inactive>
     <inquery>false</inquery>
     <translation id="0" >
       <text>Barba</text><!--Translate all text tags content-->
       <comment>Nome de um amigo baterista/comment><!--Translate all comment
tags content-->
     </translation>
   </entry>
   <entry id="1" >
     <inactive>false</inactive>
     <inquery>false</inquery>
     <translation id="0" >
       <text>Cabelo</text>
       <comment>Nome de um amigo guitarrista</comment>
     </translation>
   </entry>

Crio tantas quantas quiser e termino o arquivo igual ao original:

 </entries>
</kvtml>

Feito.

================
ana.kvtml em anexo

Attachment: ana.kvtml
Description: Binary data

_______________________________________________
Geral mailing list
[email protected]
http://listas.sleducacional.org/listinfo.cgi/geral-sleducacional.org

Responder a