最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

股票量化交易軟件下載_創(chuàng)建“貪吃蛇”游戲

2023-07-31 17:05 作者:bili_58743380139  | 我要投稿

在本文中,我們將考慮一個(gè)用 赫茲量化軟件 編寫(xiě)“貪吃蛇”游戲的例子。

從赫茲量化起,游戲編程變?yōu)榭赡?,主要是因?yàn)?span id="s0sssss00s" class="nolink">事件處理功能,包括自定義事件。面向?qū)ο缶幊毯?jiǎn)化此類(lèi)程序的設(shè)計(jì),使代碼更加清晰,并且減少錯(cuò)誤的數(shù)量。

在閱讀本文之后,您將了解 OnChart 事件處理、赫茲量化標(biāo)準(zhǔn)庫(kù)類(lèi)的使用例子和在一定時(shí)間之后循環(huán)調(diào)用函數(shù)來(lái)進(jìn)行任何計(jì)算的方法。

游戲說(shuō)明

選擇“貪吃蛇”游戲作為例子主要是因?yàn)槠鋵?shí)施非常簡(jiǎn)單。每一個(gè)對(duì)編程有極大興趣的人都能編寫(xiě)此游戲。

依據(jù)維基百科的解釋?zhuān)?/p>

“貪吃蛇”是一款產(chǎn)生于二十世紀(jì)七十年代中后期的視頻游戲,從出現(xiàn)之后就一直廣受歡迎,成為經(jīng)典。 玩家控制一個(gè)類(lèi)似于蛇的細(xì)長(zhǎng)生物,該生物在一個(gè)有邊界的平面中四處移動(dòng),一路拾起食物(或類(lèi)似物品),嘗試避免碰到自己的尾巴或圍繞游戲區(qū)域的“墻”。在某些變異中還有額外的障礙物。貪吃蛇每吃一件食物,其尾巴就變長(zhǎng)一些,讓游戲的難度漸漸變大。用戶(hù)控制蛇頭的方向(上、下、左、右),蛇身跟隨蛇頭移動(dòng)。游戲正在進(jìn)行時(shí),玩家不能停止貪吃蛇的移動(dòng),并且不能讓貪吃蛇反向。

用 MQL5 實(shí)施“貪吃蛇”有某些限制和特點(diǎn)。

有 6 關(guān)(從 0 至 5)。每一關(guān) 5 條命。在用完所有命之后或者通關(guān)之后,游戲返回到第一關(guān)。您可以創(chuàng)建您自己的關(guān)。對(duì)于第一關(guān),蛇的速度及其最大長(zhǎng)度是相同的。

游戲區(qū)由 4 個(gè)元素構(gòu)成:

  1. 游戲標(biāo)題。它用于游戲在圖表上的定位。移動(dòng)標(biāo)題,所有游戲元素也隨之移動(dòng)。

  2. 移動(dòng)區(qū)。它是一個(gè) 20x20 的單元格數(shù)組(表)。每個(gè)單元格的大小為 20x20 像素。移動(dòng)區(qū)中的元素包括:

  • 貪吃蛇。它由至少三個(gè)連續(xù)的元素(頭、身、尾)構(gòu)成。頭可以左、右、上、下移動(dòng)。蛇的所有其他元素隨頭移動(dòng)。

  • 障礙。用灰色矩形表示;如果蛇頭碰到障礙物,則當(dāng)前關(guān)將重新啟動(dòng),并且減一條命。

  • 食物。用漿果表示食物;如果蛇頭碰到食物,則蛇的大?。ㄆ渖眢w的長(zhǎng)度)增大。在吃完 12 件食物之后,貪吃蛇前進(jìn)到下一關(guān)。

  • 信息面板(游戲的狀態(tài)欄)它包含三個(gè)元素:

  • 關(guān)。顯示當(dāng)前關(guān)。

  • 剩下的食物數(shù)量。顯示還剩下多少漿果要吃。

  • 命。顯示剩下的命數(shù)。

  • 面板。它包含三個(gè)按鈕:

  • "Start"(開(kāi)始)按鈕。開(kāi)始當(dāng)前關(guān)。

  • "Pause"(暫停)按鈕。暫停游戲。

  • "Stop"(停止)按鈕。停止游戲,同時(shí)在初始關(guān)卡出現(xiàn)過(guò)渡。

圖 1 顯示了所有這些元素:

圖 1. “貪吃蛇”游戲的元素

游戲標(biāo)題是一個(gè)“按鈕”類(lèi)型的對(duì)象。所有移動(dòng)區(qū)元素是 "BmpLabel"(位圖標(biāo)簽) 類(lèi)型的對(duì)象。信息面板由三個(gè)“編輯”類(lèi)型的對(duì)象構(gòu)成,控制面板由三個(gè)“按鈕”類(lèi)型的對(duì)象構(gòu)成。所有對(duì)象都依據(jù)相對(duì)于圖表左上角的沿 X 軸和 Y 軸的像素距離來(lái)定位。

應(yīng)注意,移動(dòng)區(qū)邊緣并不是貪吃蛇移動(dòng)的障礙物。例如,貪吃蛇穿過(guò)左邊,從右邊出現(xiàn)。如圖 2 所示:

圖 2. 貪吃蛇穿過(guò)移動(dòng)區(qū)邊緣

蛇頭和蛇尾與蛇身不同,能夠旋轉(zhuǎn)。頭的方向由移動(dòng)方向或其相鄰元素的位置決定。尾的方向僅由相鄰元素的位置決定。

舉例而言,如果相鄰的蛇尾元素在左側(cè),則蛇尾左轉(zhuǎn)。蛇頭稍有不同。如果相鄰元素在右側(cè),則蛇頭左轉(zhuǎn)。下面的示意圖舉例說(shuō)明了蛇頭和蛇尾的方向。注意,蛇頭和蛇尾的轉(zhuǎn)向與它們的相鄰元素有關(guān)。

蛇頭和蛇尾向左

蛇頭和蛇尾向右

蛇頭和蛇尾向下

蛇頭和蛇尾向上

蛇的移動(dòng)分為三個(gè)階段:

  1. 視方向而定,一個(gè)單元格的蛇頭向右、向左、向上或向下移動(dòng)。

  2. 蛇身的最后一個(gè)元素移動(dòng)到上一個(gè)蛇頭位置。

  3. 蛇尾移動(dòng)到最后一個(gè)蛇身元素的上一個(gè)位置。蛇尾移動(dòng)到最后一個(gè)蛇身元素的上一個(gè)位置。

如果貪吃蛇吃食物,則蛇尾不移動(dòng)。然而,在最后一個(gè)蛇身元素的過(guò)去位置創(chuàng)建一個(gè)新的蛇身元素。

以下示意圖說(shuō)明了一個(gè)向左移動(dòng)的貪吃蛇例子:


股票量化交易軟件下載_創(chuàng)建“貪吃蛇”游戲的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
镇巴县| 咸阳市| 黔江区| 遂昌县| 友谊县| 长海县| 阳曲县| 天长市| 黑山县| 宁都县| 南丰县| 乌恰县| 江孜县| 炎陵县| 八宿县| 兴业县| 桐城市| 宽城| 咸阳市| 开化县| 科技| 邯郸县| 广灵县| 平遥县| 盘山县| 阿拉善右旗| 阜南县| 娱乐| 福海县| 吉首市| 同江市| 白河县| 上虞市| 湄潭县| 清水河县| 大同县| 江源县| 兰州市| 万荣县| 湘潭市| 通城县|