專案名稱:Z2B56-For2 電腦崗位:
一、表單佈建:
1表單大小:600,500
2表單標題:「資2孝56陳俊華-迴圈2實作」
3三個文字方塊:位置為(80,60),(180,60),(280,60),字型皆(新細明體,12)
寬度皆設為60,文字顯示分別 2, 15 , 3
4五個按鈕:位置為(25,350),(125,350) ,(225,350) ,(325,350)
,(425,350),字型皆(標楷體,13)
大小皆設為(85,45),文字顯示分別 「產生1」「產生2」「產生3」「消除」「填數」
背景色為 Gold、 字顏色皆 Blue
二、程式規定:每個功能6%
0、表單一載入:將按鈕4、5設為不啟動
1、按按1:(1)輸入文字方塊1~3分別為A,B,C
(2)以For迴圈產生k= A To B Step C 共 N 個 標籤控制項陣列,但N最多12個
(3)標籤的大小皆(30,40),位置為(35,150),(70,150),(105,150)...
(4)標籤皆有框線,背景色顏色為
RGB 亂數產生
(5)字型皆為("微軟正黑", 10)、文字顯示 k
(6)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
2、按按2:(1)輸入文字方塊1~3分別為A,B,C
(2)以For迴圈產生k= A To B Step C 共 N 個 標籤控制項陣列,但N最多10個
(3)標籤的大小皆(30,25),位置為(385,30),(385,60),(385,90)...
(4)標籤皆有框線,背景色顏色為
RGB 亂數產生
(5)字型皆為("微軟正黑", 10)、文字顯示 k
(6)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
3、按按3:(1)以雙重For迴圈產生2列各6個標籤控制項
(2)標籤的大小皆(30,40),第1列位置為(35,130),(70,130),(105,130)...
,第2列位置為(35,180),(70,180),(105,180)...
(3)標籤皆有框線,背景色顏色為
RGB 亂數產生
(4)字型皆為("微軟正黑", 10)、文字顯示 k
(5)然後將按鈕1~3設為不啟動,將按鈕4、5設為啟動
4、按紐4:將產生的控制項陣列取消
5、按鈕5:(1)輸入文字方塊1~3分別為A,B,C
(2)將標籤的前 A 個的顯示文字修改如下,但A最多N個
k=1 To A,若k為偶數則顯示文字改為 k*B mod 100
若k為奇數則顯示文字改為 k+C
Public Class Form1
Dim N As Integer = 12 '控制項個數,最多12個
Dim N2 As Integer = 10 '控制項個數,最多10個
Const wd As Integer = 30 '寬
Const ht As Integer = 40 '高
Const ht2 As Integer = 25 '高
Const gt As Integer = 5 '間距
Const VPOS As Integer = 150 ' y 軸位置
Const HPOS As Integer = 385 ' x 軸位置
Dim LB(N) As Label
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Button4.Enabled = False
Button5.Enabled = False
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim A As Integer = TextBox1.Text
Dim B As Integer = TextBox2.Text
Dim C As Integer = TextBox3.Text
Dim k As Integer = 0 '個數
Dim sum As Integer = 0 '和
For i = A To B Step C
Dim cr As Integer = Int(Rnd() * 256) '紅色的度數 0~255隨機
Dim cg As Integer = Int(Rnd() * 256) '綠色的度數 0~255隨機
Dim cb As Integer = Int(Rnd() * 256) '藍色的度數 0~255隨機
If k >= N Then Exit For
k += 1 '個數加1
LB(k) = New Label
Me.Controls.Add(LB(k))
With LB(k)
.Location = New Point(k * (wd +
gt), VPOS) '標籤的位置
.Width = wd '標籤的寬度
.Height = ht '標籤的高度
.BorderStyle =
BorderStyle.FixedSingle '標籤加框線
.Font = New Font("微軟正黑", 10)
.Text = i '標籤顯示的文字
.BackColor = Color.FromArgb(cr,
cg, cb) '背景色:隨機的 紅、綠、藍
End With
Next
N = k
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Dim A As Integer = TextBox1.Text
Dim B As Integer = TextBox2.Text
Dim C As Integer = TextBox3.Text
Dim k As Integer = 0 '個數
Dim sum As Integer = 0 '和
For i = A To B Step C
Dim cr As Integer = Int(Rnd() * 256) '紅色的度數 0~255隨機
Dim cg As Integer = Int(Rnd() * 256) '綠色的度數 0~255隨機
Dim cb As Integer = Int(Rnd() * 256) '藍色的度數 0~255隨機
If k >= 10 Then Exit For
k += 1 '個數加1
LB(k) = New Label
Me.Controls.Add(LB(k))
With LB(k)
.Location = New Point(HPOS, k *
(ht2 + gt)) '標籤的位置
.Width = wd '標籤的寬度
.Height = ht2 '標籤的高度
.BorderStyle =
BorderStyle.FixedSingle '標籤加框線
.Font = New Font("微軟正黑", 10)
.Text = i '標籤顯示的文字
.BackColor = Color.FromArgb(cr,
cg, cb) '背景色:隨機的 紅、綠、藍
End With
Next
N = k
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
Dim A As Integer = TextBox1.Text
Dim B As Integer = TextBox2.Text
Dim C As Integer = TextBox3.Text
Dim k As Integer = 0 '個數
Dim sum As Integer = 0 '和
For i = 1 To 2
For j = 1 To 6
Dim cr As Integer = Int(Rnd() *
256) '紅色的度數 0~255隨機
Dim cg As Integer = Int(Rnd() *
256) '綠色的度數 0~255隨機
Dim cb As Integer = Int(Rnd() *
256) '藍色的度數 0~255隨機
If k >= 12 Then Exit For
k += 1 '個數加1
LB(k) = New Label
Me.Controls.Add(LB(k))
With LB(k)
.Location = New Point(j *
(wd + gt), 80 + i * 50) '標籤的位置
.Width = wd '標籤的寬度
.Height = ht '標籤的高度
.BorderStyle =
BorderStyle.FixedSingle '標籤加框線
.Font = New Font("微軟正黑", 10)
.Text = k 'i & "," & j '標籤顯示的文字
.BackColor =
Color.FromArgb(cr, cg, cb) '背景色:隨機的 紅、綠、藍
End With
Next
Next
N = k
Button1.Enabled = False
Button2.Enabled = False
Button3.Enabled = False
Button4.Enabled = True
Button5.Enabled = True
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button4.Click
Dim cnt = Me.Controls.Count - 1
For i = cnt To cnt - N + 1 Step -1
Me.Controls.RemoveAt(i)
Next
Button1.Enabled = True
Button2.Enabled = True
Button3.Enabled = True
Button4.Enabled = False
Button5.Enabled = False
N = 12
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button5.Click
Dim A As Integer = TextBox1.Text
Dim B As Integer = TextBox2.Text
Dim C As Integer = TextBox3.Text
If A > N Then A = N
For k = 1 To A
If k Mod 2 = 0 Then
LB(k).Text = k * B Mod 100
Else
LB(k).Text = k + C
End If
Next
End Sub
End Class
終極密碼X試題說明
二信高中 107上 資2孝程式 模考 x卷 電腦崗位:
○、專案名稱:(5%) Z2B56-模考X-終極密碼
一、表單佈建:(55%)除了標題,每項未達成 扣3分{班號、崗位沒寫也扣}
1.表單大小:550 x 450 表單背景圖: 「A.jpg」、 不定比例 隨框縮放
2.表單標題:「資2孝56號陳俊華-模考X卷-終極密碼」 5%
3.二個標籤:Label1標題:「電腦或人工設定密碼(11~90):」微軟正黑、14點大小、背景色LimeGreen
Label2標題:「結果:」400x60字水平置中,微軟正黑、14點大小、字白色、背景色Blue
Label2標題:「結果:」400x60字水平置中,微軟正黑、14點大小、字白色、背景色Blue
4.文字方塊:TextBox1,清空,設為密碼型式*號,字紅色、字大小15
5.按鈕2個:Button1標題:「猜一猜」標楷16點大小、粗斜體、字顏色Gold、背景色Purple
Button2標題:「重設密碼」標楷16點大小、粗斜體、字顏色Gold、背景色Purple
二、程式規定:(40%)每一項未完成扣 5~ 10分
1.表單一載入:產生一隨機亂數 11~90之間,存入公用變數
{pass}
2.按鈕1被按一下:
(1)若文字方塊有輸入會以Msgbox詢問「電腦Y 或人工N」,回答N則以TextBox1中的輸入為密碼
訊息窗的圖示為問號,按鈕只有「是」「否」
{ 但若輸入的密碼不是 11~90則仍以電腦產生的密碼 }
訊息窗的圖示為問號,按鈕只有「是」「否」
{ 但若輸入的密碼不是 11~90則仍以電腦產生的密碼 }
(2)接著以輸入窗顯示「猜11~90」等待輸入,並每次會將變數的
{次數} 加1
若輸入正確則在Label2上顯示「答對了!正確數字為 {pass} 。你共猜了 {次數} 次。
{pass}是正確的密碼,{次數}是猜了幾次才猜到。
若輸入正確則在Label2上顯示「答對了!正確數字為 {pass} 。你共猜了 {次數} 次。
{pass}是正確的密碼,{次數}是猜了幾次才猜到。
(3)若輸入的{數字}為 -56 則以訊息窗顯示「密碼是:{pass}俊華再見!」,然後結束程式。
↑自己座號 ↑ {pass}是正確密碼,俊華是自己姓名
若輸入 0 可停止猜測 以 Exit Sub 退出副程式
若輸入的{數字}大於{pass}則輸入窗的訊息會顯示「{數字} 太大了,再猜:{上次左界}~ {數字}」
若輸入的{數字}小於{pass}則輸入窗的訊息會顯示「{數字} 太小了,再猜:{數字}~{上次左界}」
↑自己座號 ↑ {pass}是正確密碼,俊華是自己姓名
若輸入 0 可停止猜測 以 Exit Sub 退出副程式
若輸入的{數字}大於{pass}則輸入窗的訊息會顯示「{數字} 太大了,再猜:{上次左界}~ {數字}」
若輸入的{數字}小於{pass}則輸入窗的訊息會顯示「{數字} 太小了,再猜:{數字}~{上次左界}」
3.按鈕2被按一下:將猜測的次數歸零,猜測的範圍改回11~99,{pass}值重新產生
Public Class Form1
Dim Lt As Integer = 11 '左界
Dim Rt As Integer = 90 '右界
Dim pass As Integer ' 密碼
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call setpass()
End Sub
Sub setpass()
Lt = 11 '*更正* 應先設定 LT及RT 再 執行 int(rnd ... )
Rt = 90
pass = Int(Rnd() * (Rt - Lt + 1)) + Lt '自動產生密碼
TextBox1.Text = "" '將輸入密碼區清空
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' 判斷是否 人工設密碼 或 電腦產生
If TextBox1.Text <> "" Then
Dim r = MsgBox("電腦Y 或人工N", vbQuestion + MsgBoxStyle.YesNo)
If r = vbNo Then
If Val(TextBox1.Text) >= 10 And Val(TextBox1.Text) <= 99 Then
pass = Val(TextBox1.Text)
End If
Else
Call setpass()
End If
End If
' 開始猜
Dim gs As Integer = InputBox("猜11~90") '您所 猜的數
Dim n As Integer = 1 '猜的次數
Do While gs <> pass
' 若輸入 -56(自己座號) 放棄,顯示密碼並結束程式
If gs = -56 Then
MsgBox("密碼是:" & pass & "再見!")
End
End If
If gs = 0 Then
Exit Sub
End If
' 若輸入 太大,則 右界數字改為 輸入的數字
If gs > pass Then
Rt = gs
gs = InputBox(gs & " 太大了,再猜:" & Lt & "~" & Rt)
Else ' 若輸入 太小,則 左界數字改為 輸入的數字
Lt = gs
gs = InputBox(gs & " 太小了,再猜:" & Lt & "~" & Rt)
End If
n += 1
Loop
Label2.Text = "答對了!正確數字為 " & pass & " 。你共猜了 " & n & " 次。"
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Call setpass()
End Sub
End Class
0 意見:
張貼留言