View Full Version : Ola, precisso de ajudar para este problema. urgente


flygye
05-02-2006, 00:54
Ola amigos, precisso de ajuda. precisso de fazer este programa e nao sei como. sera que alguem com experiencia me programacao me podia ajudar.


Objectivos:
- Desenvolvimento de programas que envolvem comunicação entre processos em ambiente UNIX.
- Familiarização com a criação e utilização de sockets (System V).
- Teste de valores de retorno das chamadas ao sistema, nomeadamente o controlo de erros.

Programa a desenvolver (findnum):
a. Desenvolver um programa que implemente um jogo em que se pretende adivinhar um número gerado aleatoriamente. O jogo consiste no seguinte:
- O servidor gera um número aleatoriamente entre 1 e 100;
- O cliente vai tentando adivinhar o número gerado no menor número de tentativas possível;
- Caso o número indicado pelo cliente seja superior ao número a adivinhar, o servidor deve enviar a mensagem “Número demasiado alto” e caso o número seja inferior deve enviar a mensagem “Número demasiado baixo”;
- Quando o cliente adivinhar o número, o servidor deve felicitar o jogador e indicar o número de tentativas efectuadas.
O jogador (cliente) poderá estar a jogar na mesma máquina em que está instalado o servidor ou não.
Sempre que um jogador esteja a jogar e haja outro utilizador que pretenda jogar também, o servidor deverá notificar este utilizador informando que o servidor se encontra ocupado com outro jogador.
Para valorizar o programa, procure desenvolver um interface amigável para o utilizador de forma a que o jogo se torne aliciante e fácil de jogar para utilizadores não experimentados em UNIX (podem utilizar a biblioteca curses.h ou ncurses.h).
b. Permitir que o servidor possa jogar com um máximo de dois jogadores (clientes) em simultâneo.




Isto é programacao em C , em linux , com sockets, comunicacao entre cliente – servidor.

[N]
05-02-2006, 00:58
ok e a tua dúvida é...

flygye
05-02-2006, 01:01
A minha duvida é como se faz isto. como se faz o programa. :'(

turbulence
05-02-2006, 02:01
Lol acho que o que queres é alguem que te faça o programa. Como isso não vai ser mt provavel é melhor dar-te algumas dicas.

Vais ter que usar sockets, o servidor vai ter uma funcao qualquer para te gerar um numero aleatorio, dpz so precisas de perguntar ao cliente qual o numero que quer apostar, relacionar o mesmo com o numero gerado anteriormente e enviar a informacao...

agora mãos à obra ;)

jaac
05-02-2006, 09:50
Pensa no problema... Se calhar era bom fazer um esquema de tudo e para a coisa ser fácil o mais importante é fazer uma boa definição das mensagens a mandar entre o cliente e o servidor....

E já agora pk escrever a branco?

Sahaqiel
05-02-2006, 12:28
encontras informação e algum código fonte nesta página : http://mega.ist.utl.pt/~ic-so/public05-06/trabalhos/10/10.html , mas só ajuda a começares com sockets e a fazer um servidor e clientes, e a enviar e receber informação ( que eu acho ser o mais complicado ).
O restante é saber a informação que se transmite conforme as situações.

TuxBoss
05-02-2006, 17:32
Peço desculpa pelo off-topic mas seguindo a ideia de um dos intervenientes no Expresso da Meia-Noite que apontou a falta de conhecimentos da lingua mãe como travão ao avanço das ciências em PT...

P-R-E-C-I-S-O -> só leva um S, não 2 como o autor do post escreveu por n vezes.

on-topic:
http://www.aditel.org/doc/aditel-cddoc/tutorial/ncurses/ncurses_intro.html -> guia pra ncurses programing

Guias e FAQ's de C:
http://www.cs.cf.ac.uk/Dave/C/CE.html
http://c-faq.com/

Tutorial da IBM de network programing em Linux com C: (necessita de registo (free) )
http://www-128.ibm.com/developerworks/edu/l-dw-linux-sock-i.html -> parte 1
http://www-128.ibm.com/developerworks/edu/l-dw-linux-sock2-i.html -> parte 2

Good luck