Kirjoittaja: Grez
Kirjoitettu: 02.10.2009 – 02.10.2009
Tagit: koodi näytille, vinkki
Tämä on äärimmäisen yksinkertainen mutta sinänsä täysin toimiva seikkailupeli VB6:lla, jonka varsinainen seikkailu on tietokannassa (Access/mdb). Tässä on esitetty pelkkä ohjelmakoodi. Formin käli ja tietokanta löytyvät erillisestä paketista http://grez.info/putka/feltsu/Seikkailu.zip
Option Explicit
Private cn As New ADODB.Connection
Private Chapter As Long
Private Sub Button_Click(Index As Integer)
'Haetaan actionin toiminta tietokannasta
Dim rs As New ADODB.Recordset
rs.Open "SELECT [ActionMessage], [ActionTargetChapter] FROM ChapterActions WHERE [Chapter]=" _
& Chapter & " AND [ActionId]=" & Index, cn, adOpenStatic, adLockReadOnly
ChapterGUI rs!ActionTargetChapter, rs!ActionMessage
rs.Close
End Sub
Private Sub Form_Load()
'Avataan tietokanta
cn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & App.Path & _
"\Seikkailu.mdb;DefaultDir=;UID=;PWD=;"
'Aloitetaan
ChapterGUI 1, "Let the games begin"
End Sub
Private Sub ChapterGUI(NewChapter As Long, Message As String)
Dim Action As Long, ActionFound As Boolean
MessageLabel.Caption = Message
Chapter = NewChapter
Dim rs As New ADODB.Recordset
'Haetaan Chapterin tiedot kannasta
rs.Open "SELECT [Name], [Description] FROM Chapters WHERE Id=" & NewChapter, _
cn, adOpenStatic, adLockReadOnly
ChapterName.Caption = rs!Name
ChapterDescription.Caption = rs!Description
rs.Close
'Haetaan Chapterin actionit kannasta
rs.Open "SELECT [ActionId], [ActionText] FROM ChapterActions WHERE Chapter=" & NewChapter _
& " ORDER BY [ActionId]", cn, adOpenStatic, adLockReadOnly
For Action = 0 To 7
If rs.EOF Then
ActionFound = False
Else
ActionFound = rs!ActionId = Action
End If
Button(Action).Visible = ActionFound
If ActionFound Then
If Action > 3 Then Button(Action).Caption = rs!ActionText
rs.MoveNext
End If
Next
rs.Close
End SubAika hyvältä näyttää. täytyy koklata...