cathyjerry1055 wrote:
資料庫應該還是以ASP.NET為主吧...
若說最相近的應該是ACCESS...
(恕刪)


對不起...您的這句我不太了解

您是要說連資料庫以ADO.NET為主是嗎?
ACCESS是一個基本的資料庫
但問題還算不少
而且,有些語法和MSSQL還是不太相同

連接資料庫不見得要以ASP.NET為主
也不是只有ASP.NET可以連資料庫
就算是在.NET的架構下
一樣可以用ADO.NET或是原來的ADO來連接資料庫
就我的了解是這樣



設定變數 要猜的數

dim abcd(3) 定義一個陣列.

迴圈 OKNG=3
ABCD(0)=亂數
ABCD(1)=亂數
ABCD(2)=亂數
ABCD(3)=亂數


IF (ABCD(0) <> ABCD(1)) AND (ABCD(0) <> ABCD(2)) AND (ABCD(0) <> ABCD(3)) THEN OKNG=OKNG+1

IF (ABCD(1) <> ABCD(2)) AND (ABCD(1) <> ABCD(3)) THEN OKNG=OKNG+1

IF (ABCD(2) <> ABCD(3) THEN OKNG=OKNG+1

跳出迴圈



dim ANS(3) 定義一個陣列.


給使用者4個數字的輸入框框. (ANS(0),ANS(1),ANS(2),ANS(3))
當使用者輸入後按enter 就開始.

判斷是否4個字不相同 , 如不相同就做下去,   如相同就回答, 你會不會玩猜數字.並重來。


FOR I =0 TO 3
IF ABCD( I ) = ANS( I ) THEN A=A+1
NEXT

IF ABCD(0) = ANS(1) OR ABCD(0) = ANS(2) OR ABCD(0) = ANS(3) THEN B=B+1
IF ABCD(1) = ANS(0) OR ABCD(1) = ANS(2) OR ABCD(1) = ANS(3) THEN B=B+1
IF ABCD(2) = ANS(1) OR ABCD(2) = ANS(0) OR ABCD(2) = ANS(3) THEN B=B+1
IF ABCD(3) = ANS(1) OR ABCD(3) = ANS(2) OR ABCD(3) = ANS(0) THEN B=B+1

回答使用者 幾A 幾B


Surhoff wrote:
對不起...您的這句...(恕刪)


呵呵...
樓上問的是主流,
所以這邊回答的是以主流為主,
當然有許多其他能做到,甚至更好,
但還是回答基本的,
至少外邊書局補習班都有在教,
要學的管道比較多,

另外建議用ACCESS是因為OFFICE就有了,
不用再安裝其他軟硬體,
裡頭還有內建範例資料庫,
可以把它視為簡易型的資料庫,
不過畢竟和sql不一樣,支援的函數及語法都有所不同...
人間五十年、下天のうちを比ぶれば夢幻の如
cathyjerry1055 wrote:
呵呵...樓上問的是...(恕刪)


哦...了解您的意思了
不過,OFFICE內含ACCESS好像也有限定版本哦~
如果沒搞錯的話
Surhoff wrote:
哦...了解您的意思...(恕刪)


正式版以上都會有...
只是很少人會去用而已,
另外熊熊想到,
樓上的問題忘了問需求,
如果只是100人以下,不要求資料同步的話,
其實frontpage+excel就能做到囉~
人間五十年、下天のうちを比ぶれば夢幻の如
maxtt660 wrote:
看見大大這麼的幫忙真的很謝謝

有的大大還貼出程式,真的很謝謝
不過重點是我看不懂,真的看不懂,就不知道如何去做
那些程式認識我,我不認識他~
我要認識那些程式~~要知道那些程式是甚麼的原理去寫的
给我程式是可以,但我就不喜歡複製貼上這兩個動作
我想理解那些程式到底是在寫甚麼
還有兩天~~兩天去理解真的很難
但是我就不喜歡東西都只知道一半



阿阿阿~~~我看這次我真的踢到鐵板了


別放棄阿
跟你說說我就職的經過

當初剛退伍的時候 靠之前玩電腦的硬體經驗進了目前這家公司
沒寫過程式 只會修硬體
後來老闆開始要我學程式
一開始她出題
要我做一個access資料庫的電子相簿
要把圖片轉檔進access
那時候翻遍全公司的VB書 入門的 進階的 資料庫的 ADO T-SQL 搞了三個月才搞出來 = =
慢慢的又寫了很多東西
雖然只是做出來 沒實際使用 沒賣人 沒上線
可是這些都是經驗
就憑著這些經驗現在我也可以自己做一個專案 自己獨立的讓一個專案上線 讓客戶滿意 讓老闆賺錢

今天你老板要你寫個小遊戲 為的是讓你理解其中的邏輯 基本概念
怎樣用dim宣告變數
for怎樣跑迴圈
select怎樣判斷
if else該怎樣下
這才是你這次的考驗
1A1B這小遊戲要的不是結果 額是過程
重點是要把基礎打好

建議你買幾本入門書來看
這遊戲我可以跟你說不用100行就可以寫出來
如果這關你都過不了 可能你就不適合做這行了

我老闆常常說的一具話"要寫一個程式不難,要寫一個好的程式就很難了"
看了半天, 某些答案真的是讓人昏倒, 反正也不花時間, 就大致解答一下好了.
我在畫面上拉了三個TextBox並且自行命名(請到設計環境的"屬性"視窗, 更改"Name"這一欄的值), 一個叫"題目", 一個叫"答案", 另一個叫"幾A幾B". 所以呢, 題目.Text就是你輸入的"題目", 例如"2345"等等. 至於答案, 則是你猜的東西, 另一個"幾A幾B"則是我最後要輸出的東西. 然後, 我拉一個按鍵, 這個按鍵由系統自動命名, 叫做"Button1", 然後在按鍵的Click Event裡寫下面的程式:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim i, j, a, b, c
  a = 0
  b = 0
  For i = 1 To 4
   c = Mid(題目.Text, i, 1)
   For j = 1 To 4
    If Mid(答案.Text, j, 1) = c Then
     If (i = j) Then
      a = a + 1
     Else
      b = b + 1
     End If
     Exit For
    End If
   Next
  Next
  幾A幾B.Text = Str( a ) + "A" + Str( b ) + "B"
End Sub

其中, Dim是定義變數的意思, 我定義了i, j拿來做For迴圈, 然後a存放幾a, b存放幾b, c則是存放目前要比對的字元.
由於猜幾a幾b通常都是4個數字, 而這4個數字又不重覆, 因此, 只要某個值是a就不會是b, 是b就不會是a. 所以呢, 得到a或b之後閃人即可(Exit For讓你離開目前這個迴圈).
做這個題目呢, 其實要用的指令極簡單, 就是Dim, For, If, Str() 以及Mid()函數. 其中, Mid的語法是:
傳回字串 = Mid(某字串, 由第幾個位置開始, 長度為多少)
於是呢, Mid(答案.Text, j, 1)就表示我要由答案那個格子裡面, 由第j個位置開始取1個字. 然後把它和題目的第i個字比一下, 如果有比到的話(Mid(答案.Text, j, 1) = c), 就下去看一下位置是否相同, 如果位置一樣(i=j)那就是A, 所以A = A + 1; 否則呢, 那當然就是B, 於是B = B + 1. 既然都知道是a還是b了, 那裡面的迴圈也不必全跑完(Exit For), 讓它回到上一層再比下去. 最後就令"幾A幾B"這個格子裡顯示答案即可, 由於我顯示的是文字, 但A和B兩個變數都是數字, 所以利用Str()函數讓它變成文字.
------------------------------
針對之前看到的一堆希奇古怪的東西, 有幾點要注意:
1. 一堆的IF命令是極不適宜的程式寫法, 一堆的IF應改用SELECT CASE比較易讀也比較符合結構化程式設計的原則.
2. 這個題目沒必要用陣列解題, 也沒必要用Hash, 更不必鬼扯人工智慧.
3. 拿ASP.NET連資料庫很方便, 也不必鬼扯什麼Access與MS-SQL(應該是SQL-Server或My-SQL吧)的問題. 那兩種資料庫用哪一種來學都可以, 基本概念是一樣的. 至於SQL並不是不相容, 而是你必需使用ANSI標準的語法. 所有的資料庫都支持各自特殊的sql語法, 但ANSI-SQL則是共同支援的. 寫資料庫程式, 若要相容性高, 就最好用ANSI語法, 不要使用特殊語法, 那麼後台換什麼資料庫都沒差, 你只是改一行Connection String罷了, 只要資料庫/資料表/資料結構相同, 剩下的程式不改也能動.
-----------------------------
提一下寫程式的事情. 這東西天份佔70%, 努力佔30%. 就如同數學一樣, 有天份可以學的很好, 沒天份怎麼學也學不好. 所以, 若自己經過認真練習也寫不好, 那可能是程式設計這個工作不適合你, 最好是改途. 做事情還是要做自己天份上最合適的, 這樣子才能發揮最大效益, 也比較不會吃力不討好.

sambad wrote:
看了半天, 某些答案...(恕刪)


呵呵...
真不愧是解題的標準答案...

不過我想問一下,
若是由USER設定數字,再讓電腦來猜,
這樣判斷式應比較符合遊戲的原貌...

我自己會用泡泡法去做判斷式,
不知各位大大有何建議?
人間五十年、下天のうちを比ぶれば夢幻の如
cathyjerry1055 wrote:
呵呵...真不愧是解...若是由USER設定數字,再讓電腦來猜,
這樣判斷式應比較符合遊戲的原貌...(恕刪)

人家連程式都搞不清楚了, 沒必要加東加西, 把題目的本身解開, 能搞懂就得了. 讓電腦猜數字, 就是由使用者來報幾A幾B, 問題是要由電腦來報幾A幾B, 因此並不是由電腦來猜(猜的人是要得到幾A幾B, 而不是報出幾A幾B). 合理的做法是由電腦設定數字, 由人來猜, 由電腦來報幾A幾B. 但醬子做呢, 很可能樓主大人也搞不清楚程式寫對寫錯(因為沒在螢幕上看到要猜的數字), 不如直接了當把核心的部份搞定即可.
sambad wrote:
2. 這個題目沒必要用陣列解題, 也沒必要用Hash, 更不必鬼扯人工智慧....(恕刪)

取4個數字又不重覆又不用陣列 有什麼好方法嗎?
game就這樣
有時候一個人玩很無聊
這個小程式算是最簡單的遊戲之一
如果加入人工智慧會比較有趣
有興趣 慢慢的還可以寫井字遊戲,黑白棋,五子棋,象棋 (國內有個 許舜欽教授,在電腦象棋領域很厲害) ,圍棋

寫程式也沒這麼難
從簡單的開始(慢慢的幾十行開始,幾百行,幾千行到幾萬行)
普通的程式也不用什麼天才
一直覺得電腦很笨,程式就是一步步告訴電腦你要做什麼
每個人寫法不同各有巧妙
反正現在CPU跑得快,
有興趣比較重要,
抄來的程式和寫出來的 成就感及爽度不同

文章分享
評分
評分
複製連結
請輸入您要前往的頁數(1 ~ 9)

今日熱門文章 網友點擊推薦!