Voltriz Posted December 27, 2007 at 03:52 PM Report Share #156634 Posted December 27, 2007 at 03:52 PM Uma pergunta, como se faz para por o código numa janela de uma linguagem especifica(neste caso C)? não ta grande coisa, mas até funciona! #include "stdio.h" #include "string.h" #define C 3 #define L 3 void inter(); void inserir(int p1, int p2, int j); int verificar(int v[L][C],int n); int acabou(int v[L][C]); //void representar(int v[L][C]); main() { int g=0,e=0,j1[L][C],j2[L][C],r[L][C],p1=0,p2=0,i=0,j=0,c=0,ver=0,ab=0; inter(); for(i=0;i<L;i++) for(j=0;j<C;j++) {j1[i][j]=0; j2[i][j]=0; r[i][j]=0; } do { c=0; do { printf("\n PLAYER 1\n"); printf("\n insira as coordenadas do lugar onde deseja jogar\n\n"); scanf("%d%d",&p1,&p2); if (r[p1-1][p2-1]==0) {j1[p1-1][p2-1]=1; inserir(p1,p2,1); r[p1-1][p2-1]=1; c=1; } else if((p1>=0) && (p1<=2) && (p2>=0) && (p2<=2)) printf("\n Esse lugar ja ta preenchido!!! o PLAYER %d ja jogou ai \n\n",r[p1-1][p2-1]); else printf("\n Nao pode jogar ai, as coordenadas estão fora do tabuleiro!!\n\n"); }while(c==0); //representar(r); ver=verificar(j1,1); if(ver==1) { printf("\n O PLAYER 1 GANHOU!!!!!\n"); break; } ab=acabou(r); if(ab==1) { printf("\n o jogo terminou empatado\n"); break; } c=0; do { printf("\n PLAYER 2\n"); printf("\n insira as coordenadas do lugar onde deseja jogar\n\n"); scanf("%d%d",&p1,&p2); if (r[p1-1][p2-1]==0) {j2[p1-1][p2-1]=2; inserir(p1,p2,2); r[p1-1][p2-1]=2; c=1; } else printf("\n Esse lugar ja ta preenchido!!! o PLAYER %d ja jogou ai \n\n",r[p1-1][p2-1]); }while(c==0); //representar(r); ver=verificar(j2,2); if(ver==1) { printf("\n O PLAYER 2 GANHOU!!!!!\n"); break; } ab=acabou(r); if(ab==1) { printf("\n O jogo terminou Empatado!!!!!!!!!\n"); break; } }while(g!=1 || e!=1 ); getchar(); } int acabou(int v[L][C]) { int i=0,j=0; for(i=0;i<L;i++) for(j=0;j<C;j++) { if(v[i][j]==0) return 0; } return 1; } //void representar(int v[L][C]).... void inter() { printf("\a\n JOGO DO GALO \n"); printf("\n Tem este Painel de Jogo"); printf("\n\n___|___|___\n"); printf("___|___|___\n"); printf(" | | \n\n"); printf("As coordenadas estao distribuidas desde:\n[1,1]-canto inferior esquerdo\nAte\n[3,3]-canto superior direito\n"); getchar(); } int verificar (int v[L][C], int n) { int i=0,j=0; if ( v[0][0]==n && v[0][1]==n && v[0][2]==n) return 1; if ( v[1][0]==n && v[1][1]==n && v[1][2]==n) return 1; if ( v[2][0]==n && v[2][1]==n && v[2][2]==n) return 1; if ( v[0][0]==n && v[1][0]==n && v[2][0]==n) return 1; if ( v[0][1]==n && v[1][1]==n && v[2][1]==n) return 1; if ( v[0][2]==n && v[1][2]==n && v[2][2]==n) return 1; if ( v[0][0]==n && v[1][1]==n && v[2][2]==n) return 1; if ( v[0][2]==n && v[1][1]==n && v[2][0]==n) return 1; getchar(); } void inserir (int p1,int p2, int j) {if (p1==1 && p2==1) { printf("\n\n___|___|___\n"); printf("___|___|___\n"); printf(" %d | | \n",j);} if (p1==2 && p2==1) { printf("\n\n___|___|___\n"); printf("___|___|___\n"); printf(" | %d | \n",j);} if (p1==3 && p2==1) { printf("\n\n___|___|___\n"); printf("___|___|___\n"); printf(" | | %d \n",j);} if (p1==1 && p2==2) { printf("\n\n___|___|___\n"); printf("_%d_|___|___\n",j); printf(" | | \n");} if (p1==2 && p2==2) { printf("\n\n___|___|___\n"); printf("___|_%d_|___\n",j); printf(" | | \n");} if (p1==3 && p2==2) { printf("\n\n___|___|___\n"); printf("___|___|_%d_\n",j); printf(" | | \n");} if (p1==1 && p2==3) { printf("\n\n_%d_|___|___\n",j); printf("___|___|___\n"); printf(" | | \n");} if (p1==2 && p2==3) { printf("\n\n___|_%d_|___\n",j); printf("___|___|___\n"); printf(" | | \n");} if (p1==3 && p2==3) { printf("\n\n___|___|_%d_\n",j); printf("___|___|___\n"); printf(" | | \n");} getchar(); } Link to comment Share on other sites More sharing options...
magician Posted December 27, 2007 at 03:54 PM Report Share #156636 Posted December 27, 2007 at 03:54 PM Actualmente essa opção está desactivada mas aconselho a formatares o código. I haven’t lost my mind; it’s backed up on DVD somewhere! Link to comment Share on other sites More sharing options...
Voltriz Posted December 27, 2007 at 04:00 PM Author Report Share #156638 Posted December 27, 2007 at 04:00 PM Actualmente essa opção está desactivada mas aconselho a formatares o código. formatar o código? como assim? EDIT: se puserem isto a correr vão ver que tive alguns problemas na representação dos valores no output, se me poderem ajudar a aperfeiçoar isso.... Link to comment Share on other sites More sharing options...
HilarYo Posted February 26, 2010 at 09:25 AM Report Share #313435 Posted February 26, 2010 at 09:25 AM Para ver este programa a funcionar! Escolhemos no Visual C++ Criar Projecto e que categoria escolhemos? CLR Win32 Gereral Obrigado! Link to comment Share on other sites More sharing options...
jarsantos Posted March 24, 2010 at 03:14 PM Report Share #317951 Posted March 24, 2010 at 03:14 PM já agora fica aqui o meu projecto do jogo do galo // jogoGalo.cpp : main project file. #include "stdafx.h" #include <stdio.h> #include <string.h> using namespace System; #define TAB 3 #define PECA1 'X' #define PECA2 'O' void imprimirTabuleiro(char tab[]) { int i; for(int i; i < TAB - 1; i++) { printf("_%c_", tab[i * TAB]); for(int j = 1; j < TAB; j++) printf("|_%c_", tab[i * TAB + j]); printf("\n"); } i = TAB - 1; char c = (tab[i * TAB] != '_' ? tab[i * TAB] : ' '); printf(" %c ", c); for(int j = 1; j < TAB; j++) { c = (tab[i * TAB + j] != '_' ? tab[i * TAB + j] : ' '); printf("| %c ", c); } printf("\n"); } int main(char[] args) { char estado[TAB * TAB]; int validacao[TAB * 2 + 2]; int pos[2], vez, res, aux; for(int i = 0; i < TAB * TAB; i++) estado[i] = '_'; for(int i = 0; i < 2 * TAB + 2; i++) validacao[i] = 0; for(int i = 0; i < TAB * TAB; i++) { vez = i % 2 + 1; printf("É a vez do jogador %d\n", vez); while(true) { for(int i = 0; i < 2;) { printf("Indique a %s onde quer jogar [entre 0 e %d]: ", (i == 0 ? "linha" : "coluna"), TAB - 1); scanf("%d", &pos[i]); if(pos[i] > -1 && pos[i] < TAB) { i++; continue; } printf("%s inválida.", (i == 0 ? "Linha" : "Coluna")); } int index = pos[0] * TAB + pos[1]; if(estado[index] == '_') { estado[index] = (vez == 1 ? PECA1 : PECA2); aux = (vez == 1 ? 1 : -1); validacao[pos[0]] += aux; validacao[TAB + pos[1]] += aux; if(pos[0] == pos[1]) validacao[2 * TAB] += aux; if(pos[0] + pos[1] == TAB - 1) validacao[2 * TAB + 1] += aux; break; } printf("A posição que seleccionou já está preenchida. Escolha outra.\n"); } imprimirTabuleiro(estado); for(int i = 0; i < 2 * TAB + 2; i++) { if(validacao[i] == TAB) { printf("O jogador 1 ganhou!\n"); scanf("%d", &aux); return 0; } if(validacao[i] == -TAB) { printf("O jogador 2 ganhou!\n"); scanf("%d", &aux); return 0; } } } printf("O jogo terminou empatado"); scanf("%d", &res); } Link to comment Share on other sites More sharing options...
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