Ir para conteúdo
Fórum Script Brasil
  • 0

Projeto


Henrique Neto

Pergunta

Seguinte to fazendo um RESTA UM.

#include <stdio.h>
#include <conio.h>

int main()
 {
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",218,196,196,194,196,196,194,196,196,194,196,196,194,196,196,194,196,196,194,196,196,191);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,180);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,180);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,180);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,180);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,197,196,196,180);
     printf("%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",192,196,196,193,196,196,193,196,196,193,196,196,193,196,196,193,196,196,193,196,196,217);
     getchar();
     getchar();
     }

então queria fazer o Seguinte em cada quadrado desse botar o caracter ansii 249 "quadrado preenchido", como eu poderia fazer isso botar em cada quadrado que fiz 7x7 um "quadrado menor preenchido"

Desde já Grato

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

20 respostass a esta questão

Posts Recomendados

  • 0

hehehe mas não cabe nd la dentro. você teria q dexar um espaco maior. você fez o tabulero ocupando todos os espacos pra caracter da regiao. ai não cabe nd no meio.

a não ser q você fizesse alguma forma de manipulacao de pixel, mas não sei nd sobre isso, e tb não acredito q você va conseguir isso facil.

faz um tabulero maior tb usando os caracteres se não me engano 179 (q é tipo isso aqui | ) e 95 (isso _ ) pra poder cabe alguma coisa, pelo menos um caractere dentro dos quadrantes

Link para o comentário
Compartilhar em outros sites

  • 0

int main()
 {   
     printf("\n");
     printf("\n");
     printf("\n");
     printf("                RESTA UM \n");
     printf("\n");
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",218,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,191);
     printf("       %c   %c   %c %c %c %c %c %c %c   %c   %c\n",179,179,179,79,179,79,179,79,179,179,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c   %c   %c %c %c %c %c %c %c   %c   %c\n",179,179,179,79,179,79,179,79,179,179,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,79,179,79,179,79,179,79,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,88,179,79,179,79,179,79,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,79,179,79,179,79,179,79,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c   %c   %c %c %c %c %c %c %c   %c   %c\n",179,179,179,79,179,79,179,79,179,179,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("       %c   %c   %c %c %c %c %c %c %c   %c   %c\n",179,179,179,79,179,79,179,79,179,179,179);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",192,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,217);
     getchar();
   }

Como eu Poderia botar esses printfs para ser matriz, so assim para eu manipular melhor o jogo.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

  • 0

hehe ficou legal

Como eu Poderia botar esses printfs para ser matriz, so assim para eu manipular melhor o jogo.

não entendi. você quer dizer pra poder guarda cada um dos quadrantes??

hum... ai se for você pode cria uma matriz de 7x7 mas so usar os necessarios.

exemplo, os quadrantes [0, 0], [0, 1], [1, 0], [6, 6] você não usaria.

hehe pelo menos acho q não... não sei jogar esse jogo não mas to me referindo aos quadrados q você dexou em branco (não pos 0 nem X), acho q não precisa usar.

Link para o comentário
Compartilhar em outros sites

  • 0

é isso mesmo que eu qro Kuroi so que não entendi bem como fazer

porque seguinte eu so pretendo mecher nos printfs do meio

printf(" %c %c %c %c %c %c %c %c %c %c %c\n",179,179,179,79,179,79,179,79,179,179,179);

onde tem o X ou a O como eu poderia fazer ?

{ int A[7][7]; definindo a matriz

mais como eu botaria os printfs dentro da matriz criada ?

Editado por Henrique Neto
Link para o comentário
Compartilhar em outros sites

  • 0

então, a matriz é uma coisa e o desenho da tela é otro.

eles não tem a minima relacao e é você q tem q relacionar um com o otro.

a matriz serve pra você ter o controle e saber o estado do jogo. e o desenho é uma representacao da matriz pra q o usuario possa visualizar o jogo.

agora, você, enquanto programa, não consegue saber como esta o jogo pelo desenho na tela, porque você não consegue ler a tela. bom... ate pode conseguir, mas com a matriz fica 1000 vezes mais facil.

o esquema é o seguinte, você vai ter q usar a funcao gotoxy. se você tiver usando compilador pra windows, essa funcao não existe, mas você pode declara assim:

#include <windows.h>

void gotoxy(int x, int y) {
  COORD c;
  c.X = x - 1;
  c.Y = y - 1;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}[/code]

ela serve pra ir pra certa posicao da tela, você passando as coordenadas x e y.

ai quando o cara selecionar o quadrante pra mexer, não sei exatamente como você ta pretendendo fazer isso, mas to imaginando, por exemplo o cara resolve mexer o quadrante 2, 2. ai você altera o indice 2, 2 da matriz e, com o gotoxy, posiciona o cursor na linha e coluna da tela correspondente a esse cursor e da o printf() la.

bom... é esse jeito q imagino q seria o melhor a se fazer...

ve se você entende ai e se consegue usar o gotoxy() certinho, qualquer coisa poste.

Link para o comentário
Compartilhar em outros sites

  • 0

não, a tela já vai ta preenchida, ai você dando um printf muda uma posicao só, as otras continuam. tipo, não sei direito como é esse jogo, mas tipo, a cada acao dele, serao mudados os valores de alguns quadrantes certo??

então você reimprime só esses de acordo com o movimento dele. o resto vai continuar como ta.

Link para o comentário
Compartilhar em outros sites

  • 0

hum, aqui é um exemplo de como funciona o gotoxy(), não tenho certeza se você entendeu:

#include <stdio.h>
#include <conio.h>
#include <windows.h>

void gotoxy(int x, int y) {
COORD c;
c.X = x - 1;
c.Y = y - 1;
SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}

int main()
{
printf("\n");
printf("\n");
printf("\n");
printf(" RESTA UM \n");
printf("\n");
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",218,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196
,196,194,196,196,196,194,196,196,196,191);
printf(" %c %c %c %c %c %c %c %c %c %c %c\n",179,179,179,79,179,79,179,79,179,179,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c\n",179,179,179,79,179,79,179,79,179,179,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,79,179,79,179,79,179,79,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,88,179,79,179,79,179,79,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n",179,79,179,79,179,79,179,79,179,79,179,79,179,79,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c\n",179,179,179,79,179,79,179,79,179,179,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196
,196,197,196,196,196,197,196,196,196,180);
printf(" %c %c %c %c %c %c %c %c %c %c %c\n",179,179,179,79,179,79,179,79,179,179,179);
printf(" %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",192,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196
,196,193,196,196,196,193,196,196,196,217);
getch();

gotoxy(18, 7);
printf("X");
gotoxy(22, 7);
printf("X");
gotoxy(26, 7);
printf("X");

getch();
}
[/codebox]

tipo, rode esse programa e ai você vai ver q, depois q você aperta enter a primera vez, ele vai trocar os 0 da primera linha toda por X.

isso é feito nessa parte ó:

[code]gotoxy(18, 7);    
     printf("X");
     gotoxy(22, 7);
     printf("X");
     gotoxy(26, 7);    
     printf("X");[/code]

o q acontece é q a primera linha ta na posicao 7 de Y. e a primera coluna na 18 de X. ai de 4 em 4 tão os proximos quadrantes.

então, não entendi o q você quis dizer com reemprimir. entenda q você não mexe na linha em si. tipo, não nos caracteres q fazem a borda nem nd, você so precisa mexer nos 0 e X.

pelo menos imagino q assim seja o jogo. ai não sei exatamente o q faz cada movimento, mas ai se você precisar mudar todos os valores de uma linha pode sim usar o for. ai de 4 em 4 você avanca as colunas e de 2 em 2 as linhas (já q há um caracteres entre (o _) elas).

Link para o comentário
Compartilhar em outros sites

  • 0
seguinte o usuario digita a posicao que ele quer ir linha 1 , coluna 1

ai recebo isso numa variavel e jogo nesse gotoxy

depois e so usar o printf mudando ou não.

isso mesmo. mas tipo, se ele passar 1 e 1, não vai jogar em 1 e 1, porque 1 e 1 vai parar la na linha de cima onde você pos um \n.

como eu te falei, a linha 1 ta na y = 7. e a linha aumenta de dois em dois. exemplo, a linha dois ta no y = 9 e a tres ta no y = 11.

então, pra passar o y você teria q multiplicar por 2, subtrair 2 e somar 7 (ou somar 5).

tipo assim:

y = (var * 2) - 2 + 7;
o q é o mesmo q:
y = (var * 2) + 5;

assim, se ele digita 1, você cai no y = 7 (1 * 2 = 2 -> 2 + 5 = 7)

e se ele digita 2, você você cai no y = 9 (2 * 2 = 4 -> 4 + 5 = 9)

ai você tem q encontra uma formula pra coluna tb (q comeca em 18 e avanca de 4 em 4).

ou mas ia ser legal se você pusesse os numeros em volta do tabulero pra identifica as colunas.

Link para o comentário
Compartilhar em outros sites

  • 0

já botei kuroi o codigo atualizado se encontra assim.

//Variaveis Globais
char A[7][7]=   { '','','O','O','O','','',
                  '','','O','O','O','','',
                  'O','O','O','O','O','O','O',
                  'O','O','O',' ','O','O','O',
                  'O','O','O','O','O','O','O',
                  '','','O','O','O','','',
                  '','','O','O','O','',''};
                  
int posi=0;
int a = 0;
int b = 0;
#include <stdio.h>
#include <conio.h>
#include <windows.h>

//coordenada do jogador!!
void gotoxy(int x, int y) {
  COORD c;
  c.X = x - 1;
  c.Y = y - 1;
  SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
}
//interface!!

int main()
 { 
     printf("\n");
     printf("\n");
     printf("\n");
     printf("                RESTA UM \n");
     printf("\n");
     printf("\n");
     printf("         0   1   2   3   4   5   6 \n");
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",218,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,194,196,196,196,191);
     printf("    0  |%c  | %c | %c | %c | %c | %c | %c |  \n",0,0,A[0][2],A[0][3],A[0][4],0,0);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    1  |%c  | %c | %c | %c | %c | %c | %c |  \n",0,0,A[1][2],A[1][3],A[1][4],0,0);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    2  | %c | %c | %c | %c | %c | %c | %c |\n",A[2][0],A[2][1],A[2][2],A[2][3],A[2][4],A[2][5],A[2][6]);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    3  | %c | %c | %c | %c | %c | %c | %c |\n",A[3][0],A[3][1],A[3][2],A[3][3],A[3][4],A[3][5],A[3][6]);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    4  | %c | %c | %c | %c | %c | %c | %c |\n",A[4][0],A[4][1],A[4][2],A[4][3],A[4][4],A[4][5],A[4][6]);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    5  |%c  | %c | %c | %c | %c | %c | %c |  \n",0,0,A[5][2],A[5][3],A[5][4],0,0);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",195,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,197,196,196,196,180);
     printf("    6  |%c  | %c | %c | %c | %c | %c | %c |  \n",0,0,A[6][2],A[6][3],A[6][4],0,0);
     printf("       %c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c\n",192,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,193,196,196,196,217);
     getchar();
printf("Digite a coordenada de x\n");
scanf("%d",&a);
printf("Digite a coordenada de y\n");
scanf("%d",&b);
getchar();
gotoxy(a, b);
printf("x");
getchar();
getchar();
}

Link para o comentário
Compartilhar em outros sites

  • 0

legal, mas você ta fazendo exatamente o q eu falei pra não fazer aqui:

isso mesmo. mas tipo, se ele passar 1 e 1, não vai jogar em 1 e 1, porque 1 e 1 vai parar la na linha de cima onde você pos um \n.

você já compilao e rodou pra ver?? você vai ver q ele vai mostrar o x la em cima.

Link para o comentário
Compartilhar em outros sites

  • 0

da uma pensada baseada na formula do y q eu passei.

mas pensa na forma completa, assim: y = (var * 2) - 2 + 7;

você sabe q o x comeca na posicao 10 e q vai mudando de 4 em 4 não??

da uma olhada na formula do y, a diferenca entre os y são de 2 caracteres, eu multiplico o quadrante por 2. so q acontece q a contagem comeca no 0, por isso subtraio o 2. então se o cara digita 1, vai apontar por 0. se digita 1, aponta pro 2, etc. só q o primeiro y ta na posicao 7. por isso somo mais 7. então se ele digita 1, e fica 0, então 0 + 7 = 7, ele chega na posicao 7.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...