[Gambas-user] Character movement game help
Jair Yunis
Gemini at ...3439...
Wed Feb 18 07:04:40 CET 2015
Alohaaa :)
I am working on a little game and just started creating the environment in
which the chracter moves around, that creates itself randomly as it is
discovered,
now, the thing is i want to make it in this particular way, but makes the
movement pretty much rough,
any ideas on how to make it smoother??? avoid lag and staff???
The main for has only a Gridview (H455 x W483)
and then 3 pictues (32 x 32) water.png, grass.png and forest.png added to
data
' Gambas module file (var)
Public posx As Integer
Public posy As Integer
Public teclas As Boolean
' Gambas class file
Private $hConn As New Connection
Private $res As Result
Public Sub _new()
End
Public Sub Form_Open()
GridView1.Columns.Count = 13
GridView1.Rows.Count = 13
GridView1.Columns.Width = 37
GridView1.Rows.Height = 35
GridView1.ScrollBar = 0
var.posx = 6
var.posy = 6
datab()
End
Public Procedure datab()
Dim hTable As Table
With $hConn
.Type = "sqlite"
.host = User.home
.name = ""
End With
If Exist(User.home & "/test.sqlite") Then
cargar()
Else
$hConn.Open
$hConn.Databases.Add("test.sqlite")
$hconn.Close
$hconn.name = "test.sqlite"
$hConn.Open
hTable = $hConn.Tables.Add("sampleTable")
hTable.Fields.Add("xy", db.String)
hTable.Fields.Add("field", db.String)
hTable.Fields.Add("step", db.String)
hTable.Update
earthtype()
Endif
End
Public Procedure earthtype()
Dim $Query As String
Dim $Result As Result
Dim $info As String
Dim rTest As Result
Dim xu As Integer
Dim yu As Integer
Dim cxy As String
Dim fy As Integer
Dim fx As Integer
Dim alea As Integer
Dim steper As String
Dim nw As String
Dim xuc As Integer
xu = var.posx - 6
yu = var.posy - 6
xuc = xu
'Message.Info(cxy)
For fy = 0 To 12
For fx = 0 To 12
cxy = xu & "-" & yu
$Query = "select * from sampleTable where xy = '" & cxy & "'"
$Result = $hconn.Exec($Query)
If $Result.Count = 0 Then
alea = Rnd(0, 100)
Select alea
Case 0 To 5
nw = "water.png"
steper = "no"
GridView1[fy, fx].Picture = Picture[nw]
GridView1[fy, fx].Text = steper
Case 6 To 10
nw = "forest.png"
steper = "no"
GridView1[fy, fx].Picture = Picture[nw]
GridView1[fy, fx].Text = steper
Case Else
steper = "yes"
nw = "grass.png"
GridView1[fy, fx].Picture = Picture[nw]
GridView1[fy, fx].Text = steper
End Select
$hconn.Begin
rTest = $hConn.Create("sampleTable")
rTest!xy = cxy
rTest!field = nw
rTest!step = steper
rTest.Update
$hConn.Commit
Else
$info = $Result!field
GridView1[fy, fx].Picture = Picture[$info]
$info = $Result!step
GridView1[fy, fx].Text = $info
Endif
xu += 1
Next
xu = xuc
yu += 1
Next
GridView1[6, 6].Picture = Picture["front.png"]
End
Public Sub form_KeyPress()
If var.teclas = False Then Goto escapar
var.teclas = False
Select Key.Code
Case Key.Left
If GridView1[6, 5].Text = "yes" Then
var.posx -= 1
Else
Endif
Case Key.Right
If GridView1[6, 7].Text = "yes" Then
var.posx += 1
Else
Endif
Case Key.Up
If GridView1[5, 6].Text = "yes" Then
var.posy -= 1
Else
Endif
Case Key.Down
If GridView1[7, 6].Text = "yes" Then
var.posy += 1
Else
Endif
End Select
earthtype()
escapar:
End
Public Procedure cargar()
With $hConn
.Type = "sqlite"
.host = User.home
.name = "test.sqlite"
End With
$hConn.Open
earthtype()
End
Public Sub form_KeyRelease()
var.teclas = True
End
More information about the User
mailing list