VB.NET Jogo Galo - Abrir ficheiro txt

PHP, Java, JavaScript, XML, XHTML, HTML, CSS, ASP, Delphi, Assembly, LaTeX, C, UML, Flash, Perl, SQL, Python, Zope, Pascal, WML. Se conhece mais de 3 siglas referidas, este é o forum para si.

Moderadores: Administradores, Moderadores

VB.NET Jogo Galo - Abrir ficheiro txt

Mensagempor tiko165 » Sexta Abr 02, 2010 17:06

Boas

Estou a fazer o jogo do Galo, em VB 2008, onde tenho de fazer um "Gravar" e um "Abrir". O Gravar já esta pronto, só que estou com problemas em fazer o abrir.

Esta é o design e que consigo gravar.
Imagem

-Onde tem os 0, 1 e 2, que esta dizendo que é da matriz, isso significa se for 1 é porque é o "X", se for 2 é o "O", se for 0 não tem nem o "X" nem o "O".
-Onde diz "cd" e "fv" é o nome dos jogadores colocado.
- onde ta o 5, 2 e 1 é o resultado do jogo, das vitorias e empates.


Eu gravo 3 coisas num ficheiro ".txt", só que agora não estou a conseguir fazer o "abrir".
Por exemplo, eu fecho o jogo e tenho-o gravado, quando abri-lo novamente carrego o ficheiro que guardei e tem que aparecer tal e qual como foi a ultima vez gravado,
tipo do género dos jogos que todos nos jogamos diariamente, gravamos e no dia seguinte da para continuar e é tipo isso que quero fazer.


o que eu quero mesmo por agora é o que diz na imagem da matriz, é o principal
no código por uma cena tipo isto

na linha nº1 vai fazer "isto e isto"
na linha nº2 vai fazer "isto e isto"
na linha nº3 vai fazer "isto e isto"
etc...

mas por exemplo, em cada primeira linha posso ter um 0, um 1 e um 2, devo dizer se for 1 abre X e 2 abre O, mas não vejo como fazer isso para cada linha


Alguém me pode dar uma dica7ajuda se faz favor
Já ando a dias nisto e não consigo fazer, é a única coisa do jogo que me falta
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Sábado Abr 03, 2010 9:42

Usando a classe System.IO, tens metódos lá dentro que fazem o readline.
Como tu sabes a estrutura do ficheiro já sabes o que terás de obter. isto é, as 9 primeiras linhas 0,1,2, as 2 seguintes os nomes, e as 3 finais os resultados...

Vê este artigo aqui...

Ajudou?
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Sábado Abr 03, 2010 14:29

JoaoRosa Escreveu:Usando a classe System.IO, tens metódos lá dentro que fazem o readline.
Como tu sabes a estrutura do ficheiro já sabes o que terás de obter. isto é, as 9 primeiras linhas 0,1,2, as 2 seguintes os nomes, e as 3 finais os resultados...

Vê este artigo aqui...

Ajudou?


obrigado por me teres dado esse link, mas nao ajudou muito, ate porque ja tinha visto exemplos parecidos com o que tem nesse, mas nao me esta a funcionar como queria. Ou ha de abrir sempre a mesma imagem, ou nao abre nenhuma, nunca me certo.
Que raiva, :) :o :(
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Sábado Abr 03, 2010 20:25

Isso é estranho...
Porque se abres o ficheiro, e depois fazes um readline até ao fim deverias ir obtendo os resultados... :?

coloca ai um trecho de código (atenção que detesto vb.net)! :twisted: :twisted:
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Sábado Abr 03, 2010 21:37

JoaoRosa Escreveu:Isso é estranho...
Porque se abres o ficheiro, e depois fazes um readline até ao fim deverias ir obtendo os resultados... :?

coloca ai um trecho de código (atenção que detesto vb.net)! :twisted: :twisted:


eu a bem dizer para fazer esse "Abrir" ainda nao tenho codigo nenhum, porque nao consigo fazer apago e comeco de novo.

mas um exemplo de como devo fazer é tipo isto:

Dim Palavras As New System.IO.StreamReader(My.Computer.FileSystem.CurrentDirectory & "\Palavras.txt")
'Enquanto houver palavras, adiciona-las para a lstbox
While Palavras.Peek <> -1
valor = Palavras.ReadLine
lstPalavras.Items.Add(valor)
End While

Nota: este exemplo é de um outro programa que ja fiz.
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Sábado Abr 03, 2010 22:16

então começar pelo básico.

Abrir o ficheiro, consegues?
Consegues ler a primeira linha?
Consegues fechar o stream?

Tens de ter em atenção que no teu caso eu punha um iterador para sabaer em que linha vou, para saber onde coloco as coisas!!
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Domingo Abr 04, 2010 0:35

JoaoRosa Escreveu:então começar pelo básico.

Abrir o ficheiro, consegues?
Consegues ler a primeira linha?
Consegues fechar o stream?

Tens de ter em atenção que no teu caso eu punha um iterador para sabaer em que linha vou, para saber onde coloco as coisas!!


Abrir o ficheiro, consegues?
SIM
Consegues ler a primeira linha?
Le todas seguidas,
Consegues fechar o stream?
Penso que sim.

O que eu vou agora perguntar nao sei se da de verdade, mas da para ler linha a linha, dizer na linha um faco isto, na 2 isto e por ai fora? penso que seria mais facil, se sim, se der deia.m um exemplo de codigo
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Domingo Abr 04, 2010 0:44

sim isso dá.

daí ter digo para teres um iterador.

do género:

Código: Seleccionar todos
Dim it as Integer = 0
Dim Palavras As New System.IO.StreamReader(My.Computer.FileSystem.CurrentDirectory & "\Palavras.txt")
'Enquanto houver palavras, adiciona-las para a lstbox
While Palavras.Peek <> -1
valor = Palavras.ReadLine
IF it = 0
...
else if = 3
...
it++
End While


qualquer coisa assim, sou péssimo com vb.net só trabalho com c#...

mas basicamente, por cada iteração no ciclo incrementar o iterador... sabendo o valor sabes a linha e colocas o valor onde queres... :)
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Domingo Abr 04, 2010 11:37

podes nao saber muita coisa mas ao menos ja me tas a dar umas ideias, enquanto muitos aqui sabem e nem se quer me ajudam.

Agradeco-te so por isso

Agora vou tentar mais uma vex para ver se consigo acabar isso
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Terça Abr 06, 2010 10:38

pah a sintaxe da linguagem é uma coisa, e por vb.net detesto... c# é mais user friendly... mas o que interessa é o algoritmo... :)

e novidades? já deste a volta a isso?
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Terça Abr 06, 2010 10:58

JoaoRosa Escreveu:pah a sintaxe da linguagem é uma coisa, e por vb.net detesto... c# é mais user friendly... mas o que interessa é o algoritmo... :)

e novidades? já deste a volta a isso?


nada, eu acho é que vou desistir disto, ja tou farto de tentar e nao dar em nada
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Terça Abr 06, 2010 12:23

quando é que tens de entregar?
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Terça Abr 06, 2010 12:53

JoaoRosa Escreveu:quando é que tens de entregar?


proxima segunda feira, dia 12
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Mensagempor JoaoRosa » Terça Abr 06, 2010 17:01

quando chegar a casa faço isso em c# e depois digo o que falha...

a transposição de um para outro não é complicada!
Portátil: LG LW65-P4XP c/ upgrade: Seagate Momentus 7200.1 (2.5" IDE 7200rpm 80Gb) & 2x1GB Kingston PC 4200 533 MHz DDR2
Disco Externo: Caixa Point of View Hdd Enclosure 2.5" & Disco Fujitsu MHV2080AT (2.5" IDE 4200rpm 80Gb)
Avatar do Utilizador
JoaoRosa
Membro de Prata
Membro de Prata
 
Mensagens: 439
Registado: Quinta Nov 03, 2005 21:38
Localização: Oliveira de Azeméis

Mensagempor tiko165 » Terça Abr 06, 2010 17:41

JoaoRosa Escreveu:quando chegar a casa faço isso em c# e depois digo o que falha...

a transposição de um para outro não é complicada!


ok, brigado. Agracedo-te imenso ainda para mais seres o unico a tentar-me ajudar.
tiko165
Novato
Novato
 
Mensagens: 8
Registado: Sexta Abr 02, 2010 16:56

Próximo

Voltar para Programação

Quem está ligado:

Utilizadores a ver este Fórum: Nenhum utilizador registado e 0 visitantes

cron