題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存

Slides:



Advertisements
Similar presentations
計算機程式及實習 Computer Program Design and Experiment) 期末報告 ppt 南台科技大學機械工程系 姓名 : 蔡中銘 學號 :4A 授課老師 : 謝慶存大帥哥.
Advertisements

Visual Basic 語言撰寫程式設計遊戲專題
計算機程式及實習期末報告 VB 2010設計遊戲程式
視窗應用程式表單的基本輸出入 資管系 助理教授 詹曉苓.
計算機程式及實習 期末報告之口頭報告PPT製作 題目: 記憶遊戲
計算機程式及實習 期末報告 題目:超級猜一猜
題目:記憶大考驗地獄版 南台科技大學 機械工程學系 車輛一乙 學號:4A 姓名:蔡朝翔 教師:謝慶存
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
計算機程式及實習 期末報告 題目:商店結帳系統
第10章 处理图形 Visual Basic 程序设计教程.
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
Visual Basic 2005學習範本 第5章 選擇結構.
14 繪圖與動畫 [我的小畫家][打磚塊遊戲] 14-1 繪圖的基礎 14-2 滑鼠事件與基本繪圖 14-3 在Bitmap物件繪圖
VB教学中游戏化教学案例设计.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
CH10.
Visual Basic程序设计.
BLANK overview.
程式語言Visual Basic 變數的可視範圍
CH11.
課程名稱:程式設計 授課老師:________
建立VB.NET應用程式 資管系 助理教授 詹曉苓.
第2章 建立Visual Basic應用程式.
課程名稱:資料庫系統 授課老師:李春雄 博士
程式語言 -Visual Basic 變數、常數與資料型態.
課程名稱:資料庫系統 授課老師:李春雄 博士
課程名稱:資料庫系統 授課老師:李春雄 博士
过程 第 7 章.
第8章 数据的排序、搜 索和过滤.
第十一讲 VB常用标准控件(2).
Visual Basic程序设计基础 计算机科学学院.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
Timer & Format.
第10章 視窗應用程式的工具列與功能表.
機器人-Robot Nobody 機器人.
form1 卡拉OK pictureBox1 fish1.bmp pictureBox2 fish2.bmp label1 卡拉OK字幕機
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
Ch03 基本輸出入介面設計 視窗程式設計 授課教師:王大瑾.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
算法与程序设计 周少品.
多媒體.
VB程序设计语言 主讲教师:王 杨.
P2P聊天工具.
第4章 視窗應用程式的基本輸出入 4-1 物件基礎程式設計 4-2 表單控制項 4-3 按鈕控制項 4-4 資料輸出的標籤控制項
題目:南台飲料店結帳系統 南台科技大學 機械工程系 車輛一甲 學號:4A
菜单、状态栏和工具栏 菜单 状态栏 工具栏 编写代码 创建用户界面 Debug and Deploy 使用 Visual
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
江西财经大学信息管理学院 《数据库应用》课程组2007
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作 南台科技大學 機械工程系 題目:南台電影城結帳系統 班級 : 車輛一甲 學號 : 4A 授教學生: 阮偉倫 授課老師: 謝慶存.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
打地鼠(陣列版).
第二章、第三章错题分析.
計算機程式及實習 Computer Program Design and Experiment) 期末報告ppt製作
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
1位选手参加了歌唱比赛,评委们的评分如下:
算法与Visual Basic程序基础(二)
程序调试与错误处理.
Presentation transcript:

題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A115016 姓名:黃冠嘉 教師:謝慶存 計算機程式及實習 期末報告 題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A115016 姓名:黃冠嘉 教師:謝慶存

徽章之記憶 主題說明與背景 這是一款以記憶大考驗改編的遊戲 一開始要在一定的時間內記住所有卡片的位置,接著圖片會覆蓋,要將兩張相同的圖片找出來,若兩張不同時會顯示答錯的訊息,然後圖片也會重新覆蓋,當所有牌答對翻開時會撥放 水~ ~的聲音。

遊戲介面 btn1 btn2 btn3 Timer1/Timer2 pic1 pic2 pic3 pic4 pic5 pic6 pic7

Pic1、pic2、pic3、pic4、pic5、pic6、pic7、pic8的圖片方塊控制項,用來當作記憶大考驗遊戲的8個圖示。 bnt1、btn2、btn3鈕,來選擇遊戲等級。 lblShow標籤控制項,用來顯示遊戲開始時之前玩家可以檢視的時間。 lblTime標籤控制項,用來顯示目前記憶大考驗所花費的遊戲時間。 Time1計時器控制項,用來計算遊戲開始時之前玩家可以檢視的時間。 Time2計時器控制項,用來計算目前記憶大考驗所花費的遊戲時間。

圖片素材 2.jpg 1.jpg q.jpg 3.jpg 4.jpg

程式碼撰寫 Public Class Form1 Dim n() As Integer = {0, 1, 2, 4, 3, 3, 1, 4, 2} 宣告n(0)~n(8)整數陣列,用來表示8個圖片方塊所表示的值 Dim p(8) As PictureBox 宣告p(0)~p(8)圖片方塊控制項陣列,p(0)省略不用,p(1)~p(8)用來代表pic1~pic8 Dim hitPic1, hitPic2 As PictureBox 宣告hitPic表示第一次翻牌的圖片方塊、hitPic2表示第二次翻牌的圖片方塊 Dim t1, t2 As String t1 、t2字串存放第一、二次翻牌圖片所取得的值 Dim isFirst As Boolean = True isFirst表示第一次按下圖片的旗標 Dim timer1Tot As Integer 表示timer1計時器執行的次數 Dim timer2Tot As Integer 表示timer2計時器執行的次數 Dim level As Integer 表示等級,2為高級,5為中級,10為初級 Dim tot As Integer 答對的組數,若tot為4表示過關

Private Sub Form1_Load(ByVal sender As System Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadMe.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink Form1表單載入時,即觸發Form1_Load事件處理函式 lblShow.Text = “請按【開始】鈕進行遊戲” lblTime.Text = "“ Timer1.Interval = 1000 指定Timer1每一秒執行Timer1_Tick事件處理程序一次 Timer2.Interval = 1000 指定Timer2每一秒執行Timer2_Tick事件處理程序一次 p(1) = pic1 p(2) = pic2 p(3) = pic3 p(4) = pic4 p(5) = pic5 分別將pic1~pic8指定給p(1)~p(8) p(7) = pic7 p(8) = pic8 For i = 1 To n.GetUpperBound(0) p(i).Image = New Bitmap(“q.jpg”) 使pic1~pic8顯示q.jpg p(i).Tag = n(i) pic1~pic8的Tag屬性皆設為n(1)~n(8) p(i).SizeMode = PictureBoxSizeMode.StretchImage 使圖片隨pic1~pic8的大小做縮放 p(i).BorderStyle = BorderStyle.Fixed3D 使pic1~pic8的框線樣式以3D框線顯示 p(i).Enabled = False pic1~pic8屬性失效 Next End Sub

Private Sub pic1_Click(ByVal sender As System Private Sub pic1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pic8.Click, pic7.Click, pic6.Click, pic5.Click, pic4.Click, pic3.Click, pic2.Click, pic1.Click 定義pic1_Click事件處理函式,以提供給pic1~pic8的Click事件使用 If isFirst Then hitPic1 = CType(sender, PictureBox) 將第一次翻牌的圖片方塊指定給hitPic1 t1 = hitPic1.Tag.ToString 將目前翻牌圖片的值指定給t1 hitPic1.Image = New Bitmap(hitPic1.Tag.ToString & “.jpg”) 顯示目前翻牌的圖示 isFirst = False 將isFirst設為False表示目前己結束第二次翻牌 Else 第二次翻牌 hitPic2 = CType(sender, PictureBox) 將第二次翻牌的圖片方塊指定給hitPic t2 = hitPic2.Tag.ToString 將目前翻牌圖片的值指定給t2 hitPic2.Image = New Bitmap(hitPic2.Tag.ToString & “.jpg”) 顯示目前翻牌的圖示 isFirst = True 將isFirst設為True表示目前已結束第二次翻牌 If t1 = t2 Then 若t1等於t2,表示所翻牌兩個圖片的Tag屬性相同,即兩者的圖示相同 hitPic1.Enabled = False 使目前翻牌兩個圖片失效 hitPic2.Enabled = False tot += 1 答對組數加1

MsgBox("答錯了^_|||") hitPic1.Image = New Bitmap("q.jpg") hitPic2.Image = New Bitmap(“q.jpg”) 將第一次和第二次翻牌的圖示以q.jpg顯示 End If If tot = 4 Then 若答對組數為4,即表示過關 btn1.Enabled = True btn2.Enabled = True btn1. btn2. btn3鈕啟用 btn3.Enabled = True Timer1.Enabled = False Timer1、2計時器停止 Timer2.Enabled = False If level = 2 Then MsgBox("過關了...果然是記憶高手") ElseIf level = 5 Then MsgBox("過關了...你的記憶力還不錯") ElseIf level = 10 Then MsgBox("過關了...你的記憶力還馬馬乎乎") y.Computer.Audio.Play(“APPLAUSE.WAV”, AudioPlayMode.Background) 播放股掌聲 End Sub

lblShow.Text = "你可以檢視的時間還有 " & timer1Tot & "秒" lblTime.Text = "" My.Computer.Audio.Play("CHIMES.WAV", AudioPlayMode.Background) End If If t1 <> t2 Then 若t1不等於t2,表示所翻牌兩個圖片的Tag屬性不同,即兩者的圖示不相同 Private Sub GameStart() 進行遊戲的GameStart()程序 My.Computer.Audio.Stop() 停止播放聲音 level = timer1Tot btn1.Enabled = False btn2.Enabled = False btn1、2、3鈕失效 btn3.Enabled = False Timer1.Enabled = True 啟動Timer1計時器 timer2Tot = 0 timer2Tot的計時遊戲時間 t1 = "" t2 = “” 將t1、t2第一、二次翻牌圖片所取得的值設為空白 tot = 0 將答對的組數設為0,若tot為4表示過關 hitPic1 = Nothing 將hitPic1第一次翻牌的圖片方塊設為Nothing hitPic2 = Nothing 將hitPic2第二次翻牌的圖片方塊設為Nothing lblShow.Text = "你可以檢視的時間還有 " & timer1Tot & "秒" lblTime.Text = "" For i = 1 To n.GetUpperBound(0) 使pic1~pic8顯示1~4.jpg四個圖示 p(i).Image = New Bitmap(n(i) & ".jpg") Next End Sub

Private Sub btn1_Click(ByVal sender As System Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click timer1Tot = 2 設定timer1Tot的倒數時間為2秒 GameStart() End Sub Private Sub btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn2.Click timer1Tot = 5 設定timer1Tot的倒數時間為5秒 Private Sub btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn3.Click timer1Tot = 10 設定timer1Tot的倒數時間為10秒

Private Sub Timer1_Tick(ByVal sender As System Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Timer1計時器啟動時會觸發Timer1_Tick事件 timer1Tot -= 1 timer1Tot減1即倒數秒數 lblShow.Text = "你可以檢視的時間還有 " & timer1Tot & "秒" If timer1Tot = 0 Then 若timer1Tot倒數秒數為0則執行下面敘述 Timer1.Enabled = False Timer1失效 lblShow.Text = "" Timer2.Enabled = True Timer2啟動 For i = 1 To n.GetUpperBound(0) p(i).Image = New Bitmap(“q.jpg”) pic1~pic8顯示q.jpg p(i).Enabled = True pic1~pic8圖片啟用 Next End If End Sub

Private Sub Timer2_Tick(ByVal sender As System Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick Timer2計時器啟動時會觸發Timer2_Tick事件 timer2Tot += 1 timer2Tot加1即遊戲時間加1 lblTime.Text = "遊戲時間:" & timer2Tot & " 秒“ If timer2Tot = 5 Then timer2Tot遊戲時間到5時,即執行下面敘述馬上停止遊戲 Timer2.Enabled = False Timer2失效 btn1.Enabled = True btn2.Enabled = True btn1, btn2, btm3啟用 btn3.Enabled = True MsgBox(“看來我的運氣真壞") lblShow.Text = "請按【開始】鈕進行遊戲” lblTime.Text = "“ For i = 1 To n.GetUpperBound(0) p(i).Image = New Bitmap(“q.jpg”) pic1~pic8顯示q.jpg p(i).Enabled = False pic1~pic8圖片失效 Next End If End Sub End Class

執行程式 選擇難度開始遊戲

難度 初級 開始時間為10秒 難度 中級 開始時間為5秒 難度 高級 開始時間為5秒

選取2個一樣的圖片會撥放 阿斯~~的音效

全部答對會撥放 水~~的聲音

初級過關顯示 中級過關顯示 高級過關顯示

 時間到會顯示 (時間設定為5秒) 圖案選錯顯示

我的心得 此次的VB遊戲製作比起上學期做得更為複雜,比起上次更有成就感,這次的程式運用到上學期所教的指令,這款遊戲在製作的時候雖然碰到很多問題,但這些問題能夠使這次的程式更有挑戰性,完成後成就感也更為強烈,這些問題再課本中找到解答並完成這次作業,雖然VB這程式我並不會設計程式,但我知道VB所能做的東西不只這些,VB這個軟體想要學就必須是靠自己去摸索這是我這次所學到的一件事。