很久之前就想把這個程式寫出來
但是,那時環境沒辦法寫出程式…
只能用巨集寫…(有人說…天丫,如果寫的出來真是太神奇了)
分析圖也畫,邏輯判斷也大致出來了…
就是在把邏輯寫成程式時,發現真的太難了…
對我來說,真的很難克服…
後來,與部隊之前的文書(程設師)msn聊,就聊到了怎麼撰寫一個黑桃二的程式…
因為黑桃二的「判斷」真的太多了…
連我的老同學(龜)都說超難寫的…
於是,我先改了一下舊的九九遊戲(真是太久遠以前設計的)
讓他感覺真的有像玩樸克牌遊戲的樣子…
http://www.badongo.com/file/10103189
(點上面連結,下載後自動解壓,點執行檔即可玩囉!)
更新連結:點此下載
在改完九九之後,我便著手開始寫黑桃二的程式碼…
於是就從97/06/23下午開始…
再之前,曾查過有人做「黑桃二」的遊戲,除錯加上設計…
約莫三個月左右的時間…
現在在家,有小毛頭要搞…三不五時出難題給偶破解…
有時還要出去買個東西,所以感覺當學生真的很不錯…
至少只要管自已就好了,可以更專心寫程式(算了,說這麼多也沒用)!
我在三天後(即26日)寫完ai(電腦)可以自已玩牌…
27日晚上終於完成整個遊戲,之後再改進ai囉…
以下是我製作遊戲的截圖…
http://www.badongo.com/file/10104718
(點上面連結,下載後自動解壓,點執行檔即可玩囉!)
更新連結:點此下載
歡迎大家測試…
我是以vb寫的…
我想可能有人會有興趣,我公布一小段程式碼…
Case 503 'full house牌型503
d = CInt(Right(What_Big(2, 5), 2)) '讀出full house三張中最大牌數值
temp1 = Array(0, 0, 0, 0, 0) '定義出牌暫存變數
For a = 3 To 13 '2張的從3開始找,即最大為13(k)
For b = d To 13 '3張的則以最大的開始找,最大不得為13(k)
If a <> b Then '防止3張和2張為相同牌
For c = 1 To player(Who_Play, 1, 2) - 2 '判斷有3張牌一樣,從第一張至最後一張(所以牌數-2防止過頭)
z = Array(CInt(Right(player(Who_Play, c, 1), 2)), CInt(Right(player(Who_Play, c + 1, 1), 2)), CInt(Right(player(Who_Play, c + 2, 1), 2)))
If z(0) = b And z(0) = z(1) And z(0) = z(2) Then
'三張牌相同,而且符合數字者
For e = 2 To 4
temp1(e) = player(Who_Play, c + e - 2, 1)
Next
yn = 1
Exit For
Else
yn = 0
End If
Next
For c = 1 To player(Who_Play, 1, 2) - 1 '判斷有2張牌一樣,從第一張至最後一張(所有牌數-1防止過頭)
z = Array(CInt(Right(player(Who_Play, c, 1), 2)), CInt(Right(player(Who_Play, c + 1, 1), 2)))
If z(0) = a And z(0) = z(1) Then
'二張牌相同,而且符合數字者
For e = 0 To 1 '轉存temp1
temp1(e) = player(Who_Play, c + e, 1)
Next
yn = yn + 1
Exit For
End If
Next
If yn = 2 Then
Exit For
End If
End If
Next
If yn = 2 Then
For b = 0 To 4
What_Big(2, b + 1) = temp1(b) '把所查出之牌導入現最大之牌
Next
Call Opp
clear_paper '出完牌,呼叫清除玩家手中牌
Who_Big = Who_Play '誰出的牌最大,轉存為發牌者
Exit For
End If
Next
Case 301 '3條牌型301
d = CInt(Right(What_Big(2, 3), 2)) '讀出三張中最大牌數值
temp1 = Array(0, 0, 0, 0, 0) '定義出牌暫存變數
For b = d + 1 To 13 '3張的則以最大的開始找,最大不得為13(k)
For c = 1 To player(Who_Play, 1, 2) - 2 '判斷有3張牌一樣,從第一張至最後一張(所以牌數-2防止過頭)
z = Array(CInt(Right(player(Who_Play, c, 1), 2)), CInt(Right(player(Who_Play, c + 1, 1), 2)), CInt(Right(player(Who_Play, c + 2, 1), 2)))
If z(0) = b And z(0) = z(1) And z(0) = z(2) Then
'三張牌相同,而且符合數字者
For e = 0 To 2
temp1(e) = player(Who_Play, c + e, 1)
Next
yn = 1
Exit For
Else
yn = 0
End If
Next
If yn = 1 Then
For a = 0 To 4
What_Big(2, a + 1) = temp1(a) '把所查出之牌導入現最大之牌
Next
Call Opp
clear_paper '出完牌,呼叫清除玩家手中牌
Who_Big = Who_Play '誰出的牌最大,轉存為發牌者
Exit For
End If
Next
不知道有沒有人看的懂?
如果看不懂,還是建議下載來玩玩吧!
我對這程式有興趣
回覆刪除不過我用的是JAVA跟C++
不知可否提供更詳細的寫法?
JAVA哦?我只會他一點點…至於c++我也沒常在碰…
回覆刪除最近我是想把他改成vb.net2008版…
沒想到裡面一堆函數寫的亂七八糟,有些宣告方式有問題…
急就章,去年花了五天寫的…所以內容沒啥規劃…
可以提供完整程式碼嗎?
回覆刪除因為專題要做線上大老二 , 學期也快結束了 想參考一下
可以的話就寄到我的信箱 wekokia@yahoo.com.tw
麻煩你了 謝謝 .
檔案寄出去了哦,不知道會不會跑到垃圾信件裡面。
回覆刪除不過程式內碼許多的宣告有些是「不合法的」,我不知道為什麼VB可以跑?
如果做成了,記得也通知一下我哦!:)
好像都沒收到垃圾信箱也沒看到
回覆刪除還是寄到我的 wekokia@gmail.com
還有我讀的是電子科 要做專題時才開始學VB6 學不到1個星期吧 ...
所以我覺得我應該寫不出來 專題會被當了..
但還是要拼一下
這位大大 小弟我正在寫德州撲克的程式
回覆刪除看到您寫的這篇極為感興趣
請問能不能請你割愛給我一份這大老二的程式碼做為參考
拜託了
點我下載
回覆刪除參考看看,程式內均有註解,不過在vb6下的語法當時我寫時有些不完整,但確是可以執行,所以會有點怪,而我也懶的修正了…
謝謝您的提供
回覆刪除VB6以下版本寫的話,看來麻煩了
我以前都用VB6,現在突然改用2008說真的,語法用法改很多
而且2008只能往下開到2005而己
對你應該沒差吧…有程式基礎應該都沒啥問題…
回覆刪除之前也有想過把他改成2008版本的,但是看到一堆有些遺忘的內容,就有點頭大…
所以在去年(2009)我就用2008寫了另一個小遊戲,叫「抽鬼牌」的…
在協作平台上…,有興趣的話,再給你參考參考!
哈~其實是沒什麼差啦
回覆刪除原先我是很懶得去處理
昨天收到你提供的範本之後,我就把版本問題解決了
不然我寫德州撲克的問題點是沒法解決的
抽鬼牌這程式應該值得參考!!
老實說,我現在程式問題卡在 手牌該如何去跟公牌做判斷
例如:手牌拿K J 而公牌為6 9 10(德州撲克玩法說明)
該怎麼去判斷6 9 10 J K 這五隻牌可能配9 10 J Q K (K順牌面) 或是 10 J Q K A (A順) 或是7 8 9 10 J (J順)
進而判斷出二張手牌+三張公牌時 還缺少了一張Q or A or 8 or 7 會出現的機率
嗯…看來我今年有功課可做了…
回覆刪除就是來寫個德州撲克牌遊戲,不知道寫的成寫不成呢…
哈~看來你對德州撲克的玩法也很感興趣嘛
回覆刪除期待您能寫的出來囉!!
如果你寫出來了,那我所要寫的德州撲克牌組機率分析器肯定是沒問題了
你的工作是程式設計師嗎?
回覆刪除還是興趣而已丫?
真是厲害!
我不是程式設計師耶(但這也是我所想要從事的行業) ,我目前只是一名進業部資管系的四技生而己
回覆刪除但我從高中時期就開時學習與接觸程式語言了,從接觸VB到現今已經有十年以上了
但這之間因為畢業 ->工作-> 當兵->工作 的關係也中斷了很久
寫程式主要是興趣吧!
畢竟有興趣才有可能去寫
那你真的不錯,像我現在想要去讀書(唸資管)都沒時間和金錢。
回覆刪除也礙於家中還有二個年幼的小孩要養。
我也是高一(82)年開始接解電腦basic,也開始寫程式,第一個程式是樸克牌九九也不是電腦寫的,還是用工程計算機寫的…
後來,因為都是讀軍校的關係(高中預校,大學政戰學校),又是文組(政治系),一路自修電腦,學校也沒什麼資源可得…
更接著畢業下部隊待了八年,雖然都有接觸電腦,但又限於非相關科系的關係,不得跨科系攻讀晉升(什麼爛規定)
期間幾乎都沒啥多餘的時間可進修,直至97年元月負氣卸下戰袍,進入社會…
也好佳在遇到了一些不錯的文書,及資管科系的弟兄得以交教學相長…
原本是想說在今年報讀在職專班的資訊科系,但現在在家計(工作)和學歷上拉扯,可能等一陣子再作考量吧…
我也是興趣在電腦,但都學都不精,一下碰網頁asp、又php,一下又玩vb等等的…
不過還好,目前工作是教學(現在休息中,三月份才有課程),輔導(桃園療養院)學生考技術士證照,
也算是興趣配合到工作上吧!(也弄了協作平台作為教學用)
有興趣的話再和你研究研究,我的email、msn均是necos.tw@yahoo.com.tw
加油!
其實我覺得你可以考慮再進修,像現在我們班上也是有幾位已經結婚生子的同學在進修中
回覆刪除平時也是有自已的事業(這與我不同的是,我放棄了工作而全心進修)
我曾經是早上工作,晚上讀書...但說真的,這樣子太累反而學不到什麼東西(就像去混個文品的)
所以才放棄工作
呵~我的第一個程式是用HTML寫出小瑪莉遊戲
我英文能力很差,而那時候學校老師提供給我的資源只有原文書
當時為了寫出那個小瑪莉,我可是英文字典+原文書 一字一字翻譯才慢慢寫出來的
之後就接觸到網頁設計與C++ 學了這三樣反而一點也不精通
我已經有加你的即時通了
我的即時通和即時通都是:wipyking@yahoo.com.tw 但MSN現在不知道是什麼原因,登入不到三秒就自動登出了
所以現在MSN無法上線,但是即時通可以和MSN互通的
請問九九遊戲是用java寫的嗎??
回覆刪除不是哦,是用vb寫的…
回覆刪除請問一下可以提共 程式碼做參考嗎??? 信箱是733house@gmail.com
回覆刪除請問一下可以提共VB程式碼做參考嗎??? 信箱是plus_86@hotmail.com
回覆刪除