史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   [使用版本VB2008]純文字RPG遊戲 (http://forum.slime.com.tw/thread278677.html)

魔術王子 2015-02-03 10:51 PM

[使用版本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



所有時間均為台北時間。現在的時間是 09:19 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1