نمایش نتایج 1 تا 3 از 3

نام تاپیک: مشکل با باینری ریدر

  1. #1
    کاربر دائمی آواتار Ner'zhul Arthas
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    پشت کامپیوتر
    پست
    180

    Tick مشکل با باینری ریدر

    من یه شطرنج نوشتم. وقتی بازی رو ذخیره میکنم و دوباره میخونم اون جوری که باید خونده بشه خونده نمیشه. چند بار باز نویسیش کردم نمیدونم مشکل چیه.

    این کدش:

        Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
    If OpenFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
    ' Try
    Dim F As New FileStream(OpenFileDialog1.FileName, FileMode.Open, FileAccess.Read)
    Dim Fs As New BinaryReader(F)
    Fs.BaseStream.Seek(0, SeekOrigin.Begin)
    Dim EndMoves2 As Integer = Fs.ReadInt32()
    ReDim LastMoves(0)
    EndMoves = 0
    ListBox1.BeginUpdate()
    ListBox1.Items.Clear()
    ListBox1.Items.Add(" - - - ")
    Myboard.BCastle_OO = Fs.ReadBoolean()
    Myboard.BCastle_OOO = Fs.ReadBoolean()
    Myboard.WCastle_OO = Fs.ReadBoolean()
    Myboard.WCastle_OOO = Fs.ReadBoolean()
    For i As Byte = 0 To 63
    Myboard.User(i) = Fs.ReadByte()
    Myboard.Type(i) = Fs.ReadByte()
    Next
    LastMoves(0).CBoard = Myboard
    Dim a1, a2 As Byte
    For i As Integer = 1 To EndMoves2 - 1
    a1 = Fs.ReadByte()
    a2 = Fs.ReadByte()
    Dim Movx As New MMove
    Movx = MoveEn(a1, Myboard, Myboard.User(a1), LastMoves(EndMoves))
    Myboard = MoveDo(a2, Movx, Myboard)
    Next
    Fs.Close()
    ' Catch ex As Exception
    ' MsgBox(ex.Message())
    ' End Try

    Myboard = LastMoves(EndMoves).CBoard
    BoardMoveShow(New MMove)
    SetBoard(Myboard)
    ListBox1.EndUpdate()
    ListBox1.SelectedIndex = ListBox1.Items.Count - 1
    End If
    End Sub


    Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
    If SaveFileDialog1.ShowDialog() <> Windows.Forms.DialogResult.Cancel Then
    ' Try
    Dim F As New FileStream(SaveFileDialog1.FileName, FileMode.OpenOrCreate, FileAccess.Write)
    Dim Fs As New BinaryWriter(F)
    Fs.BaseStream.Seek(0, SeekOrigin.Begin)

    Fs.Write(LastMoves.Length)
    Fs.Write(LastMoves(0).CBoard.BCastle_OO)
    Fs.Write(LastMoves(0).CBoard.BCastle_OOO)
    Fs.Write(LastMoves(0).CBoard.WCastle_OO)
    Fs.Write(LastMoves(0).CBoard.WCastle_OOO)
    For i As Byte = 0 To 63
    Fs.Write(LastMoves(0).CBoard.User(i))
    Fs.Write(LastMoves(0).CBoard.Type(i))
    Next
    For i As Integer = 1 To LastMoves.Length - 1
    Fs.Write(LastMoves(i).CC2(0))
    Fs.Write(LastMoves(i).CC2(1))
    Next
    Fs.Close()
    ' Catch ex As Exception
    ' MsgBox(ex.Message())
    ' End Try
    End If
    End Sub

  2. #2
    کاربر دائمی آواتار Ner'zhul Arthas
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    پشت کامپیوتر
    پست
    180
    متشکر از جواباتون

    مشکل از این نیست که F در هنگام اجرای برنامه این شکلیه؟
    باید این شکلی باشه یا نه؟
    این عکسش:
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: gif c.gif‏ (16.8 کیلوبایت, 11 دیدار)

  3. #3
    کاربر دائمی آواتار Ner'zhul Arthas
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    پشت کامپیوتر
    پست
    180
    جواب پیدا شد:

    وقتی میخوایم از Enum استفاده کنیم باید نوعش رو تعریف کنیم:



    Public Enum BT As Byte ' اگر این از بایت رو نذاریم اینطوری میشه '
    None = 0
    King = 1
    Queen = 2
    Rook = 3
    Knight = 4
    Bishop = 5
    Pawn = 6
    End Enum


قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •