2014-10-20 3 views
1

멀리 떨어져 있습니까? 내가 가지고있는 것보다 훨씬 쉽게 게임을 저장하거나로드 할 수 있습니까?vb.net에서 게임 저장 및로드

저장 코드

Dim file As System.IO.StreamWriter 
file = My.Computer.FileSystem.OpenTextFileWriter("c:\Pugio Cadite\CharacterInformation.txt", True) 
file.WriteLine(charactername) 
file.WriteLine(characterrace) 
file.WriteLine(characterclass) 
file.WriteLine(characterGender) 
file.WriteLine(charactergold) 
file.WriteLine(characterlevel) 
file.Close() 

나는 아직로드 기능을 작성하지 않았습니다.

+2

직렬화를 사용할 수 있습니다. 이 모든 것을 클래스에 저장 한 다음 내장 직렬화/직렬화 해제 메서드를 사용하십시오. –

+0

저장되는 내용에 따라 다르지만 [serialization] (http://stackoverflow.com/q/23657131/1070452)이 작동 할 수 있습니다. – Plutonix

답변

0
Imports System.Xml.Serialization 

Public Class Form1 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    'save the program variables 
    Dim p As New ProgramVars 
    p.Prop1 = "1" 
    p.Prop2 = "2" 
    p.Prop3 = "3" 
    p.Prop4 = "4" 
    Dim strFilename As String = "C:\Junk\Junk.xml" 
    p.Save(strFilename) 

    'load them into a different object 
    Dim p2 As ProgramVars = ProgramVars.Load(strFilename) 
    MsgBox(p2.Prop3) 

    End Sub 
End Class 

<Serializable> 
Public Class ProgramVars 
    Property Prop1 As String 
    Property Prop2 As String 
    Property Prop3 As String 
    Property Prop4 As String 
    Sub Save(filename As String) 
    Using fs As New System.IO.FileStream(filename, IO.FileMode.OpenOrCreate) 
     Dim xs As New XmlSerializer(GetType(ProgramVars)) 
     xs.Serialize(fs, Me) 
    End Using 
    End Sub 

    Shared Function Load(filename As String) As ProgramVars 
    Using fs As New System.IO.FileStream(filename, IO.FileMode.OpenOrCreate) 
     Dim xs As New XmlSerializer(GetType(ProgramVars)) 
     Return xs.Deserialize(fs) 
    End Using 
    End Function 
End Class