中文偽春菜後援會論壇  

打印

[分享] 六個橘花小遊戲+撲克牌系統 (8/28更新)

取消高亮

六個橘花小遊戲+撲克牌系統 (8/28更新)

四個小遊戲分別是猜數字猜拳圈圈叉叉終極密碼(猜1~100的數字)
其中圈圈叉叉是我的嘔心瀝血啊!當時只會if和變數,前前後後寫了五百多行敘述XD
另外橘花先攻的話有必勝公式,玩家頂多能平手
但之前有個BUG會有一定機率讓橘花判斷錯誤,造成玩家勝利
現在改掉了但不確定有沒有問題,若橘花先攻玩家卻勝利的話麻煩回報一下當時的棋譜XD

2009.8.28 更新
呼~相隔21天終於又生出三樣東西了
起初只是同學一句:「要不要做21點?」
結果最後做出來的不是21點,而是被切一半的十點半OTL

最先完成的是撲克牌牌組,也是另外兩個小遊戲的基礎
他可以管理54張撲克牌,讓每張牌都只會出現一次
還可以把出現的牌拿去跟其他牌比較數字或花色大小
也能決定只抽52張牌(不含鬼牌),甚至只抽同一種花色的牌
再來是比大小遊戲,只是橘花和玩家各抽一張撲克牌,然後比較大小
最後是最花我時間的十點半遊戲
光是程式流程圖就畫了六張才敲定
花了整整一天才完成他,而且還沒加上之前構思的時間OTL
因為花了好多時間與精力,所以喜歡的人麻煩支持一下喔ˋ( ゚∀゚)ノ
好險臨時改成10點半,沒做21點
或許哪天會把21點也做出來吧,不過必須等想到更好管理的程式架構才行XD

跟以前一樣沒用過的人請直接下載新版aya_game.dic,然後在主選單加上一個連到Select.game的選項
用過的人拿新版覆蓋檔案即可
另外aya_poker.dic也必須下載,不然橘花會不能開
還有就是終極密碼照Zstr的建議新增了範圍指示XD
___________________________________________
恩..本來為了避免錯誤想讓撲克牌系統第一次使用時先自動洗牌,結果反而多了一些奇妙的錯誤
所以第一次玩撲克牌遊戲人麻煩請先點選重新洗牌喔
也麻煩之前有下載的人在下載一次了(game與poker都有改過)

[ 本帖最後由 kyle 於 2009-8-28 23:32 編輯 ]

附件

kikka1.jpg (22.34 KB)

2009-7-31 22:37

參考圖

kikka1.jpg

aya_game.dic (18.66 KB)

2009-7-31 22:37, 下載次數: 2480

舊版

kikka7.jpg (31.86 KB)

2009-8-28 01:40

參考圖

kikka7.jpg

aya_game.dic (27.19 KB)

2009-8-28 16:24, 下載次數: 3475

新版

aya_poker.dic (1.52 KB)

2009-8-28 04:36, 下載次數: 3137

撲克牌系統

TOP

这些是放在哪个文件夹?教教我!

TOP

隨便都可以
只要你了解的話

[公告] 請不要來這裡求檔案,看到類似討論串內文不問一律刪除
-----------------------------------
啊哈哈   佐祐理不清楚
-----------------------------------
初心者有問題的話請先入內觀看
初心者常見問題區
-----------------------------------
注音文   求檔文   禁止

-----------------------------------
手書Blog~

TOP

敢問大大的遊戲是適用於橘花1還是橘花2?
一步殺十人,十尺我GG

TOP

回3L,我就是不懂,放在很多地方都没有用。

TOP

嗯嗯
到底是要放哪啊我放在GOST裡沒反應喔

TOP

郁闷 怎么补做个橘花1的- -

TOP

玩家先攻
上至下:ABC
左至右:123
玩家先手C2.
之後有很大的機率勝.

橘花先攻第一步用亂數會更有意思.

[ 本帖最後由 Pygmalion 於 2009-8-2 11:47 編輯 ]
皮格马利翁效应(Pygmalion Effect):只要有爱,伪春菜也能和人类一样.

TOP

回復 8# Pygmalion 的帖子

有時玩家先攻會勝利可能是因為不知不覺用出必勝公式吧(造成至少同時有兩個位置可以勝利)
當玩家先攻時橘花沒辦法判斷對手有沒有使用必勝公式XD

不過玩家先攻時真的有個BUG存在呢
在某些特定時候明明玩家只有一個位置可以贏,但橘花就是不會先搶下那個位置
關於這點跟橘花先攻亂數我已經沒力氣去更改了XD"

TOP

因為更新過內容了,所以稍微自推一下應該沒關係吧?
有錯請鞭策OTL

另外看了別人的便條紙功能後自己也寫了一個橘花二的便條
裡面有新增/更改/刪除/全部刪除等功能
如果之前沒有橘花二的便條我也順便發布吧XD

題外話。看到下載數字破百還挺令人感動的呢
不過果然都喜歡遊戲啊(つ∀C)

[ 本帖最後由 kyle 於 2009-8-7 04:30 編輯 ]

附件

kikka3jpg.jpg (34.01 KB)

2009-8-7 04:20

kikka3jpg.jpg

TOP

哇,,,那個算學分的功能好強 - -

關於那個猜數字...貌似只能猜整數嘛

我輸非整數她就不鳥我了

TOP

引用:
原帖由 Name.RED 於 2009-8-11 09:03 發表
哇,,,那個算學分的功能好強 - -
關於那個猜數字...貌似只能猜整數嘛
我輸非整數她就不鳥我了
猜數字本來就是猜整數啊
還是你覺得橘花要用 81.1828282882 讓你去猜呢XDD
斗和:用小數點給你猜,猜得到就有鬼了(煙

TOP

引用:
原帖由 Name.RED 於 2009-8-11 09:03 發表
哇,,,那個算學分的功能好強 - -
關於那個猜數字...貌似只能猜整數嘛
我輸非整數她就不鳥我了
就像NINJAさん所說的,猜小數點沒有意義啊XD
不過輸入小數也不會不鳥你,應該只會說你猜錯才對
如果是終極密碼也只會告訴你太大或太小

算學分的小工具應該是下載新版的吧?
舊版的下載次數破百候我就捨不得刪除了(喂

TOP

這四個遊戲還蠻好玩的說~~
但是那個工具我好像用不太到 = =

TOP

回復 1# kyle 的帖子

裡面的終極密碼在猜數字時
每次猜都沒告知現在最大和最小值
所以我做了些修改

//---- 終極密碼 ---
//player_4,遊戲次數,猜測次數,,

Select.game_4
{
        if player_4 == ""
                player_4 = (0,0)
        game_4[0] = -1
        "\![open,inputbox,OnSetgame_4,-1]"
        --
        player_4[0]+= 1
        "\0\s[0]請猜我心中想的數字,\n\w5範圍是0~100喔。"
}

OnSetgame_4
{
        if game_4[0] == "-1"
        {
                game_4[0] = RAND(101)
                game_4[1] = 0
                game_4_n0 = 1
                game_4_n1 = 100
        }
        --
        if reference0 < game_4[0]
        {
        game_4_n0 = reference0
        }
        else
        {
        game_4_n0 = game_4_n0
        }

        if reference0 > game_4[0]
        {
        game_4_n1 = reference0
        }
        else
        {
        game_4_n1 = game_4_n1
        }
        --
        if reference0 > game_4[0]
        {
                player_4[1]+= 1
                game_4[1] += 1
                _talk = game_4_talk
"\![open,inputbox,OnSetgame_4,-1]太大了喔%(game_4_n0)~%(game_4_n1)。%(_talk)"
        }
        elseif reference0 < game_4[0]
        {
                player_4[1]+= 1
                game_4[1] += 1
                _talk = game_4_talk
"\![open,inputbox,OnSetgame_4,-1]太小了喔%(game_4_n0)~%(game_4_n1)。%(_talk)"
        }
        --
        if reference0 == game_4[0]
        {
                player_4[1]+= 1
                game_4[1] += 1
                "\s[5]恭喜,答對了。\1猜第%(game_4[1])次。\x"
                --
                game_4win
        }
}

game_4_talk
{
        "\1猜第%(game_4[1])次了。"
        "\1已經猜%(game_4[1])次了。"
}

game_4win
{
        "\s[0]接下來想要…?"
        --
        "\n\n[half]\w8/
        \q[◇再玩一次,game_4] \n/
        \q[◇結束,endgame_4]"
}

Select.endgame_4
{
        ERASEVAR("game_4")
        Select.game
}

TOP

引用:
原帖由 black20132 於 2009-8-18 17:15 發表
這四個遊戲還蠻好玩的說~~
但是那個工具我好像用不太到 = =
感謝,看到有人說喜歡真令我高興XD
工具部分以後還有可能繼續增加,希望會有你需要的
引用:
原帖由 Zstr 於 2009-8-19 20:29 發表
裡面的終極密碼在猜數字時
每次猜都沒告知現在最大和最小值
所以我做了些修改...
原來如此,因為我覺得數字的範圍也要自己記得,不要過度依賴機器比較好,所以都沒想到這點
但其實看著橘花給的範圍去猜也不錯呢
如果你不建議的話,下次更新時我想把你的提議也增加到aya_game.dic裡面XD
(假如真的能完成目前想做的兩個新遊戲的話,才有可能更新就是了orz)

另外你的函式↓
        if reference0 < game_4[0]
        {
        game_4_n0 = reference0
        }
        else
        {
        game_4_n0 = game_4_n0
        }

        if reference0 > game_4[0]
        {
        game_4_n1 = reference0
        }
        else
        {
        game_4_n1 = game_4_n1
        }

其實能成下面這樣會更簡潔喔↓
        if reference0 < game_4[0] && reference0 > game_4[2]
                game_4[2] = reference0
        elseif reference0 > game_4[0] && reference0 < game_4[3]
                game_4[3] = reference0

好幾行的東西其實只要四行就能搞定,而且game_4_n0改成game_4[2] (所有寫著game_4_n0的地方都要改,game_4_n1同理)
因為前者的寫法會讓存檔文件多一行,每次都多一行就會很難管理cfg檔
另外第一個if後面的&&會順便判斷reference0是不是比最小範圍還更小,如果是就不變動目前的最小範圍 (第二個if同理)
不過這也只是我推薦的寫法啦,我喜歡函式越簡潔越好,這樣在以後想要修改又忘記內容時才能很快的看完所有函式

我也發現自己寫得不好的地方呢↓
                _talk = game_4_talk
"\![open,inputbox,OnSetgame_4,-1]太大了喔%(game_4_n0)~%(game_4_n1)。%(_talk)"

我寫的第一行其實是累贅,改成下面這樣就好↓
                "\![open,inputbox,OnSetgame_4,-1]太大了喔。"+game_4_talk
剛才看到自己寫的_talk還在想那是什麼東西orz

TOP

回復 16# kyle 的帖子

非常感謝指導
我只學了一些c++語言

        ERASEVAR("game_4")
想問一下 ERASEVAR 有啥用意
看不太懂 謝謝

TOP

引用:
原帖由 Zstr 於 2009-8-20 20:36 發表
學過C++就好講了XD
AYA跟C語言一樣有區域跟全域變數(但沒靜態的)
區域變數的範圍與壽命只存在於"建立變數的大括弧內",不一定函式內,也可能是函式裡的某個大括弧(if之類的)
設定區域變數的方法就是在命名的時候多加一個底線,例如我上面那個多餘的_talk就是
全域變數的範圍是所有函式,但壽命是永遠,因為在關閉橘花時會自動把所有全域變數存入檔案內,開啟時又自動讀取(master資料夾內的cfg檔)
設定全域變數的方式是不在名稱前面加底線即可

因此ERASEVAR是刪除全域變數用的內建函式(←講了一堆發現你想聽的好像只是這句 囧)
因為game_4這個變數必須是全域的,但不玩遊戲時這個變數的存在只是浪費,所以才會在離開遊戲時把他刪除
如果把這些要刪除的資料全部用game_4陣列來儲存,刪除時就只要刪除陣列名稱就好了
遇到不知道的函式時可以去查偽春菜WIKI喔:AYA系統函式參照表

TOP

回復 18# kyle 的帖子

非常感謝>.<
看來要研究的地方...變多了= =

TOP

回復 1# kyle 的帖子

四個遊戲都很好玩
謝謝分享

TOP



當前時區 GMT+8, 現在時間是 2019-10-21 11:18

Processed in 0.030714 second(s), 9 queries, Gzip enabled.

清除 Cookies - 聯繫我們 - 中文偽春菜後援會 - Archiver - WAP - TOP - 界面風格