Postagem em destaque
- Gerar link
- Outros aplicativos
BlackTDN :: ADVPL Games ~ GAME 15 : Final
Finalizado o Jogo do 15. Com + de 2000 linhas de código da + pura diversão e entretenimento.
Clique aqui se a sua vontade for de obter os códigos fontes (para estudo ou diversão).
Algumas soluções parciais do jogo poderão ser obtidas ao clicar aqui.
Com o jogo finalizado teremos agora as seguintes interfaces:
No desenvolvimento do GAME 15 foram utilizados os seguintes recursos da Linguagem ADVPL:
Recurso ADVPL | Descrição: |
Classe: TPaintPanel | Cria um objeto do tipo painel que permite adicionar subpainéis e shapes. |
Classe: MsDialog | Cria uma janela de diálogo, no programa, para entrada de dados do tipo modal. Desta forma, não é permitido que outras janelas recebam dados enquanto esta estiver ativa. |
Classe: TListBox | Cria um objeto do tipo lista de itens com barra de rolagem. |
Classe: TRect | TDN diz: Você não tem permissão para acessar esse recurso. |
Classe: TFont | Cria um objeto para alterar as características da fonte utilizada em outros controles visuais. |
Classe: TGet | Cria um objeto para entrada de dados editáveis. |
Classe: SButton | Cria um objeto do tipo botão. |
Função: FreeObj | Elimina da memória a instância do objeto informado como parâmetro. |
Função: cGetFile | Apresenta uma janela com os diretórios disponíveis, na estação e no servidor, e retorna o nome do item. |
Função: AScan | Percorre um array procurando por um valor especificado. Pode ser especificado um valor a ser buscado, ou pode ser informada uma condição de busca através de um bloco de código. |
Função: AEVal | Executa um bloco de código para cada elemento de um array. |
Função: MakeDir | Cria um diretório. |
Função: lIsDir | Não documentada. Verifica se um diretório existe. |
Função: Sleep | A função SLEEP() tem o objetivo de fazer com que a thread corrente deixe de ser executada de acordo com o valor informado como parametro. |
Função: NetErr | Não documentada: Verificar se um comando de manipulação de arquivo de dados falhou em ambiente de Rede |
Função: DBCreate | Define uma nova tabela ou um novo arquivo do tipo tabela e sua estrutura (campos) |
Função: dbUseArea | Abre uma área de dados para utilização. |
Função: OrdCreate | Não Documentada: Utilizada para criar uma nova ordem em um arquivo de índice |
Função: dbClearIndex | Fecha todos os índices da área de trabalho corrente. |
Função: DBCloseArea | Fecha a área de trabalho corrente. |
Função: OrdListAdd | Não Documentada: Utilizada para abrir um arquivo de índices. Referência mais próxima: DBSeek |
Função: DBSeek | Localiza um registro com determinado valor da expressão de chave de índice. |
Função: DBSetNickname | Define um apelido para uma determinada ordem. |
Função: DBOrderNickname | Seleciona a ordem ativa através de seu apelido. |
Função: IndexKey | Determina a expressão da chave de um índice especificado na área de trabalho corrente, e o retorna na forma de uma string. |
Função: DBAppend | Adiciona um novo registro vazio na tabela corrente. |
Função: rLock | Não Documentada: Tenta efetuar o Lock no registro correte. Referência mais próxima: Função: RecLock - Comando de alteração em modo exclusivo. Que internamente faz uso da rLock para obter o Lock do registro. |
Função: DBUnlock | Retira bloqueios de registros e de arquivos da tabela corrente. |
Função: DBDelete | Marca o registro corrente para exclusão. |
Função: DBCloseArea | Fecha a área de trabalho corrente. |
Função: StaticCall | Não Documentada. Referência em BlackTDN |
Função: ShellExecute | Executa um arquivo. |
Além das funções e classes acima, foram usadas funções e classes da biblioteca de Funções NDJLIB também em ADVPL.
Para aqueles que estão se iniciando em ADVPL é uma boa referência.
Um “Ponto de Atenção”:
No fragmento de código acima, utilizado para validar o Jogo, utilizei a seguinte expressão:
lMatch := &cMatch.(@aShapes,@nSqrtBtn,@nButtons) |
Nela faço uso do operador de macro & para executar as funções de validação com passagem de parâmetros.
aMatch := { "AlgMatchL1" , "AlgMatchR1" , "AlgMatchL2" , "AlgMatchR2" } |
Lembrando que, para compilar o Projeto u_game15.prj, existem dependências dos includes que se encontram em: \u_game15\include\ |
Referências a BlackTDN GAME15:
[]s
иαldσ dj
- Gerar link
- Outros aplicativos
Comentários
Postagens mais visitadas
BlackTDN :: RLeg ~ Desvendando a Função ParamBox
- Gerar link
- Outros aplicativos
Protheus :: Chamando Funções do Menu Diretamente e sem a Necessidade de Login
- Gerar link
- Outros aplicativos
problema com esse include #INCLUDE "NDJ.CH"
ResponderExcluirCompilando arquivos...
c:\u_game15\ndjlib\ndjlib025.prg...
(no projeto Game15)
Erro de compilação:
c:\u_game15\ndjlib\NDEE67~1.PRG(1) Error C2090 File not found aabonos.ch
Processo interrompido por erro FATAL de compilação.
Compilação finalizada - 1 arquivo(s) - 1 mensagem(s)
Tempo de duração da compilação: 2 segundos
o include aabonos.ch econtra-se em \u_game15\include\protheus\
ExcluirPara que o Projeto u_game15.prj possa ser compilado mapeie os includes das seguintes pastas:
\u_game15\include\
\u_game15\include\protheus\
[]s
иαldσ dj