Eclipse LUI by Fabio914

Qualquer assunto que não seja relacionado a DOOM...
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Eclipse LUI by Fabio914

Mensagem 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)
Editado pela última vez por Fabio914 em Dom Ago 17, 2008 12:40 pm, em um total de 2 vezes.
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Imp Hunter

Mensagem por Imp Hunter »

Eu pénsei que você tava falando do eclipse que teve hj...D:
Rico
Mensagens: 2354
Registrado em: Dom Set 10, 2006 11:49 am
Answers: 0
18
Localização: Atrás do DU0
Contato:

Mensagem por Rico »

eu tbm...
Mas falando sério, linguagem meio diferente...
Eu to tentando terminar C/C++ e começar Java e Phyton
[xfire]p0br3[/xfire]
Futuro PC:

CPU: AMD Athlon x2 64Bits 7750 2.7GHz Black Edition
MoBo: Asus M2 ou M3.
VGA: XFX Geforce 9800 GTX 512MB ou 1GB/256Bits
HD: Seagate 1TB
PSU: ATX 600w REAIS
RAM: 4GB Ram DDR2 Kingstone @800MHz [2x2Gb]
Avatar do usuário
Logan MTM
Mensagens: 2895
Registrado em: Dom Dez 11, 2005 8:12 pm
Answers: 0
19
Localização: Rio de Janeiro - Brasil
Contato:

Mensagem por Logan MTM »

Já to até vendo o dia em que o Fábio vai postar:

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

:mrgreen:
Imp Hunter

Mensagem por Imp Hunter »

DO IT FAGGOT :shock:
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Mensagem 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)
Projetos em andamento
the Core
Eclipse

Projetos parados
Doom 3 on GZDoom
FSD Project

PC
AMD Athlon 64 X2 5200+ (2x 2.6Ghz)
2GB RAM (2x 1GB DDR2)
240GB (160GB SATA + 80GB SATA)
XFX nVidia GeForce 8600 GT (600mhz 256mb)
Placa Mãe ASUS M2N4 SLI (2x PCI-E 16x SLI, 4x DDR2 800, nForce 4)
Fonte 500W reais (esqueci o nome da marca)
Monitor LG Flatron 19'' LCD
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Mensagem 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
Avatar do usuário
DU0
Mensagens: 6690
Registrado em: Sáb Abr 01, 2006 6:59 am
Answers: 0
19
Localização: Deimos Lab.
Contato:

Mensagem por DU0 »

prt?

*noob*
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
Avatar do usuário
Space Marine
Mensagens: 1920
Registrado em: Sáb Fev 11, 2006 6:47 pm
Answers: 0
19
Localização: Brasil
Gender:
Contato:

Mensagem por Space Marine »

Acho q eh a abreviacao de print :P
Avatar do usuário
Fabio914
Mensagens: 1757
Registrado em: Dom Mai 21, 2006 4:38 pm
Answers: 0
18
Localização: Sampa/Sanca
Contato:

Mensagem 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
}