查看單個文章
舊 2015-02-03, 10:51 PM   #1
魔術王子
版區管理員
 
魔術王子 的頭像
榮譽勳章
UID - 115097
在線等級: 級別:42 | 在線時長:1983小時 | 升級還需:38小時級別:42 | 在線時長:1983小時 | 升級還需:38小時
註冊日期: 2004-01-13
住址: 魔術學園
文章: 2943
精華: 0
現金: 14755 金幣
資產: 2678385 金幣
預設 [使用版本VB2008]純文字RPG遊戲

http://i27.photobucket.com/albums/c163/magicman59/_zps4pzqheao.jpg
如果你沒有繪畫天分,製作精美的遊戲畫面,又想寫一個類似RPG的遊戲自娛
可以考慮這個程式,只不過這個遊戲是以文字敘述,必須再加上個人想像力,就像是看小說一樣
引用:
Public Class Form1
Dim StoryNo As Integer, SelectNo As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
TextBox1.Text = "你是一個武功高強的劍客,現在天色快暗了,你在尋找客棧..." & vbCrLf
StoryNo = 1
Story()
End Sub

Sub Story()
Select Case StoryNo
Case 1
TextBox1.Text = TextBox1.Text & "走到半途中,你遇到強盜..." & vbCrLf
TextBox2.Text = "是否要擊退強盜?"
Case 2
TextBox1.Text = TextBox1.Text & "走了沒多久,你遇到了老虎..." & vbCrLf
TextBox2.Text = "是否要學武松打倒虎?"
Case 3
TextBox1.Text = TextBox1.Text & "恭喜你找到了客棧..." & vbCrLf
TextBox2.Text = "是否要休息?"
End Select
TextBox1.SelectionStart = TextBox1.Text.Length
End Sub

Sub Attack()
Dim r As Integer
r = Int(Rnd() * 10 + 1) '亂數
Select Case StoryNo
Case 1
Select Case SelectNo
Case 1
If r > 1 And r < 7 Then '增加打贏的機率
TextBox1.Text = TextBox1.Text & "恭喜你擊退了強盜..." & vbCrLf
StoryNo = 2
Story()
Else
TextBox1.Text = TextBox1.Text & "很遺憾你輸了..." & vbCrLf
TextBox2.Text = "遊戲結束..."
GameOver()
End If
Case 2
If r > 1 And r < 7 Then
TextBox1.Text = TextBox1.Text & "恭喜你脫逃成功..." & vbCrLf
StoryNo = 2
Story()
Else
TextBox1.Text = TextBox1.Text & "很遺憾你被強盜抓了..." & vbCrLf
TextBox2.Text = "遊戲結束..."
GameOver()
End If
End Select
Case 2
Select Case SelectNo
Case 1
If r > 1 And r < 7 Then
TextBox1.Text = TextBox1.Text & "恭喜你打死了老虎..." & vbCrLf
StoryNo = 3
Story()
Else
TextBox1.Text = TextBox1.Text & "被老虎吃掉了..." & vbCrLf
TextBox2.Text = "遊戲結束..."
GameOver()
End If
Case 2
If r > 1 And r < 7 Then
TextBox1.Text = TextBox1.Text & "恭喜你逃出虎口..." & vbCrLf
StoryNo = 3
Story()
Else
TextBox1.Text = TextBox1.Text & "跑太慢,被老虎吃掉了..." & vbCrLf
TextBox2.Text = "遊戲結束..."
GameOver()
End If
End Select
Case 3
Select Case SelectNo
Case 1
TextBox1.Text = TextBox1.Text & "晚安..." & vbCrLf
TextBox2.Text = "遊戲結束..."
GameOver()
Case 2
TextBox1.Text = TextBox1.Text & vbCrLf & "辛苦了,遊戲繼續..." & vbCrLf
TextBox1.Text = TextBox1.Text & "你是一個武功高強的劍客,現在天色快暗了,你在尋找客棧..." & vbCrLf
StoryNo = 1
Story()
End Select
End Select
TextBox1.SelectionStart = TextBox1.Text.Length
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SelectNo = 1
Attack()
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SelectNo = 2
Attack()
End Sub

Sub GameOver()
Button1.Enabled = False
Button2.Enabled = False
End Sub

Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
TextBox1.Text = "你是一個武功高強的劍客,現在天色快暗了,你在尋找客棧..." & vbCrLf
Button1.Enabled = True
Button2.Enabled = True
StoryNo = 1
Story()
End Sub

Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.Click
Using f As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter("TextRPG.txt", False)
f.WriteLine(TextBox1.Text)
End Using
End Sub

Private Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.Click
End
End Sub
End Class
__________________
『唸金母心咒:嗡。金母。悉地。吽。』
持此咒者,可免一切瘟疫,一切瘟神抱頭四散。

魔術就是欣賞神奇的效果
如果魔術的秘密被破解了
那魔術就失去欣賞的價值
魔術王子 目前離線  
送花文章: 1523, 收花文章: 1552 篇, 收花: 3891 次
回覆時引用此帖
有 2 位會員向 魔術王子 送花:
mini (2015-02-23),tmsyy (2015-02-04)
感謝您發表一篇好文章