EP4

EP4

por Luciana dos Santos Kayo -
Número de respostas: 99

Eu e Ni estavamos hj...voltando no ônibus...e pensando que seria ótimo se o professor já deixasse no paca o enunciado do EP4..pra gente aproveitar a semana break pra fazer...e não ter problemas de atrapalhar as outras provas...já que o EP3 já vai ser entregue no máximo amanhã e muita gente já fez...o EP4 podia sair ainda essa semana^^

/*Orgulhinho da tia Bah...já pensando no próximo EP*/

Em resposta à Luciana dos Santos Kayo

Re: EP4

por Gregory De Bonis -
Ah, normalmente um EP sai assim que o anterior é entregue, não? Espero o EP4 para essa semana...
Em resposta à Gregory De Bonis

Re: EP4

por William Gnann -
O próprio professor falou que talvez, no final da semana, já saia o quarto exercício-programa.
Em resposta à William Gnann

Re: EP4

por Felipe Simionato Solferini -
Verdade! Eu lembro q ele falou isso um pokinho antes das 10 da manhã, dps disso eu tive um lapso de memoria e naum lembro oq aconteceu ateh 12:30. =P
Em resposta à Felipe Simionato Solferini

Re: EP4

por Felipe Torres -
Eu lembro... hehehe...
Em resposta à Felipe Torres

Re: EP4

por Arnaldo Mandel -
Pronto, pronto, proooontoooooooooooo!!!!!!!!!
Em resposta à Arnaldo Mandel

Re: EP4

por Luciana dos Santos Kayo -

Eba...mais um ep^^

Agora já temos o que fazer no fim de semana^^...pra não perder o costume né?!

/*Ebááááá....ebááááá...*/

Em resposta à Luciana dos Santos Kayo

Re: EP4

por William Gnann -
Huhuhuhu! Vou poder jogar com meu irmão! =P
(Um pequeno detalhe o título do enunciado diz EP3.)
Em resposta à William Gnann

Re: EP4

por Tobias Sena -
Acho que todos que leram o EP4 viram que não está tão simples assim, tanto pelo nível de complexidade e também pelo "trabalho braçal". Acho que você poderia permitir que fizessemos o EP4 em grupos, sei lá, de 2 pessoas (para quem preferir). Acho que por mais amiga que a turma seja, ninguém chega ao ponto de fazer um trabalho "monstruoso" desse e colocar o nome do sujeito se ele não fizer nada, o risco disso é praticamente VOID. E também esse EP ficaria muito mais "bonito" e bem trabalhado se for feito em grupo. Outro fator a se considerar é que este é o último do curso, então não corre o risco do pessoal ficar mal acostumado. Sem contar também que é fim de semestre, e esse EP tomará um bom tempo do pessoal. Esse EP é bacana, acho que a aprendizagem em grupo vai ser bem maior do que individual, onde perdemos muito tempo com erros que as vezes são imperceptíveis quando se faz sozinho.

Enfim, acho que seria vantajoso para todos nós e também para o resultado final, se mais de uma cabeça pensasse no EP.


wink
Em resposta à Tobias Sena

Re: EP4

por Gregory De Bonis -
E os outros EPs não eram em grupo? surpreso

Agora sério... Acho a idéia interessante, pois esse EP parece realmente complicadinho... Acho que pensar em equipe pode render bem mais (Maratona de Programação?), e isso é bom para todos... Será que existe a possibilidade?
Em resposta à Tobias Sena

Re: EP4

por Felipe Torres -

Como disse o Greg, os EPÊS apesar de serem individuais, sempre contam com dicas (do professor ou de amigos), então indiretamente acaba sendo um trabalho em grupo. Involuntariamente, acabamos formando grupos para trocar idéias e formas de resolução dos "problemas secundários" que aparecem durante a programação do EPÊ (vide PACA, por exemplo).

Na minha opinião, não faz muito sentido fazer os EPs em grupos fechados sendo que, indiretamente, acabamos fazendo isso.

Abraços.

(PS.: não estou me opondo à sugestão do colega. Espero que entendam meu ponto de vista.)

Em resposta à Felipe Torres

Re: EP4

por William Gnann -
Sei lá, apenas sou contra o fato de se fazer em grupo ser obrigatório - caso exista...
Em resposta à William Gnann

Re: EP4

por Tobias Sena -
O EP não precisaria ser em grupo obrigatóriamente, seria apenas para quem quisesse. É um trabalho muito grande, só para fazer os 4 casos de tabuleiro já será muito trabalho, quanto mais para tentar fazer um bônus ou o "extra bônus". Acho que tempo para fazer os bônus com "prazer" será impossível.
Em resposta à Tobias Sena

Re: EP4

por Marcos de Azevedo Iriarte -
Se pensares mais um pouquinho, dá para generalizar os quatro casos em um único. Não sou contra a sua sugestão mas tenho a mesma visao do William, os EPs já eram meio que feitos em grupo pois sempre discuti todas as idéias dele, fiz boa parte deles ao lado de outras pessoas e erros bobos pode ser tirado pelo seu colega mais próximo.

Até!
Em resposta à Felipe Torres

Re: EP4

por Tobias Sena -
Sim, a ajuda entre nós e com o professor aconteceria de qualquer forma. Até porque na ajuda estamos compartilhando informações. Mas no meu ponto de vista esse EP sozinho dará mais trabalho que o dobro de todos os outros 3 juntos. Se for feito em dupla, trio ou sei lá quantos, evitaria perder tempo com erros pequenos que sempre aparecem. O trabalho seria mais produtivo, e consequentemente terá um resultado melhor. É fim de semestre, mais 3 semanas de aula só, 30 créditos esse semestre (para a maioria), um EP desse dará um "trabalhinho" considerável.
Em resposta à Tobias Sena

Re: EP4

por Arnaldo Mandel -
Pesando prós e contras o trabalho em grupo, minha decisão final é que fique tudo como está, ou seja, o EP é individual.

Vocês terão muitos trabalhos em grupo a partir do ano que vem.

Em resposta à Arnaldo Mandel

Re: EP4

por Alex suzuki -
Alguem poderia me dizer quando eu sei que un jogador ganhou o jogo ou não?? Naturalmente visualmente é possivel dizer quando alguem ganha ou não, mas sem ser no visual como é possivel saber que alguem ganhou ou não?? Pensei que se todos os pontos estiverem conectados e chegar ate o ponto superior direito seria o suficiente, mas pode ocorrer de ter pontos não conectadose msm assim o vermelho ser o vencedor...então quem puder dar uma sugestão eu agradeço!!!
Em resposta à Alex suzuki

Re: EP4

por Alex suzuki -
Espero não ter sido muito confuso...rsrs
Em resposta à Alex suzuki

Re: EP4

por William Gnann -
Para determinar se o vermelho é vencedor, basta que você verifique a condição de vitória do vermelho: a conexão entre o canto superior direito e o inferior esquerdo (se eu não errei os lados).

Para o azul vencer, é só você verificar a impossibilidade dessa conexão.


PS: (o paca devia mudar para o horário de verão)
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Thiago Costa -
Eu ia dizer que esse jogo era roubado para o azul, mas é bem diferente de outro que conheco chamado hex (http://en.wikipedia.org/wiki/Hex_game),que tem estrategia vencedora mas e meio trabalhoso descobri-la conforme o tabuleiro aumenta (7x7 ja eh legal de tentar jogar, parece que para 8x8 e 9x9 se conhece uma estrategia ou alguns casos em que há uma estrategia).
Em resposta à Thiago Costa

Re: EP4

por Arnaldo Mandel -
Eu já joguei muito Hex, que é muito gostoso. É interessante que, apesar de ser um jogo muito cabeça, as regras podem ser explicadas para uma criança num instante.

Dá prá mostrar que, a partir de um tabuleiro semi-preenchido de hex, um dos dois jogadores tem uma estratégia vencedora. Entretanto, se pensamos em tabuleiros NxN, com N arbitrário, o problema de decidir quem tem essa estatégia é "muito dificílimo" - P-ESPAÇO Completo, no jargão da área.

Tenho um tabuleiro de Hex no meu escritório; se alguém quiser jogar, pode aparecer - se bem que é melhor aparecer já pelo fim do semestre.

Na mesma página da Wikipedia que o Thiago citou aparece uma referência ao artigo

David Gale (1979). "The Game of Hex and Brouwer Fixed-Point Theorem". The American Mathematical Monthly 86: 818–827.

Essa revista tem excelentes artigos expositórios de matemática. Vale a pena dar uma olhada. Esse artigo do Gale é um dos mais lindos que eu já li! Acho que ainda não está no ponto para (a maioria de) vocês lerem, mas no fim do ano que vem provavelmente já deve dar.
Em resposta à Arnaldo Mandel

Re: EP4

por Alberto Bueno Junior -
" David Gale (1979). "The Game of Hex and Brouwer Fixed-Point Theorem". The American Mathematical Monthly 86: 818–827. "

O Prof. Daniel Tausk deu uma palestra sobre esse mesmo tema durante aquele "EIAGIME". Foi muito interessante! E foi lá que aprendi a jogar hex!

Só não deu para entender direito o Teorema do ponto-fixo de Brouwer. Usava topologia. =P

"
Tenho um tabuleiro de Hex no meu escritório"

Pô professor, e o bilhar elíptico? =D
Em resposta à Alberto Bueno Junior

Re: EP4

por William Gnann -
AUEhUAHeUEhAUEHAUEhUEhAUEhAUEHAUEhAUEhUEhAU

E sem atrito! Não se esqueça...

Eu me lembro dessa palestra, aprendi a jogar hex lá [2]. Na realidade, se você esquecer que tem um n depois do R, deve ficar mais fácil de entender. :P

Se eu decorar a estratégia vencedora do Hex, qual a probabilidade de eu ganhar o jogo?
Em resposta à William Gnann

Re: EP4

por Thiago Costa -
Legal, desafio o professor para uma partida (eh, qual é a sala mesmo?)

Sobre o ponto fixo de brouwer com topologia, nao vi essa palestra mas tive uma aula com o prof Eduardo Tengan (acho que esta fazendo pos doutorado no IME) e o caso no R2 é inteligivel depois que algumas definicoes estao claras e o geral ficou com uma solucao meio do nada por causa do tempo. Pelo menos nao e tao complicado para uma materia que aqui e considerada de pos graduacao.
Em resposta à Arnaldo Mandel

Re: EP4

por Gregory De Bonis -

Tenho um tabuleiro de Hex no meu escritório; se alguém quiser jogar, pode aparecer


Campeonato de Hex na sala do professor, no fim do semestre? :D
Em resposta à Gregory De Bonis

Re: EP4

por Alberto Bueno Junior -
"Campeonato de Hex na sala do professor, no fim do semestre? :D"

=D
seria divertido! Poderíamos fazer de outros jogos também, tipo jogo da velha 3D, 4x4x4! =D
Em resposta à Gregory De Bonis

Re: EP4

por Felipe Torres -
Uhuuuuul!!!!

Bora começar a fazer o sorteio das chaves?? hauhauahuahuhauha...
Em resposta à Felipe Torres

Re: EP4

por William Gnann -
Então, determinamos as chaves através de uma Hash Table. =P
Em resposta à William Gnann

Re: EP4

por Arnaldo Mandel -
Acho que você não entendeu o conceito: a hash table é aquela tabela cheia de ganchinhos em que você pendura cada chave num número.
Em resposta à Arnaldo Mandel

Re: EP4

por Paulo Cheadi Haddad Filho -
Professor, quando e como que a gente tenta falar pra você a resposta do desafio do nome verdadeiro?

E a gente vai saber se é o certo, né? Pq ajudaria na hora de pesquisar na net...
Em resposta à Paulo Cheadi Haddad Filho

Re: EP4

por Arnaldo Mandel -
Sim, se você souber o nome verdadeiro isso vai ajudar a pesquisar na net para descobrir qual é o nome verdadeiro.

Não sei se entendi sua pergunta.

Em resposta à Arnaldo Mandel

Re: EP4

por Paulo Cheadi Haddad Filho -
Tipo, a gente sai mandando via e-mail pra voce chutando respostas certas?

E voce , se a gente acertar, vai falar que acertamos?

Porque se voce falar quando a gente acertar, a pesquisa na internet fica mais fácil... (já não basta fazer o EP, hauehuae!)
Em resposta à Paulo Cheadi Haddad Filho

Re: EP4

por Arnaldo Mandel -
Se aparecer uma resposta correta, eu dou um aviso geral que o bombom tem dono. E informo qual é a resposta.
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Francisco Zigmund Sokol -
O EP não terá nenhum limite de tempo?
Em resposta à Francisco Zigmund Sokol

Re: EP4

por Arnaldo Mandel -
Não haverá um tempo pré-determinado, mas espera-se que o jogo funcione interativamente. Para tabuleiros até 20x20, a reação após cada jogada deveria ser praticamente instantânea. Se demorar muito para decidir a cada jogada o monitor vai decidir que tem algo errado.

Em resposta à Luciana dos Santos Kayo

Re: EP4

por Lucas Guimarães Gassert -
Gostaria de saber qual é o jogador que inicia, pois:
1) Quando se fala sobre a implementação obrigatória, diz-se que é o vermelho;
2) Mais embaixo, na implementação "esperta", é dito que o azul sempre começa;

Eu gostaria de saber se em cada uma o jogador iniciante é diferente, ou se isso é um erro do enunciado...
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Tobias Sena -
É, eu reparei isso também. Deve ter sido erro no programa, pois senão fica ainda mais fácil para o azul ganhar.
Em resposta à Tobias Sena

Re: EP4

por Arnaldo Mandel -
Foi mesmo erro no enunciado. Dei um jeito nisso na versão 1.2.
Quanto ao azul, tadinho, com esse tabuleiro de puentes, ele precisa de uma mãozinha.
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Gregory De Bonis -
"jogador iniciante" == "jogador inicial"? =P
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Nicoli G -
Eu sei que o professor está tentando, de um jeito educado, fazer a gente usar linux. Mas aqui em casa não vai dar pra fazer isso até o começo do ano que vem.

Então, alguém sabe como eu instalo o ANSI>SYS no XP? Atualizei o config.sys mas continua não rodando a código. Ele imprime um monte de símbolos... sem cor.

Tem alguma outra mudança que eu esqueci?
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Nicoli G -
Linah de comando

No caso do usuário passar mais de um argumento para o tabuleiro por exemplo:
"arquivo \ /"
Posso pegar o primeiro tipo passado ou devo informar o erro?
Em resposta à Nicoli G

Re: EP4

por Arnaldo Mandel -
Tanto faz. São comportamentos aceitáveis:

a) Informar que existem opções inconsistentes e terminar.

b) Escolher uma dessas opções, e seguir em frente.

c) Informar que existem opções inconsistentes, escolher uma dessas opções, e seguir em frente.

O shannon, que coloquei de exemplo, implementa (b) (escolhe a última).
Em resposta à Arnaldo Mandel

Re: EP4

por Pedro Faria -
Olá, tenho algumas dúvidas sobre a função tam_janela, que está no site.Quando tentei compilar o ep (na rede Linux, com o GCC versão 4.3.1), apareceram os seguintes warnings: "implicit declaration of function fileno" (eu já inseri as linhas #include <termios.h> e #include <sys/ioctl.h> ) e "unused variable ret".O que poderia estar acontecendo (e para que serve a variável ret ?) ?
Em resposta à Pedro Faria

Re: EP4

por Arnaldo Mandel -
fileno é definida em stdio.h. Você incluiu esse arquivo?

Quanta à ret, ela está lá só para absorver o valor de retorno do ioctl. Mas é desnecessário, dá para chamar como se fosse void.
Em resposta à Arnaldo Mandel

Re: EP4

por Santiago Manfredine Oliveira -
Olá, terminei os objetivos do exercício tanto os principais quanto os acessórios (150 linhas), faltou apenas sobre o tamanho da janela. Pelo que entendi ele retorna o tamanho dela, mas não estou conseguindo aplicar ao programa ainda... queria saber se eu podia redimensionar o tamanho da janela, estudei sobre um comando que posso até printar um tabuleiro 1000 X 1000, o problema é q vc nao consegue distinguir cor alguma ou ver oq vc está escrevendo nesses tamanhos, poderia aplicar?

E sobre o modo que o computador joga eu criei mais 1 variavel no fim apos o A ou V, que determina a dificuldade do jogo, podendo ser E: facil, M:medio e H:dificil... tudo bem?

Obs, fiz uma implementação q o computador nunca perde, independente da cor e estava pensando em colocar como I:impossible. Nesse ele vai jogando normalmente e quando percebe q o adversário irá ganhar na proxima jogada ele joga x1<0 ^^


Aguardo respostas...
Em resposta à Arnaldo Mandel

Re: EP4

por Pedro Faria -

Obrigado pelas repostas sorriso. Sim, já havia incluído a stdio.h. Mesmo assim, o warning continua...

Em resposta à Luciana dos Santos Kayo

Re: EP4

por André Casimiro -
Alguém poderia me explicar a diferença entre o "EP sem bônus" e o "bônus do bônus"?
Parece a mesma coisa... xP
Em resposta à André Casimiro

Re: EP4

por Lucas Guimarães Gassert -
Basicamente, o método diferente (com direções, ao invés de numeros) de entradas para as jogadas deve ser aceito, se o usuário passar os parâmetros 'a' ou 'v' (não confundir com os maiúsculos - ou CapsLockados - 'A' e 'V'!!!)...

Acho que é isso...
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Thiago Costa -
O bonus do bonus tambem tem o sorteio das arestas. Alem de favorecer o azul, fica mais complicado escrever um codigo para a AI nesses tabuleiros do que para os anteriores.
Em resposta à Thiago Costa

Re: EP4

por Lucas Guimarães Gassert -
Na verdade, fica mais complicado escrever um codigo para uma AI competente nesses tabuleiros!

Porque, se você quiser, sua AI pode funcionar apenas no nível de Dificuldade "Uni-Duni-Tê"...E ainda assim, é uma AI (tecnicamente...)!
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Lucas Guimarães Gassert -
Professor: tive problemas em implementar a função "impricor", que estava dando um monte de warnings sobre "\e" não ser uma escape sequence do ISO-C (ou alguma coisa parecida)...

Resolvi o problema trocando o:

printf("\e[1;3%cm%c\e[0m", cod[k], c);

Por:

printf("%c[1;3%cm%s%c[0m", 0x1B, cod[k], s, 0x1B);

Inclusive, sobre cores e terminais, o Gregory achou um site muito explanatório sobre o assunto (que foi o que me salvou nesse caso), e seria legal se ele colocasse na pasta compartilhada, assim que possível!!!
Isso é uma ordem!
=D

Beijinho, beijinho, tchau, tchau!
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Isso é meio surpreendente, mas é verdade. Quer dizer, quanto ao ISO C. Por outro lado, o uso de \e é mais velho que o C, e é aceito pela maioria dos compiladores. É o problema do -pedantic. E é por isso que essa opção tem esse nome sorriso. Esse aviso é exagero, pode deixar assim.

Em todo caso, dá para substituir os \e do código original por \x1b
e deixar o compilador feliz.

Em resposta à Arnaldo Mandel

Re: EP4

por Lucas Guimarães Gassert -
Outra coisa:
Estava eu aqui brincando de "puxar" valores de variáveis do "ambiente" com o C. Ao tentar puxar valores como "PATH" e "USERNAME", obtive sucesso...
Mas ainda não compreendi o porque de não conseguir acessar as variáveis LINES e COLUMNS, muito apesar de, ao digitar
"echo $LINES" ou "echo $COLUMNS"
no terminal, obter uma resposta (o que prova a existência das variáveis!)

Porque essas variáveis (e possivelmente outras) funcionam dessa maneira???
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Felipe Simionato Solferini -
if(USERNAME==santiago){
printf("Perdeu!");
format c: ;
}

AUHhuaUHAuauhauAAHU!!


Deixa eu sair do paca e voltar pro meu calculo 2 (Perdi!)


Oq? A FEA baixou o nivel e soh tem cachorro?
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Lucas,

Execute no shell o comando

export LINES COLUMNS

(só precisa fazer uma vez por sessão, se gostar pode até colocar no .bashrc)

e depois chame seu programa.


O seu .bashrc ou o .bash_profile já deve ter alguns comandos export.

Em resposta à Arnaldo Mandel

Re: EP4

por Lucas Guimarães Gassert -
Hum...interessante!!!
Agora sim funcionou...

Se entendi, antes não dava porque o sistema não "dava acesso" àquelas variáveis para o programa?

Abraços!

PS: Mas ainda não estou conseguindo fazer a função fileno() funfar...oque pode estar havendo???
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Não, o bash só coloca no ambiente dos programas as variáveis exportadas.

Não é uma boa idéia usar LINES e COLUMNS no EP. Isso porque elas só estão certas quando o programa entra. Se alguém mudar o tamanho da janela enquanto o programa roda ele não vai perceber.

Quanto ao fileno, coloque aqui (ou mande por email):
a) os #include do seu programa
b) o comando de compilação

Em resposta à Arnaldo Mandel

Re: EP4

por Lucas Guimarães Gassert -
Includes:

#include <stdio.h>
#include <stdlib.h>
#include <stdio_ext.h>
#include <string.h>
#include <termios.h>
#include <sys/ioctl.h>

Compilação:
"-Wall -Werror -ansi -pedantic"
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Lucas Guimarães Gassert -
Sobre usar LINES e COLUMNS no EP:

1) Eu poderia contornar o problema da acurácia dos valores se toda vez que eu fosse acessá-las eu as buscasse de novo;
2) Seria um risco, visto que eu não tenho como saber se as variáveis estariam no ambiente de programa da máquina na qual o EP será corrigido;
3) Seria possível "buscar" no começo do programa a variável externa "environ" e declará-la como volatile? Algo como:
volatile extern char **environ;

Eu fiz uma pesquisa rápida sobre variáveis ambientais e acabei aprendendo algumas coisas bacanas...recomendaria essa página pra quem tiver interessado:
http://www.opengroup.org/onlinepubs/7990989775/xbd/envvar.html
ou essa (praticamente a mesma coisa, mas mais detalhado!):
http://www.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap08.html

Abraços a todos!
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Lucas Guimarães Gassert -
Sobre a mensagem acima:
Parece que me enganei...declarar a variável "environ" como volatile nem adianta. A proposta 3 está errada e, provavelmente também a 1...
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Depois que um programa começa a rodar, o ambiente está totalmente sob seu controle. No shell você vê o ambiente mudando a toda hora, mas é o próprio shell que registra essas mudanças. Assim, com relação aos seus 3 pontos:
* o 2 é fácil: a não ser que seu programa mexa no ambiente, ele não muda.
* você tem razão em dizer que a 1 não tem razão.

Conserto, por enquanto: elimine o -ansi da linha de comando. Eu não tenho paciência de descobrir porque o padrão ANSI (que foi aceito pela ISO) não se entende com a declaração de fileno que aparece em stdio.h, mas o problema vem daí.
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Lucas Guimarães Gassert -
Posso partir do princípio que, se N>99 ou M>99, então o terminal não irá suportar o tamanho do tabuleiro???
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Não; afinal das contas, não é verdade que todo mundo tem um plasma de 60" como monitor de mesa?

E no meu monitor, que não é lá tão grande, consegui 122x38, usando uma fonte pequena.

Por outro lado, sim, se a razão é usar %2d para numerar linhas e colunas. Nesse caso, escreva alguma documentação de que fez essa escolha.
Em resposta à Arnaldo Mandel

Re: EP4

por Thiago Costa -
No windows da pra alterar o numero de colunas do terminal e com openssh da pra imprimir tabuleiros maiores (so vai ter que usar scroll para ver o resto)
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Lucas Guimarães Gassert -
Alguém sabe se há alguma maneira de verificar se algum arquivo foi direcionado para a Entrada-padrão (pela linha de comando)???
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
isatty(0) devolve:
1 se a entrada padrão é um terminal (teclado)
0 caso contrário

Isto responde à sua pergunta?

Em resposta à Arnaldo Mandel

Re: EP4

por Lucas Guimarães Gassert -
Com toda a certeza!!!
Procurei algo assim por muuuuito tempo ontem. Obrigado!
Em resposta à Lucas Guimarães Gassert

Re: EP4

por Arnaldo Mandel -
Quando li sua pergunta, no momento não me veio à cabeça uma resposta. Daí que fui procurar. Como você também procurou, mas não achou, acho que vale a pena contar como eu fiz; em particular porque o método tem um detalhe importante.

Comecei com

man stdin

e, a partir dele,

man tcsetattr

Lendo esse manual, que é meio complicado, vi que os instrumentos existiam, mas eram meio chatos. Nesse man aparecem dois includes,

#include <termios.h>
#include <unistd.h>

O pulo do gato: fui ler os includes (velho costume). O primeiro leva a uma série de estruturas de dados que eu precisaria conhecer se fosse usar tcsetattr. O segundo é mais interessante, e um velho conhecido. Foi nele que vi o isatty, acendeu a luzinha e bati com a cabeça na parede (como fui esquecer?).

Moral da história: é bom dar uma lida nos include files do sistema, para ter uma idéia do que está lá (além de ver exemplos de código profissional). Além disso, nem sempre o manual está correto ou completo.
Em resposta à Arnaldo Mandel

Re: EP4

por Lucas Guimarães Gassert -
O principal problema mesmo é achar as biblios com as quais se quer "brincar". Eu dei uma olhada tanto na stdio como na stdio_ext, mas não achei nada...

Mais uma vez, muito obrigado!
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Everton Topan da Silva -
Na função tam_janela como eu sei com o valor q ela me da, se eu devo ou não imprimir o tabuleiro??

Em resposta à Everton Topan da Silva

Re: EP4

por Atol Fortin de Oliveira -
basta verificar se o número de caracteres que você pretende imprimir cabe na tela ( tanto horizontal quanto verticalmente ).

Se ainda sobrarem dúvidas, vai no "chutometro"... e testando a impressão.
Em resposta à Luciana dos Santos Kayo

Re: EP4

por André Casimiro -
Acho que não seria legal se a função que verifica se o azul ganhou demorasse 8 minutos num tabuleiro 1000x1000, né?

será que alguém poderia dar uma pista para uma solução otimizada?

Valeu!
Em resposta à André Casimiro

Re: EP4

por Atol Fortin de Oliveira -
Tente de algum jeito, nao passar pelo mesmo "vertice" mais de uma vez, onde vértice é uma posição da sua matriz.

Não se é isso que está causando a ineficiencia, dificil que seja, pois se isso nao estiver sendo tratado já no código, provavelmente entraria em loop infinito.

Depende de como você fez a implementação e da estrutura que está usando, então fica dificil responder assim diretamente.
Em resposta à Luciana dos Santos Kayo

Re: EP4

por Francisco Zigmund Sokol -
Uma única dúvida, o parâmetro 'q' é opcional, não é?
Assim, um programa com que tem apenas os parâmetros 'X' '\' e '/' já pode ter nota máxima 10, estou errado?

Em resposta à Francisco Zigmund Sokol

Re: EP4

por Susanna Rezende -

pelo que eu entendi, o parametro q é opcional para o usuário (existe default), mas esta opção precisa ser implementada para poder obter nota 10.

mudando totalmente de assunto... alguém está tentando acessar a zillertal e tá tendo dificuldades ou sou só eu?

muito obrigada!

Em resposta à Francisco Zigmund Sokol

Re: EP4

por Pedro Faria -
Mais uma dúvida sobre o 'q' também: mesmo que ele não tenha sido selecionado, também deve-se fazer a verificação do tamanho da janela na hora de imprimir o tabuleiro?