python--无界面4*4拼图 游戏

第一次学习python,就此写了一个之前曾沉迷的4*4的拼图游戏,然而没有界面,全部通过输入命令完成。

规则:1、只能移动空白格周围的数字,并且移到空白格处 2、把数字按1-15拼接起来

以下是启动文件start.py

#coding = utf-8
#! python3
import puzzle


def game_intro():
	print (
	"This is a 4*4 puzzle game.\n"
	+ "You can move the pieces around the blank piece.\n"
	+ "Please input the site with the style - col raw(e.g. 1 2) if you want to move it \n"
	)

def game_help():
	print(
	"e - exit the game\n"
	+ "h - show this help\n"
	+ "r - restart the game\n"
	+ "s - show the puzzle\n"
	)

def main():	
	puzzle_game = puzzle.Puzzle()
	game_intro()
	game_help()
	print(str(puzzle_game))
	site = raw_input("please input the site: ")
	while "e" <> site:
		if "h" == site:
			game_help()
		elif "r" == site:
			puzzle_game.refresh()
			print(str(puzzle_game))
		elif "s" == site:
			print(str(puzzle_game))
		elif len(site) != 3 or not site[0].isdigit() or not site[2].isdigit() or site[1] <> " ":
			print("please with the correct style")
		elif not puzzle_game.move_block( int(site[0]), int(site[2]) ):
			print("please with the correct site")
		else:
			print(str(puzzle_game))
			if puzzle_game.if_finished():
				print("congratulation!!")
				break	
		site = raw_input("please input the site: ")

if __name__ == "__main__":
    main()


puzzle.py

#coding = utf-8
import random

print ("has ")

def hello_world(str):
	print ("hello world " + str)
	return 

class Puzzle:
	__puzzleList = []
	
	__len = 4
	
	def __init__(self):
		self.refresh();
		return	
		
	'''	
	def __del__(self):
		del self.__puzzleList
		del self.__len
		return
	'''	
	
	def refresh(self):
		self.__clear()
		for index in range(self.__len * self.__len - 1):
			self.__puzzleList.append(index+1)
		random.shuffle(self.__puzzleList)
		self.__puzzleList.append(0);
		return
	
	def __clear(self):
		while len(self.__puzzleList) != 0:
			self.__puzzleList.pop()
	
	def __str__(self):
		string = ""
		for index in range(len(self.__puzzleList)):
			if 0 != index and 0 == index % self.__len:
				string += "\n"
			if 0 == self.__puzzleList[index]:
				string += " ".center(4)
				#rjust or ljust
			else:
				string += str(self.__puzzleList[index]).center(4)
		return string
	
	def move_block(self,siteX,siteY):
		site = (siteX-1) * self.__len + siteY - 1
		is_move = True
		if siteY < 1 or siteY > self.__len or siteX > self.__len or siteX < 1:
			is_move = False
		elif siteY != self.__len and 0 == self.__puzzleList[site + 1]:
			self.__puzzleList[site + 1] = self.__puzzleList[site]
			self.__puzzleList[site] = 0
		elif siteY != 1 and 0 == self.__puzzleList[site - 1]:
			self.__puzzleList[site - 1] = self.__puzzleList[site]
			self.__puzzleList[site] = 0
		elif siteX != 1 and 0 == self.__puzzleList[site - self.__len]:
			self.__puzzleList[site - self.__len] = self.__puzzleList[site]
			self.__puzzleList[site] = 0
		elif siteX != self.__len and 0 == self.__puzzleList[site + self.__len]:
			self.__puzzleList[site + self.__len] = self.__puzzleList[site]
			self.__puzzleList[site] = 0
		else:
			is_move = False
		return is_move
		
	def if_finished(self):
		for index in range(len(self.__puzzleList)):
			if index + 1 != self.__puzzleList[index]:
				return False
		return True
	


有事没事可以玩一玩~

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python是一个先进的编程语言,拥有强大的功能和广泛的应用范围。在这其中,Python拼图游戏算是一个比较常见的应用。拼图游戏是一种经典的娱乐方式,它的难度和挑战性非常高。使用Python可以轻松地实现一个拼图游戏,让用户可以享受到高质量、高度定制化的拼图体验。 使用Python来实现拼图游戏,首先需要明确游戏规则和玩家界面。玩家可以通过拖动和旋转拼图块来完成游戏Python可以通过图形化界面库,如Tkinter、PyQt等来创建游戏界面。同时,Python还具有大量的算法和数学库,如numpy、scipy等,可以用于实现拼图的逻辑运算和难度控制,提升游戏的可玩性和挑战性。 此外,Python还可以在游戏中加入一些其他的功能,比如计时器、步数限制、难度等级、多样化的拼图形式等等,来增加游戏的趣味性和挑战性,让玩家不断尝试和挑战自己的极限。总之,Python拼图游戏是一种非常有趣和有挑战性的游戏,它的实现方法简单易懂,而且代码量不大,可以很快地让玩家体验到高质量的拼图游戏乐趣。 ### 回答2: Python拼图游戏可以是一个很有趣的项目,这个游戏目的是将一幅图像分成多个碎片,然后通过重新排列碎片还原原图像。这需要用到一些基础的编程知识,比如图像处理和GUI编程。 要开始这个项目,首先需要导入Python图形库,如pygame或Tkinter,并创建一个GUI窗口。接着,可以使用Python图像库(如Pillow)将原始图像加载到程序中,然后将它分割成若干个碎片。 一些Python库,如numpy和random,可以被用来随机排列图片碎片,使得用户可以通过点击和拖动无序的碎片来还原图像。如果用户完成了任务,可以使拼图解锁某些奖励(如一个隐藏关卡或一幅新的图像)以鼓励玩家。 为了增加游戏的趣味性和挑战性,可以考虑增加游戏难度,比如增加碎片数量或减少碎片大小,使得玩家需要投入更多的精力和耐心来完成任务。 总之,Python拼图游戏是一个有趣的项目,需要用到一些编程基础知识,但可以通过不断的尝试和练习来提高编程能力。 ### 回答3: Python拼图游戏是一款使用Python语言编写的益智游戏,玩家需要通过调换不同图片的位置,来恢复一张完整的图片。这款游戏操作简单,但需要一定的思维能力和耐心。 在游戏中,玩家可以自由选择不同难度等级的拼图,从简单的3×3的拼图开始,到最复杂的9×9的拼图。每个难度等级的图片都是从某一主题中选择的。 为了保证游戏的趣味性,程序会随机打乱图片的顺序。玩家可通过鼠标点击来调整不同图片的位置,当所有图片的位置都调整正确,即形成一张完整的图片时,游戏就会提示玩家拼图成功。 Python拼图游戏的开发不仅提高了玩家的动手能力和思维能力,也锻炼了程序员的编程技能和团队协作能力。同时,由于Python语言简单易懂,该游戏的代码逻辑也十分清晰,对于学习Python编程的初学者来说,也是一款很好的练手项目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值