[phpBB Debug] PHP Warning: in file /bitnami/phpbb/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
[phpBB Debug] PHP Warning: in file /bitnami/phpbb/ext/kinerity/bestanswer/event/main_listener.php on line 514: Undefined array key "poster_answers"
BrDoom Fórum • Eclipse LUI by Fabio914
Página 1 de 3

Eclipse LUI by Fabio914

Enviado: Sáb Ago 16, 2008 11:18 pm
por Fabio914
Eclipse - Lite User Interface

Bom , eu tava trabalhando com isso em paralelo com o Z1 mas não quis divulgar nada por enquanto , mas agora que eu já tenho algo um pouco mais concreto , embora isso ainda seja um conceito , eu já vou mostrar... :wink:

Em resumo , esse programa ai é uma interface "gráfica" de texto (ou seja , um esquema de programa de "janelas" dentro do modo de texto).

Não sei se isso vai ser algo realmente útil mas eu fiz isso pensando em montar um modo gráfico para computadores (muito) antigos. Com algo assim poderiamos reescrever programas que usam a API do Windows para usarem a API do Eclipse e funcionarem sem o modo gráfico.

Vejam um exemplo do código do Quiz Doom no Windows e no Eclipse.

Windows

Código: Selecionar todos

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,char *comandos, int Visualizacao)
{
  int botao;
  int pontuacao=0;

  botao = MessageBox(NULL, "Primeira pergunta\nDoom foi inventado em 1995?","Quiz Doom", MB_YESNO + MB_ICONQUESTION);

  if (botao==IDNO){
	pontuacao++;
	}

  botao = MessageBox(NULL, "Segunda pergunta\nA BFG é a arma mais forte do jogo?","Quiz Doom", MB_YESNO + MB_ICONQUESTION);

  if (botao==IDYES){
	pontuacao++;
	}


  if (pontuacao==0){
  MessageBox(NULL, "Você fez 0 pontos.", "Fim",MB_OK + MB_ICONEXCLAMATION);
  }

  else if(pontuacao==1){
  MessageBox(NULL, "Você fez 1 ponto.", "Fim",MB_OK + MB_ICONEXCLAMATION);
  }

  else if(pontuacao==2){
  MessageBox(NULL, "Você fez 2 pontos.", "Fim",MB_OK + MB_ICONEXCLAMATION);
	}

  return 0;
}
Eclipse (DOS)

Código: Selecionar todos

extern int y;

main(){
char op;
cls();


prt_border("  Pressione I para iniciar  "); //Imprime borda e nome do programa
prt_back();                                 //Imprime fundo
prt_cursor();                               //Imprime Cursor

op = getch();
switch (op){
case'q':eclipse_exit(); break;
case'i':{
//INICIO PROGRAMA

char get;
int pont=0;

prt_win_quest("Quiz Doom","Primeira pergunta","Doom foi inventado em 1995?",y+1);
get = getch();

switch (get){
    case'y':break;
    case'n':pont++;break;
    default:prt_win_msg("Erro: tecla errada!",y+7);break;
    }

prt_win_quest("Quiz Doom","Segunda pergunta","BFG e a arma mais forte do jogo?",y+1);
get = getch();

switch (get){
    case'n':break;
    case'y':pont++;break;
    default:prt_win_msg("Erro: tecla errada!",y+8);break;
    }

if(pont==0){
prt_win("Quiz Doom","Voce fez","0 pontos",2);
get = getch();
}

else if(pont==1){
prt_win("Quiz Doom","Voce fez","1 ponto",2);
get = getch();
}

else if(pont==2){
prt_win("Quiz Doom","Voce fez","2 pontos",2);
get = getch();
}

//FIM PROGRAMA
break;}
default: break;
}

cls();   //limpa tela
main(); //reinicia
}


Minha internet está meio ruim ultimamente então não consegui fazer o upload do pacote com o programa , a API e o Quiz Doom para Eclipse (tudo pesa ~190kb).


Falow!

EDIT

Download
http://fabio914.googlepages.com/eclipse_01.rar
(197kb)

EDIT 2

Screenshots

Imagem
Terminal

Imagem
Modo "gráfico" (rodando Quiz Doom)

Enviado: Sáb Ago 16, 2008 11:41 pm
por Imp Hunter
Eu pénsei que você tava falando do eclipse que teve hj...D:

Enviado: Dom Ago 17, 2008 12:26 am
por Rico
eu tbm...
Mas falando sério, linguagem meio diferente...
Eu to tentando terminar C/C++ e começar Java e Phyton

Enviado: Dom Ago 17, 2008 5:46 am
por Logan MTM
Já to até vendo o dia em que o Fábio vai postar:

"Liberado meu FabioGZDoomLegacy3DDay! Só roda em Linux."

:mrgreen:

Enviado: Dom Ago 17, 2008 11:15 am
por Imp Hunter
DO IT FAGGOT :shock:

Enviado: Dom Ago 17, 2008 11:57 am
por Fabio914
Imp Joker escreveu:Eu pénsei que você tava falando do eclipse que teve hj...D:
Na verdade o nome original desse projeto era outro , mas anteontem eu troquei por esse nome graças a esse eclipse lunar... ^^

EDIT

Finalmente consegui fazer o upload , segue ai o link de download:

http://fabio914.googlepages.com/eclipse_01.rar
(197kb)

Enviado: Ter Ago 19, 2008 6:21 pm
por Fabio914
Post duplo , but...

Pra quem quiser desenvolver algum programa usando essa API , segue ai as funções... (também aceito sugestões de funções a serem feitas... OBS.: Estarei aumentando o tamanho da "tela de trabalho" e criando mais opções de funções de criação de janelas).

prt_cursor()
Inicia cursor

cls()
Limpa a tela

prt_border("nome do programa")
"Imprime" borda superior com nome do programa

prt_back()
"Imprime" fundo

prt_win_msg(char mensagem[20],int pos)
Cria janela de mensagem (para erros ou avisos) de até 20 caracteres e na posição Y desejada

prt_win(char titulo[20], char msg[32] , char msgb[32],int pos)
Cria janela com titulo de 20 caracteres , primeira linha da mensagem de 32 , segunda linha da mensagem de 32 e posição Y desejada

prt_win_quest(char titulo[20], char msg[32] , char msgb[32],int pos)
Mesma coisa que a anterior só que também coloca na janela as opções Y e N

eclipse_exit()
Sai do programa

Enviado: Ter Ago 19, 2008 10:16 pm
por DU0
prt?

*noob*

Enviado: Ter Ago 19, 2008 10:20 pm
por Space Marine
Acho q eh a abreviacao de print :P

Enviado: Qua Ago 20, 2008 12:29 am
por Fabio914
Space Marine escreveu:Acho q eh a abreviacao de print :P
É isso mesmo... :wink:

EDIT

A fim de otimizar o código e para facilitar eu criei outras funções , dentre as quais a win_ok() e win_quest() são as principais (elas são a mesma coisa que a prt_win_quest() e a prt_win_ok() [essa é a mesma que a quest só que tem só o OK como opção] só que também já retornam o valor dependendo da tecla apertada e se a tecla for errada ele repete a "impressão" da janela). Vejam agora como ficou o código do Quiz Doom:

Código: Selecionar todos

extern int y;

main(){
eclipse_program("  Pressione I para iniciar  ");
}


eclipse_main(){
//INICIO PROGRAMA

int pont=0;

if (win_quest("Quiz Doom","Primeira pergunta","Doom foi inventado em 1995?",y+1) == 0){
pont++;
}


if (win_quest("Quiz Doom","Segunda pergunta","BFG e a arma mais forte do jogo?",y+1) == 1){
pont++;
}

if(pont==0){
win_ok("Quiz Doom","Voce fez","0 pontos",2);
}

else if(pont==1){
win_ok("Quiz Doom","Voce fez","1 ponto",2);
}

else if(pont==2){
win_ok("Quiz Doom","Voce fez","2 pontos",2);
}

//FIM PROGRAMA
}