Ir ao conteúdo
  • Cadastre-se

Benjamin Breeg

Membro Pleno
  • Total de itens

    221
  • Registro em

  • Última visita

  • Qualificações

    0%

Reputação

240

1 Seguidor

Informações gerais

  • Cidade e Estado
    Rio de Janeiro/RJ
  • Sexo
    Masculino
  1. Partindo do principio que você deseja desenvolver um sistema operacional do zero deve ter um conhecimento bastante razoável de C++, Assembly e hardware. Acredito que uma boa forma de aprender é estudar o código de quem o fez, tente procurar nos repositórios do GitHub pequenos projetos, pode ser uma boa para tentar entender como funciona o desenvolvimento de um SO na pratica. Aqui pode ser um bom ponto de partida: https://wiki.osdev.org/Main_Page
  2. Entendi você quer fazer um jogo no console.. é possível tem que criar um handle para console window. Seguindo aquele exemplo mas sem abrir janela gráfica, processamento de mensagens etc etc #include <windows.h> static COLORREF redColor=RGB(255,0,0); static COLORREF blueColor=RGB(0,0,255); static COLORREF greenColor=RGB(0,255,0); /* SetPixel */ void setPixel(int x,int y,COLORREF& color=redColor) { HWND console = GetConsoleWindow(); HDC hdc = GetDC(console); SetPixel(hdc,x,y,color); ReleaseDC(console, hdc); return; } void drawLineBresenham(int xa, int ya,
  3. Aqui tem um exemplo de como usar SetPixel para desenhar linhas através do algoritmo de Bresenham. Talvez ajude. #include <windows.h> #include <cmath> #define ROUND(a) ((int) (a + 0.5)) /* set window handle */ static HWND sHwnd; static COLORREF redColor=RGB(255,0,0); static COLORREF blueColor=RGB(0,0,255); static COLORREF greenColor=RGB(0,255,0); void SetWindowHandle(HWND hwnd) { sHwnd=hwnd; } /* SetPixel */ void setPixel(int x,int y,COLORREF& color=redColor) { if(sHwnd==NULL) { MessageBox(NULL,"sHwnd was not initialized !","Error",MB_OK|MB_ICONERROR); exit(
  4. Isso pode ajudar, na essência esse VisualG é um compilador pascal traduzido, ele não deve possuir todos os recursos da linguagem pascal mas com esse referencia fica fácil você fazer a transição. https://fdocumentos.tips/document/transicao-do-pascal-para-c.html
  5. Existe também o livro introdutório de C++ do Bjarne Stroustrup: Princípios e Práticas de Programação com C++, já vi dele sendo vendido em sebos online por preços mais camaradas, um que que tem boas recomendações em forums e lista de melhores livros é o C++ Primer, 5th Edition do Stanley B. Lippma. Esse link pode ajudar: https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
  6. Acho que depende do seu gosto pessoal, se gosta do Python tem muitas opções para desenvolvimento de jogos, tem o PyGame, Cocos2d, a Godot engine que usa GDScript(baseado em python), a Panda3d fora versões de bibliotecas gráficas consagradas do C/C++ que foram portadas para o Python: PyOpenGL, PySFML, PySDL2 entre muitas outras. Agora acredito que quando se fala em desenvolvimento de jogos não tem como não falar em C++, praticamente toda grande e pequena engine mesmo que use scripts baseados em outras linguagens é construída em C++, fora que C++ é sintaxe base para muitas linguagens
  7. Sim... época diferente.. Não lembro onde li que os caixas eletrônicos nos anos 90 usavam essa conio para exibir as telas gráficas mas como você bem mencionou naquele tempo os programadores tinham acesso sem restrição ao hardware.
  8. Engraçado no TC da pra montar umas telinhas apenas passando os códigos ascii, tentei reproduzir o mesmo no Windows 10 com a conio2.h (implementação da antiga conio.h para sistemas Windows) e não funciona. Mesmo passando os códigos certos o console do Windows parece não aceitar. Aqui o código para rodar TURBO C++ 3.0 emulado com DOSBOX... É fui longe com a arqueologia agora hehe... #include<stdio.h> #include<dos.h> #include<ctype.h> #include<string.h> #include<conio.h> #include<stdlib.h> void main() { clrscr(); _setcursortype(
  9. Eu tenho essa função aqui que faz aquele tipo de moldura, com certeza da pra melhorar. Veja se ajuda. #include <stdio.h> #include <windows.h> void gotoxy(int x, int y) { HANDLE hCon; COORD dwPos; dwPos.X = x; dwPos.Y = y; hCon = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleCursorPosition(hCon,dwPos); } void retangulo() { // Linhas horizontais for(int i=2; i < 78; i++){ gotoxy (i, 3); printf ("%c", 205); gotoxy(i, 23); printf ("%c", 205); } // Linhas verticais for(int v=4; v < 23; v++){ gotoxy
  10. o C tem um desenvolvimento mais lento, tivemos o C11 em 2011 e depois o C18 em 2018. O grupo de trabalho do C++ é mais atuante, a linguagem vem passando por constantes atualizações desde de 98 mas acredito que não da pra fazer uma comparação direta com o Python porque são nichos diferentes. Enquanto Python visa abstração máxima mas paga o´preço quanto a velocidade e performance, o C++ visa alta performance e velocidade trabalhando mais próximo da maquina portanto o desenvolvimento de cada uma segue rumos totalmente diferentes, não espere ver comandos que só falta a se e
  11. Acho que esse console graphics do Dev C++ usa uma versão portada da BGI(Borland Graphics Interface) dos sistemas MSDOS para Windows, procure por BGI para aprender os comandos para o desenhos de formas geométricas primitivas, linhas, círculos etc etc Ou tentar partir para algo mais moderno SDL2, SFML porém já que parece que seu curso usou esse sistema melhor não inventar moda hehe.
  12. C e C++ não tem esse tipo de possibilidade nativamente, para Windows você pode usar bibliotecas que são usadas para desenvolvimento daqueles jogos RPG em modo console. Essa por ex: https://tapiov.net/rlutil/ Esse código gera o exemplo acima.. #include "rlutil.h" #include <stdlib.h> // for srand() / rand() #include <stdio.h> #include "math.h" #ifndef min #define min(a,b) (((a)<(b))?(a):(b)) #endif // min /// Tiles #define FLOOR 0 #define WALL 1 #define COIN (1 << 1) #define STAIRS_DOWN (1 << 2) #define TORCH (1 <<
  13. Uma boa forma de entender como o algorítimo funciona é que matematicamente falando é uma propriedade distributiva, o elemento que esta no v[1] vai ser comparado com o v[2], v[3], v[4] ate o final, a partir disso o elemento que esta no v[2] não precisa mais ser comparado com o elemento que esta em v[1] porque já foi previamente comparado precisando apenas ser comparado com vetor[3], vetor[4] e assim por diante.
  14. Eu uso a rlutil, ela é uma especie de sucessora espiritual da conio2. Bastante simples o uso basta incluir o header, funciona em C++ e C, ela detecta automaticamente e ajusta o código. No repositório tem exemplos de C e C++. https://github.com/tapio/rlutil
  15. Infelizmente não é tão simples assim... Você pode usar uma biblioteca para esse fim ou criar um programa que gera toda a estrutura que define um arquivo PDF mas para tal façanha teria que estudar o padrão do formato PDF. Felizmente a Adobe disponibiliza o documento de graça mas como pode ver tem mais de 700 paginas. https://www.adobe.com/devnet/pdf/pdf_reference.html

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

minicurso-montagem-popup.jpg

MINICURSO GRÁTIS!

Como ganhar dinheiro montando computadores!

CLIQUE AQUI E INSCREVA-SE AGORA MESMO!