日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2025/3/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pygame做的著名游戏_pygame教程(十):汉诺塔游戏 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

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

游戲開發(fā)步驟

  • 繪制背景及三根柱子
  • 玩家通過先后點(diǎn)擊兩根柱子來表示移動(dòng)
  • 計(jì)算機(jī)給出判斷,是否可移動(dòng)以及是否結(jié)束
  • 部分難點(diǎn)介紹

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

    對(duì)玩家點(diǎn)擊進(jìn)行判斷因?yàn)橥婕倚枰群簏c(diǎn)擊兩根柱子才能移動(dòng),這就需要設(shè)計(jì)移動(dòng)策略:
  • 當(dāng)玩家第一次點(diǎn)擊沒有圓盤的柱子時(shí),程序?qū)⒉蛔龇磻?yīng)
  • 當(dāng)玩家點(diǎn)擊兩次有效柱子,并可使圓盤移動(dòng)時(shí),程序完成減少和添加動(dòng)作
  • 當(dāng)玩家點(diǎn)擊兩次有效柱子,但圓盤無法移動(dòng)時(shí),立刻清除標(biāo)記狀態(tài)代碼如下:
  • 移動(dòng)圓盤
    程序在玩家模式下只是簡單將圓盤從一根柱子移動(dòng)到另一根柱子,如果按向上箭頭,即完成“飛盤”演示動(dòng)畫,移動(dòng)圓盤的代碼如下:

    漢諾塔的解法

    漢諾塔的解法其實(shí)只是一個(gè)遞歸循環(huán),現(xiàn)將代碼給出:

    控制臺(tái)打印圖如下所示:

    將自動(dòng)演示納入游戲

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

    五階的動(dòng)畫演示:

    小結(jié)由上文可以看出,漢諾塔的解法是典型的遞歸法,但在制作游戲時(shí)其實(shí)用不到其解法,只需要忠實(shí)記錄和按游戲規(guī)則規(guī)范玩家的動(dòng)作即可,從兩者對(duì)比也可以看出,解法與游戲的設(shè)計(jì)有聯(lián)系,但側(cè)重點(diǎn)是不同的,畢竟面向的方向不同,所以盡管同學(xué)們可能對(duì)解法不一定能熟悉,但是只要掌握了游戲的設(shè)計(jì)要領(lǐng),同樣可以制作出好玩的游戲。

    其它教程:

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

    總結(jié)

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

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。