日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

pygame做的著名游戏_pygame教程(十):汉诺塔游戏

發布時間:2025/3/21 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pygame做的著名游戏_pygame教程(十):汉诺塔游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

這一章我們繼續來學習游戲的設計,帶孩子去科技館,看到有一種叫做“漢諾塔”的小游戲,這個智力游戲應該很多同學聽說過,它首先在三根柱子中的第一根上擺放大小不一的圓盤,然后要求玩家用最少的步數、最短的時間將第一根柱子上的圓盤通過第二根柱子移動到第三根柱子上。我們來看一下游戲的最終動畫:

游戲開發步驟

  • 繪制背景及三根柱子
  • 玩家通過先后點擊兩根柱子來表示移動
  • 計算機給出判斷,是否可移動以及是否結束
  • 部分難點介紹

    保存三根柱子的狀態
    可為三根柱子分別設置三個數組,保存著各自的圓盤rect,而且從大小到排列,為方便起見,可將柱子的底盤也加入該數組,這樣就始終可以用各數組的最后一個來進行比較:

    對玩家點擊進行判斷因為玩家需要先后點擊兩根柱子才能移動,這就需要設計移動策略:
  • 當玩家第一次點擊沒有圓盤的柱子時,程序將不做反應
  • 當玩家點擊兩次有效柱子,并可使圓盤移動時,程序完成減少和添加動作
  • 當玩家點擊兩次有效柱子,但圓盤無法移動時,立刻清除標記狀態代碼如下:
  • 移動圓盤
    程序在玩家模式下只是簡單將圓盤從一根柱子移動到另一根柱子,如果按向上箭頭,即完成“飛盤”演示動畫,移動圓盤的代碼如下:

    漢諾塔的解法

    漢諾塔的解法其實只是一個遞歸循環,現將代碼給出:

    控制臺打印圖如下所示:

    將自動演示納入游戲

    可將上述代碼納入小游戲中,這樣子更便于玩家研究“漢諾塔”的移動規律。自動演示只是將上述漢諾塔解法生成的數據傳遞給移動函數,同時加入動畫即可,代碼如下:

    五階的動畫演示:

    小結由上文可以看出,漢諾塔的解法是典型的遞歸法,但在制作游戲時其實用不到其解法,只需要忠實記錄和按游戲規則規范玩家的動作即可,從兩者對比也可以看出,解法與游戲的設計有聯系,但側重點是不同的,畢竟面向的方向不同,所以盡管同學們可能對解法不一定能熟悉,但是只要掌握了游戲的設計要領,同樣可以制作出好玩的游戲。

    其它教程:

    pygame教程(一):基礎知識pygame教程(二):繪制幾何圖形pygame教程(三):動畫初步pygame教程(四):添加文字和播放聲音pygame教程(五):添加鼠標和鍵盤響應pygame教程(六):迷宮小游戲(1)pygame教程(七):迷宮小游戲(2)pygame教程(八):數字華容道游戲pygame教程(九):猜數字游戲

    總結

    以上是生活随笔為你收集整理的pygame做的著名游戏_pygame教程(十):汉诺塔游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。