日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python遞歸法實現簡易連連看小游戲

系統 2225 0

問題: 簡單版連連看小游戲

一個分割成w*h個正方格子的矩形板上,每個正方格子可以有游戲卡,也可以沒有游戲卡

兩個游戲卡之間有一條路徑相連需滿足以下三個條件:

1.路徑只包含水平和垂直的直線段
2.路徑不能穿過別的游戲卡片
3.允許路徑臨時離開矩形板

輸入要求:

第一行包括兩個整數:w 和 h ; w:矩形板的寬度,h:矩形板的長度
下面h行,每行包括w個字符,表示矩形板上卡片的分布情況:'X'代表這個地方有卡片;'O'代表無卡片
之后一行包括4個整數:X1,Y1,X2,Y2(1<=X1,X2<=w;1<=Y1,Y2<=h),代表兩個卡片的位置
注意:矩形板左上角的坐標是(1,1)

輸出要求:

對于每一組需要測試的游戲卡片輸出:
??? 若可以連接,找到線段最小路徑,輸出:k segments(k為最優路徑的最小線段數)
??? 若不可以連接,則輸出"impossible"

問題分析:

python遞歸法實現簡易連連看小游戲_第1張圖片

程序代碼:

            
# -*- coding: utf-8 -*-
"""
Created on Sat Mar 10 20:40:59 2018
@author: lizihua
問題:簡單版連連看小游戲
一個分割成w*h個正方格子的矩形板上,每個正方格子可以有游戲卡,也可以沒有游戲卡
兩個游戲卡之間有一條路徑相連需滿足以下三個條件:
1.路徑只包含水平和垂直的直線段
2.路徑不能穿過別的游戲卡片
3.允許路徑臨時離開矩形板
輸入要求:
第一行包括兩個整數:w 和 h (1<=w,h<=75);w:矩形板的寬度,h:矩形板的長度
下面h行,每行包括w個字符,表示矩形板上卡片的分布情況:'X'代表這個地方有卡片;'O'代表無卡片
之后一行包括4個整數:X1,Y1,X2,Y2(1<=X1,X2<=w;1<=Y1,Y2<=h),代表兩個卡片的位置
注意:矩形板左上角的坐標是(1,1)
輸出要求:
對于每一組需要測試的游戲卡片輸出:
 若可以連接,找到線段最小路徑,輸出:k segments(k為最優路徑的最小線段數)
 若不可以連接,則輸出"impossible"
"""
import numpy as np
to=[[0,1],[1,0],[0,-1],[-1,0]] #定義方向
 
#定義遞歸函數---因為每一步搜索路徑的方式一樣
def search(now_x,now_y,end_x,end_y,step,f):
 #minstep在這里必須定義全局變量,否則,報錯
 global minstep
 if step>minstep:
  return
 if now_x==end_x and now_y==end_y:
  if step
            
            
          

程序結果顯示:

python遞歸法實現簡易連連看小游戲_第2張圖片

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 东乌| 石棉县| 敦化市| 上虞市| 昌江| 葫芦岛市| 桦甸市| 平罗县| 巴马| 西乌珠穆沁旗| 客服| 名山县| 无极县| 佛坪县| 年辖:市辖区| 柯坪县| 广德县| 泽州县| 巫山县| 汤原县| 黑水县| 慈溪市| 防城港市| 宁夏| 广州市| 云林县| 莒南县| 双桥区| 南康市| 启东市| 九江县| 清镇市| 蓝田县| 高碑店市| 公主岭市| 黔东| 屏山县| 剑河县| 邳州市| 和田县| 武鸣县|