您的位置:首页 > 移动开发

轻轻松松写Applications for Windows Mobile

2007-11-09 02:46 253 查看
本文寫給擁有諸如dopod等使用Windows Mobile操作系統的這一類智能手機的使用但是不開發而在某一天突然覺得自己應該寫一些自己能用的程序不過不太清楚如何開始的用戶。
開發環境:Visual Studio.net 2005 Professional
操作系統:windows XP sp2
使用語言:VB
因為我習慣用VB來寫東西啦,如果用C#等等的話可能看起來會更加專業一些,不過無論怎么寫,.net最后都是會編譯成同樣一種中間代碼,效率沒多大差別。
首先呢,我們打開VS,然后建立一個新的項目,我這里選擇的是Pocket PC2003,也就是所謂的PPC,不過呀,如果選擇Smartphone 2003的話開發也是大體上一樣的,不過有一些控件不太一樣,比如Smartphone就沒有button,很不爽喲。



然后選擇Device Application,就能看到VS自動給我們了一個模擬器的界面哦,左邊有toolbox,可以很方便的如同VB6一樣進行控件拖拽,下面是我已經畫好的圖形,這次我就用這個猜數字的游戲來告訴初學者們,WM的App開發其實很容易喲。



下面我們來設計這個游戲。你會發現,設計游戲和開發應用程序沒啥關系。。
游戲很簡單~規則如下:
輸入4位數字
0~9每個數字每一位只能出現一次
如果4位中出現數字正確且位置正確,則A+1
如果4位中出現數字正確但位置不正確,則B+1
直到出現4A0B,證明玩家已經猜出了數字!

首先進行初始化。
初始化的代碼在New的這個菜單中寫。只需要雙擊一下你畫上去的New就可以了。


Dim rnumber As Integer


Dim fournumber(4) As Integer


Dim flag As Boolean


Dim flagin As Boolean




Dim i As Integer


Dim j As Integer




For i = 0 To 3


If i = 0 Then


rnumber = Rnd() * 9


fournumber(i) = rnumber


Else


rnumber = Rnd() * 9


flag = True


While flag


flagin = False


For j = 0 To i


If rnumber = fournumber(j) Then


flagin = True


End If


Next


If flagin = False Then


flag = False


Else


rnumber = Rnd() * 9


End If


End While


fournumber(i) = rnumber


End If


Next


TextBox2.Text = fournumber(0).ToString & fournumber(1).ToString & fournumber(2).ToString & fournumber(3).ToString




TextBox1.Text = ""




ListBox1.Items.Clear()



這里要注意的是這個部分:


For i = 0 To 3


If i = 0 Then


rnumber = Rnd() * 9


fournumber(i) = rnumber


Else


rnumber = Rnd() * 9


flag = True


While flag


flagin = False


For j = 0 To i


If rnumber = fournumber(j) Then


flagin = True


End If


Next


If flagin = False Then


flag = False


Else


rnumber = Rnd() * 9


End If


End While


fournumber(i) = rnumber


End If


Next



這個部分的目的是生成4位數字,保證每一位數字不相同,我的想法是:首先建立一個整數數組,0-3,然后生成一個數字,放在0里面,然后再生成一個數字,讓這個數字和已經寫如數組的數字進行比較,如果相同則再生成一個,如果不相同則采納。很簡單的思路哈。

最后用


TextBox2.Text = fournumber(0).ToString & fournumber(1).ToString & fournumber(2).ToString & fournumber(3).ToString

把數字拼起來。

第二步,開始玩游戲!


If Trim(TextBox2.Text) = "0" Then


Panel1.Visible = True


Label2.Text = "Click New to Start."


ElseIf TextBox1.Text = TextBox2.Text Then


Panel1.Visible = True


Label2.Text = "Bingo! You are right!"


ListBox1.Items.Add("4A0B -- " & TextBox2.Text)


ElseIf Trim(TextBox1.Text) = "" Then


Panel1.Visible = True


Label2.Text = "Input 4 digital Numbers!"


Else


Dim newfournumber(4) As Integer


Dim inputnumber(4) As Integer


Dim numberchar() As Char


Dim inputchar() As Char




Dim a, b As Integer


a = 0


b = 0




numberchar = TextBox2.Text.ToCharArray()


inputchar = TextBox1.Text.ToCharArray()




If Not inputchar.Length = 4 Then


Panel1.Visible = True


Label2.Text = "Need 4 digital Numbers!"


Exit Sub


End If


Dim i As Integer




For i = 0 To 3


newfournumber(i) = Val(numberchar(i).ToString)


inputnumber(i) = Val(inputchar(i).ToString)


Next




Dim j


For i = 0 To 3


For j = 0 To 3


If inputnumber(i) = newfournumber(j) Then


If i = j Then


a = a + 1


Else


b = b + 1


End If


End If


Next


Next




ListBox1.Items.Add(a.ToString & "A" & b.ToString & "B -- " & TextBox1.Text)


TextBox1.Text = ""


End If



在這段代碼的前面用if語句對輸入進行了判斷,把一些不正當的輸入和一些XX的情況略微考慮了一下進行適當的限制。那么,重點看的是這段:


Dim a, b As Integer


a = 0


b = 0




numberchar = TextBox2.Text.ToCharArray()


inputchar = TextBox1.Text.ToCharArray()




If Not inputchar.Length = 4 Then


Panel1.Visible = True


Label2.Text = "Need 4 digital Numbers!"


Exit Sub


End If


Dim i As Integer




For i = 0 To 3


newfournumber(i) = Val(numberchar(i).ToString)


inputnumber(i) = Val(inputchar(i).ToString)


Next




Dim j


For i = 0 To 3


For j = 0 To 3


If inputnumber(i) = newfournumber(j) Then


If i = j Then


a = a + 1


Else


b = b + 1


End If


End If


Next


Next



這應該來說是兩段代碼,分別是把textbox2里面的數字取出來然后進行數組化,以及對輸入的一個判斷。


For i = 0 To 3


For j = 0 To 3


If inputnumber(i) = newfournumber(j) Then


If i = j Then


a = a + 1


Else


b = b + 1


End If


End If


Next


Next



這段代碼用來實現對輸入正確的判斷,因為才4個數,這樣的雙for循環我就用著啦~If inputnumber(i) = newfournumber(j) Then表示數字對,If i = j Then表示位置對,然后分別根據情況對a,b兩個變量自加。用這段邏輯可以根據規則完成PPC對用戶輸入的正確性的判斷,給用戶一個正確的提示。

用VB寫代碼真沒多少,不過實現的功能還是很有意思的~
然后運行一下~這里用的是PPC2003 2nd edition。



玩一玩自己的程序很有成就感哈。
開發其實很簡單,最重要的是看你有沒有想法和思路,其實每個人都可以做到的!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: