seuqram Posted April 14, 2012 at 01:31 PM Report #449148 Posted April 14, 2012 at 01:31 PM 😕 em 1 noite e uma manha acabei este jogo! meu recorde. isso prova que estou a evuluir... quero que vejam meu video logo depois descarreguem meu jogo no 4 shared onde estará indicado em baixo do video... o jogo chamasse: brick que o objetivo é derrobar tijolos... aumentei minhas capacidades em movimentar um objeto em uma determinada direçao e muitas outras capacidades! mandem comentarios e criticas(bugs,melhorias...) obrigado 😁 link do video: http://www.youtube.com/watch?v=kC17hqZ5wQs&context=C4f83188ADvjVQa1PpcFM6_LL7rsPZ_Ax7mlQnCJgypv5nQVrKAb8=
Baderous Posted April 14, 2012 at 01:50 PM Report #449154 Posted April 14, 2012 at 01:50 PM Sim senhor, está engraçado.
HappyHippyHippo Posted April 14, 2012 at 07:15 PM Report #449203 Posted April 14, 2012 at 07:15 PM sim senhora ... uma noite e uma manha ... no video da para ver que estás a programar muito à estilo C. não deves estar a apreveitar muito as funcionalidades de C++ estarei errado ? IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pedrotuga Posted April 14, 2012 at 08:57 PM Report #449213 Posted April 14, 2012 at 08:57 PM Um clone do arkanoid. Tem bom aspecto sem dúvida. Kudos para o teu ambiente de produção: windows xp + dev-c++! Porque não um jogo novo inventado por ti? Já vimos tantas vezes os mesmo jogos a serem implementados. Quem sabe se não se torna num clássico.
seuqram Posted April 14, 2012 at 09:26 PM Author Report #449216 Posted April 14, 2012 at 09:26 PM ya tens razao... mas eu constru-o jogos que ja foram inventados para que aumente minhas capacidades e aprenda coisas novas... mas quando aumentar elas eu invento um jogo 😕 ... prova que isso aconteceu realmente: meu 1º poste foi este aqui(há uns 3 meses) http://www.portugal-a-programar.pt/index.php?showtopic=49521 isto prova que com estes jogos aumentei...
pikax Posted April 14, 2012 at 10:46 PM Report #449224 Posted April 14, 2012 at 10:46 PM Repito o que o HappyHippyHippo disse, tens que organizar mais o codigo, utilizar OOP(Programacao orientada a objectos) e talvez criar uma framework(ou motor de jogo) para ajudar em projectos futuros. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
KTachyon Posted April 14, 2012 at 10:57 PM Report #449225 Posted April 14, 2012 at 10:57 PM Podias ter gasto mais meia horita a meter um off no video. É que quando acabas de sublinhar uma linha já eu estou a acabar de ler o texto que apresentas no bloco de notas 😕 E, também me parece que o teu código podia ser melhor. Linhas tão grandes e tão parecidas estão mesmo a berrar para serem convertidas numa abordagem mais bonitinha. “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
seuqram Posted April 14, 2012 at 11:05 PM Author Report #449226 Posted April 14, 2012 at 11:05 PM Repito o que o HappyHippyHippo disse, tens que organizar mais o codigo, utilizar OOP(Programacao orientada a objectos) e talvez criar uma framework(ou motor de jogo) para ajudar em projectos futuros. eu não sei trabalhar com classes... o que é um framework e o que queres dizer com motor de jogo???
seuqram Posted April 14, 2012 at 11:09 PM Author Report #449227 Posted April 14, 2012 at 11:09 PM Podias ter gasto mais meia horita a meter um off no video. É que quando acabas de sublinhar uma linha já eu estou a acabar de ler o texto que apresentas no bloco de notas 😉 E, também me parece que o teu código podia ser melhor. Linhas tão grandes e tão parecidas estão mesmo a berrar para serem convertidas numa abordagem mais bonitinha. desculpa lá isso da lentidão... é que o meu gravador ás vezes appressa o video, por isso eu fasso muito lento porquqe tenho medo que o gravador mostre isso demasiado depressa e ninguem conssiga ler! mas da-me um exemplo de linhas bonitas 😕
pikax Posted April 14, 2012 at 11:20 PM Report #449228 Posted April 14, 2012 at 11:20 PM eu não sei trabalhar com classes... o que é um framework e o que queres dizer com motor de jogo??? Umas das grandes vantagens(ou nao 😉) de C++ face ao C, e' programação orientada a objectos, herança de classes etc. http://pt.wikipedia.org/wiki/Framework http://pt.wikipedia.org/wiki/Motor_de_jogo mas da-me um exemplo de linhas bonitas 😕 Linhas "bonitas" sao linhas pequenas, faceis de perceber por exemplo o codigo para criar uma window em Windows API e': //1a window if ((hwnd = CreateWindowEx(dwExStyle, window->GetClassAppName(), window->GetTitleName(), dwStyle | // Defined Window Style WS_CLIPSIBLINGS | // Required Window Style WS_CLIPCHILDREN, // Required Window Style CW_USEDEFAULT, CW_USEDEFAULT, WindowRect.right-WindowRect.left, // Calculate Window Width WindowRect.bottom-WindowRect.top, // Calculate Window Height NULL, NULL, this->m_hInstance, this)) == false) { OUTPUTDEBUGTEXT("Error creating window!\n"); return 0; } //2a window if ((hwnd = CreateWindowEx(dwExStyle,window->GetClassAppName(),window->GetTitleName(),dwStyle | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,CW_USEDEFAULT,CW_USEDEFAULT,WindowRect.right-WindowRect.left,WindowRect.bottom-WindowRect.top,NULL,NULL,this->m_hInstance,this)) == false) { OUTPUTDEBUGTEXT("Error creating window!\n"); return 0; } Qual dos 2 preferes? A 1a ou a 2a? PS: O codigo e' exactamente igual, tirando a identacao. O que quero e' que me digas qual e' que achas mais "bonito" e mais pratico de ler Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
KTachyon Posted April 14, 2012 at 11:35 PM Report #449231 Posted April 14, 2012 at 11:35 PM Quando estás a mostrar o código há lá 5 linhas que começam com: if (quadrados[quadradosvezx][quadradosvezy] == N) ... As linhas em si são todas iguais, excepto o N que é um valor de 1 a 5, e os valores de 3 argumentos no final. Fazer copy-paste e alterar é fácil, mas parece-me melhor se espetares os argumentos num array bidimensional e fazeres uma chamada a um método com o valor N utilizado na comparação e extrair os valores do array, havendo apenas uma chamada em código. Repara também que, como estás a utilizar apenas ifs nesse conjunto de linhas, mesmo que já se saiba que nessa posição está um 1, o computador vai verificar se lá está um 2, e depois se lá está um 3, e depois se lá está um 4 e, finalmente... se lá está um 5. Nesses casos e que o valor não vai alterar e não é suposto continuares a fazer comparações, mais vale utilizar else ifs. De qualquer forma, na minha primeira sugestão, podes colocar o código de apenas uma linha, sem necessidade do if. Mas para ficar ainda mais bonito, e para evitares o impacto de estares a chamar uma função para chamar mais funções, podes colocar isso numa inline function, a que dás um nome mais sugestivo como "desenhaBloco(int i)" que se torna mais simples de ler e não tem impacto nenhum na velocidade do teu código. Não vi mais, porque estar a ler o código num video é bastante chato. Mas é uma coisa que se repara rapidamente quando se está a ver o video porque é a ocasião em que fazes um scroll na horizontal. Penso que deves imaginar um scroll horizontal como uma má prática de programação 😕 “There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -- Tony Hoare
pedrotuga Posted April 15, 2012 at 11:37 AM Report #449266 Posted April 15, 2012 at 11:37 AM Repito o que o HappyHippyHippo disse, tens que organizar mais o codigo, utilizar OOP(Programacao orientada a objectos) e talvez criar uma framework(ou motor de jogo) para ajudar em projectos futuros. Eu concordo com a maior parte das sugestões. Mas esta de OOP 'ser melhor' é que me deixa sempre tipo facepalm. OOP é um paradigma, como tal, por definição, não pode 'ser melhor'. Quando muito pode ser mais adequado a algumas situações, mas nesse caso há que apurar quais. E mais importante, em que medida é que é mais adequado que outro paradigma.
pikax Posted April 15, 2012 at 01:08 PM Report #449281 Posted April 15, 2012 at 01:08 PM Eu concordo com a maior parte das sugestões. Mas esta de OOP 'ser melhor' é que me deixa sempre tipo facepalm. OOP é um paradigma, como tal, por definição, não pode 'ser melhor'. Quando muito pode ser mais adequado a algumas situações, mas nesse caso há que apurar quais. E mais importante, em que medida é que é mais adequado que outro paradigma. Umas das grandes vantagens(ou nao 😕 ) de C++ face ao C, e' programação orientada a objectos, herança de classes etc. Se ignorar-mos o OOP, heranca de classes, templates, etc. O codigo sera muito parecido com o C, e penso que cada linguagem tenha uma forma para programar. Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
seuqram Posted April 15, 2012 at 01:31 PM Author Report #449283 Posted April 15, 2012 at 01:31 PM epa, eu nem conssigo perceber classes! já tentei... por isso, as classes vou deixalas para mais tarde! eu tenho poucos anos!
pedrotuga Posted April 15, 2012 at 01:42 PM Report #449286 Posted April 15, 2012 at 01:42 PM Se ignorar-mos o OOP, heranca de classes, templates, etc. O codigo sera muito parecido com o C, e penso que cada linguagem tenha uma forma para programar. Sim, a grande diferença entre C++ e C é que a primeira tem suporte para programação orientada a objectos por via da sua implementação de classes. Se tirarmos essa parte do C++, ficamos praticamente com C, há apenas umas diferenças aqui e ali. É válida a pergunta: para quê usar C++ se não se está a usar programação orientada a objectos? Talvez o código dele até compila como C. Ou talvez ele precise de usar uma biblioteca ou ferramenta que só tena suporte para C++. Mas parece que a principal razão foi: o seuqram não se preocupou com isso, pegou no seu ide, escreveu um programa e compilou co o compilador que estava a jeito. Para mim é razão que chegue. Seuqram, continua a hackar uns jogos, a melhor maneira de aprender é praticar. Quando achares que o teu método não é produtivo que chegue, começas a aprender tecnicas mais avançadas por necessidade. Um conselho: Publica alguns jogos como open source.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now