pygame做的著名游戏_pygame教程(十):汉诺塔游戏
生活随笔
收集整理的這篇文章主要介紹了
pygame做的著名游戏_pygame教程(十):汉诺塔游戏
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
這一章我們繼續(xù)來學(xué)習(xí)游戲的設(shè)計(jì),帶孩子去科技館,看到有一種叫做“漢諾塔”的小游戲,這個智力游戲應(yīng)該很多同學(xué)聽說過,它首先在三根柱子中的第一根上擺放大小不一的圓盤,然后要求玩家用最少的步數(shù)、最短的時間將第一根柱子上的圓盤通過第二根柱子移動到第三根柱子上。我們來看一下游戲的最終動畫:游戲開發(fā)步驟
部分難點(diǎn)介紹
保存三根柱子的狀態(tài)
可為三根柱子分別設(shè)置三個數(shù)組,保存著各自的圓盤rect,而且從大小到排列,為方便起見,可將柱子的底盤也加入該數(shù)組,這樣就始終可以用各數(shù)組的最后一個來進(jìn)行比較:對玩家點(diǎn)擊進(jìn)行判斷因?yàn)橥婕倚枰群簏c(diǎn)擊兩根柱子才能移動,這就需要設(shè)計(jì)移動策略:移動圓盤
程序在玩家模式下只是簡單將圓盤從一根柱子移動到另一根柱子,如果按向上箭頭,即完成“飛盤”演示動畫,移動圓盤的代碼如下:漢諾塔的解法
漢諾塔的解法其實(shí)只是一個遞歸循環(huán),現(xiàn)將代碼給出:控制臺打印圖如下所示:將自動演示納入游戲
可將上述代碼納入小游戲中,這樣子更便于玩家研究“漢諾塔”的移動規(guī)律。自動演示只是將上述漢諾塔解法生成的數(shù)據(jù)傳遞給移動函數(shù),同時加入動畫即可,代碼如下:五階的動畫演示:
小結(jié)由上文可以看出,漢諾塔的解法是典型的遞歸法,但在制作游戲時其實(shí)用不到其解法,只需要忠實(shí)記錄和按游戲規(guī)則規(guī)范玩家的動作即可,從兩者對比也可以看出,解法與游戲的設(shè)計(jì)有聯(lián)系,但側(cè)重點(diǎn)是不同的,畢竟面向的方向不同,所以盡管同學(xué)們可能對解法不一定能熟悉,但是只要掌握了游戲的設(shè)計(jì)要領(lǐng),同樣可以制作出好玩的游戲。其它教程:
pygame教程(一):基礎(chǔ)知識pygame教程(二):繪制幾何圖形pygame教程(三):動畫初步pygame教程(四):添加文字和播放聲音pygame教程(五):添加鼠標(biāo)和鍵盤響應(yīng)pygame教程(六):迷宮小游戲(1)pygame教程(七):迷宮小游戲(2)pygame教程(八):數(shù)字華容道游戲pygame教程(九):猜數(shù)字游戲總結(jié)
以上是生活随笔為你收集整理的pygame做的著名游戏_pygame教程(十):汉诺塔游戏的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python中编完类后到实例编写_[零基
- 下一篇: python考试pass or fail