Jump to content
Fórum Script Brasil

rl28

Membros
  • Content Count

    4
  • Joined

  • Last visited

Everything posted by rl28

  1. Boa tarde, Estou com alguma dúvidas em relação a um exercício que estou realizando, onde pede para criar o Jogo da velha com a opção de salvar e poder continuar da onde havia parado. O código do jogo já está pronto, porém, falta a parte de salvar e continuar do ponto em que parei, onde estou quebrando a cabeça de como vou fazer. Preciso criar uma função para salvar e depois chamar no main? Se puderem me dar uma dica de como posso fazer e de uma forma fácil, agradeço. #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <locale.h> void display(char t[3][3]){ printf("=====================\n"); printf("==| JOGO DA VELHA |==\n"); printf("=====================\n"); printf("\n\n 0 1 2 Y\n"); printf(" 0 %c | %c | %c \n",t[0][0],t[0][1],t[0][2]); printf(" ---|---|--- \n "); printf(" 1 %c | %c | %c \n",t[1][0],t[1][1],t[1][2]); printf(" ---|---|--- \n "); printf(" 2 %c | %c | %c \n",t[2][0],t[2][1],t[2][2]); printf("\nX\n"); } void teste_trinca(int *x, int *y, int *jg, int *teste, int velha, char t[3][3]) { //TESTE HORIZONTAL// if(*x==0) if((t[0][0]==t[0][1]) && (t[0][1]==t[0][2])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } if(*x==1) if((t[1][0]==t[1][1]) && (t[1][1]==t[1][2])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } if(*x==2) if((t[2][0]==t[2][1]) && (t[2][1]==t[2][2])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } //TESTE VERTICAL// if(*y==0) if((t[0][0]==t[1][0]) && (t[1][0]==t[2][0])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } if(*y==1) if((t[0][1]==t[1][1]) && (t[1][1]==t[2][1])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } if(*y==2) if((t[0][2]==t[1][2]) && (t[1][2]==t[2][2])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } //TESTA DIAGONAL// if(((*x==0) && (*y==0))||((*x==1) && (*y==1))||((*x==2) && (*y==2))) { if((t[0][0]==t[1][1]) && (t[0][0]==t[2][2])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } } if(((*x==0)&&(*y==2))||((*x==1)&&(*y==1))||((*x==2)&&(*y==0))) { if((t[0][2]==t[1][1]) && (t[0][2]==t[2][0])) { display(t); printf("\n Jogador %i GANHOU!! \n",*jg); *teste=0; } } // TESTE VELHA// if(velha >= 9 && *teste == 1) { printf("\n DEU VELHA !"); *teste = 0; } } void play1(char t[3][3], int *x, int *y) { display(t); printf("\nJogador 1: Digite a coordenada X: "); scanf("%i",&*x); printf("\nJogador 1: Digite a coordenada Y: "); scanf("%i",&*y); } void play2(int *x, int *y, char t[3][3]) { display(t); printf("\nJogador 2: Digite a coordenada X: "); scanf("%i",&*x); printf("\nJogador 2: Digite a coordenada Y: "); scanf("%i",&*y); } main() { char tela[3][3]; int teste = 1; int x, y; int velha = 0; int jogador; int jogada; setlocale(LC_ALL, "Portuguese"); int menu=1; do{ system("cls"); fflush(stdin); printf("\n\n -----------------------"); printf("\n 1 - Novo Jogo "); printf("\n 2 - Continuar Jogo "); printf("\n 3 - Sair "); printf("\n\n Escolha uma opção: "); scanf("%i",&menu); fflush(stdin); switch (menu){ case 1: system("cls"); //Novo Jogo dados=fopen("velha.txt","w"); for(int i=0;i<3;i++) for(int j=0;j<3;j++) tela[i][j]=' '; while(teste!=0) { if(teste!=0) { jogada = 0; jogador = 1; play1(tela, &x, &y); printf("\nX/Y: "); printf("%i %i", x, y); getch(); while (jogada == 0) { if(tela[x][y]==' ') { tela[x][y]='X'; system("cls"); velha++; teste_trinca (&x, &y, &jogador, &teste, velha, tela); jogada = 1; } else { system("cls"); printf("\nPosição já utilizada! \n"); printf("\nPressione qualquer tecla para entrar novo valor\n"); getch(); system("cls"); play1(tela, &x, &y); } } } if(teste!=0) { jogada = 0; jogador = 2; play2(&x, &y, tela); printf("\nX/Y: "); printf("%i %i", x, y); getch(); while (jogada == 0) { if(tela[x][y]==' ') { velha++; tela[x][y]='O'; system("cls"); teste_trinca(&x, &y, &jogador, &teste, velha, tela); jogada = 1; } else { system("cls"); printf("\nPosição já utilizada! \n"); printf("\nPressione qualquer tecla para entrar novo valor!!\n"); getch(); system("cls"); play2(&x, &y, tela); } } } } case 3: system("cls"); printf("\nSistema encerrado!!!"); getch(); break; } }while(menu!=3); getch(); }
  2. Boa noite, Criei um código em vb.net onde recebe dados de 2 textbox e salva em um .txt,porém, só esta salvando uma linha no txt e cada vez que insiro um novo dado, substitui a linha que já estava inserida, podem me ajudar? Precisava algo que criasse uma nova linha e salvasse as novas informações, mantendo as últimas. Segue código abaixo: Public Class frmTransacao Dim Writer As System.IO.StreamWriter Dim acao As String Private Sub btninserir_Click(sender As Object, e As EventArgs) Handles btninserir.Click 'Grava arquivo txt com os campos "codigo e descricao" buscando o nome do arquivo o mesmo do form/tela' Writer = New IO.StreamWriter("C: \Users\rl\Desktop\" & Me.Text & ".txt") acao = btninserir.Text Writer.WriteLine("Código:" & textcodigo.Text & Space(1) & "Decrição:" & textdescricao.Text & Space(1) & "Ação:" & btninserir.Text) textcodigo.Text = String.Empty textdescricao.Text = String.Empty MessageBox.Show("Dados Salvos com Sucesso!") Writer.Close() End Sub
  3. Boa noite, Estou querendo ler todos arquivos que meu sistema gerou na minha máquina no formato .txt e carregar os mesmos em uma gridview, assim deixando apenas uma tela de consulta dos dados salvos nos arquivos txt, porém, meu código não está conseguindo consultar os arquivos, abaixo código: Public Class formListaTransacao Private Sub formListaTransacao_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim dt As New DataTable dt.Columns.Add("Código") dt.Columns.Add("Descrição") dt.Columns.Add("Ação") Dim Arquivo As New System.IO.StreamReader("C:\Users\rl\Desktop\" & Me.Text & ".txt", System.Text.Encoding.Default) While Arquivo.Peek() <> -1 dt.Rows.Add(Arquivo.ReadLine()) End While DataGridView2.DataSource = dt End Sub Tela do gridview: Informação que consta no txt e que deve carregar no gridview:
  4. Boa noite!Andei procurando em alguns fóruns a respeito de alterar a informação do text da form, mas não encontrei muita coisa. Por exemplo, cada vez que clico em uma ação/botão, ele abre um form, só que traz o nome que informei nas propriedades, gostaria que cada vez que eu abrisse a form, mostrasse o nome diferente de cada uma, assim consigo controlar cada transação que estiver aberta.Abri um form, tela 1, chamei de novo, tela 2 e assim por diante.. Montei um código mas está dando erro, vi em um fórum a dica, mas no meu carro não consegui fazer rodar ainda..segue abaixo:Public Class Principal Public formularios As New Collection Private Sub Button2_Click(sender As Object, e As EventArgs) Handles abretransacao.Click Dim Form As New Form() Static intnumero As Integer intnumero = intnumero + 1 Form.Caption = "Formulário # " & intnumero ---- aqui onde está dando erro, informando que é uma expressão e por isso não pode ser um destino de uma atribuição Form.Show() End SubCódigo original que peguei:Public formularios As New CollectionPrivate Sub Command1_Click()Dim NovoForm As New Form1Static intnumero As Integer intnumero = intnumero + 1 NovoForm.Caption = "Formulário # " & intnumero NovoForm.BackColor = QBColor(intnumero) formularios.Add NovoForm NovoForm.ShowEnd Sub
×
×
  • Create New...