总站首页 | 我要入驻 | 招生合作 | 您好,欢迎访问育优汇,希望本篇文章能够给您带来帮助!
育优汇网 > 动态汇总 > 中公教育优就业it培训中心> 乌鲁木齐java培训机构哪家好

乌鲁木齐java培训机构哪家好

机构:中公教育优就业it培训中心 时间:2021-02-04 11:59:31 点击:168



用Python开发拼图游戏教程

这品文章讲述的是如何用Python开发拼图游戏。这篇文章教程相对来说还是比较适合新入门的同学的。那接下来我们一起来看一下!

一、效果的演示

小编用了91步才完成这拼图...你会用多少步呢?

二、 游戏的玩法

思路:先设置一个棋盘,棋盘里面有我们的图像,在图像里面我们有一个个的小方块,通过这些错乱的小方块拼接图板。拼接的过程就是鼠标点击事件的一个过程

三、具体的实现步骤

1.设置图像

2.定义一个图像块的类

3.定义一个方法开始拼接图板

4.重置游戏

5.绘制游戏界面各元素

6.定义鼠标的点击事件

7.创建框架

8.注册鼠标事件

9.初始化游戏

10.启动框架

环境:Python 3.6 + Windows

IDE: sublime txt3

使用到的模块:Simpleguitk

安装模块:pip install simpleguitk

Python代码

#!/usr/bin/env python# -*- coding: utf-8 -*-import simpleguitk as simpleguiimport randombyamax = simplegui.load_image('https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1523374883465&di=d0545c2c8adb05310f4f56a35e2c6976&imgtype=0&src=http%3A%2F%2Fimg01.taopic.com%2F160625%2F235106-1606250Q05845.jpg')WIDTH = 600HEIGHT = WIDTH+100IMAGE_SIZE = WIDTH/3all_coordinates = [[IMAGE_SIZE*0.5, IMAGE_SIZE*0.5], [IMAGE_SIZE*1.5, IMAGE_SIZE*0.5],                        [IMAGE_SIZE*2.5, IMAGE_SIZE*0.5], [IMAGE_SIZE*0.5, IMAGE_SIZE*1.5],                        [IMAGE_SIZE*1.5, IMAGE_SIZE*1.5], [IMAGE_SIZE*2.5, IMAGE_SIZE*1.5],                        [IMAGE_SIZE*0.5, IMAGE_SIZE*2.5], [IMAGE_SIZE*1.5, IMAGE_SIZE*2.5], None]ROWS = 3COLS = 3steps = 0board = [[None,None,None],[None,None,None],[None,None,None]]class Square:    def __init__(self,coordinage):        self.center = coordinage    def draw(self,canvas,board_pos):        canvas.draw_image(byamax,self.center,[IMAGE_SIZE,IMAGE_SIZE],                          [(board_pos[1]+0.5)*IMAGE_SIZE,(board_pos[0]+0.5)*IMAGE_SIZE],[IMAGE_SIZE,IMAGE_SIZE])def init_board():    random.shuffle(all_coordinates)    for i in range(ROWS):        for j in range(COLS):            idx = i * ROWS + j            square_center = all_coordinates[idx]            if square_center is None:                board[i][j] = None            else:                board[i][j] = Square(square_center)def play_game():    global steps    steps = 0    init_board()def draw(canvas):    canvas.draw_image(byamax,[WIDTH/2,WIDTH/2],[WIDTH,WIDTH],[50,WIDTH+50],[98,98])    canvas.draw_text('步数:'+str(steps),[400,680],22,'White')    for i in range(ROWS):        for j in range(COLS):            if board[i][j] is not None:                board[i][j].draw(canvas,[i,j])def mouseclick(pos):    global steps    r = int(pos[1]//IMAGE_SIZE)    c = int(pos[0]//IMAGE_SIZE)    if r<3 and c<3:        if board[r][c] is None:            return        else:            current_square = board[r][c]            if r - 1 >= 0 and board[r - 1][c] is None:  # 判断上面                board[r][c] = None                board[r - 1][c] = current_square                steps += 1            elif c + 1 <= 2 and board[r][c + 1] is None:  # 判断右面                board[r][c] = None                board[r][c + 1] = current_square                steps += 1            elif r + 1 <= 2 and board[r + 1][c] is None:  # 判断下面                board[r][c] = None                board[r + 1][c] = current_square                steps += 1            elif c - 1 >= 0 and board[r][c - 1] is None:  # 判断左面                board[r][c] = None                board[r][c - 1] = current_square                steps += 1frame = simplegui.create_frame('拼图',WIDTH,HEIGHT)frame.set_canvas_background('Black')frame.set_draw_handler(draw)frame.add_button('重新开始',play_game,60)frame.set_mouseclick_handler(mouseclick)play_game()frame.start()
 

以上的分享就是这些!本文通过开发思路、实现步骤还有开发的实例的代码讲了用python开发拼图的教程。希望能对大家有所帮助!


优就业8大福利加持
  • 01
    ★ 推荐就业★
    推荐就业推荐就业根据学员学习情况、自身意愿,提供就业服务,一地学习,全国就业。
    了解详情
  • 02
    ★ 个人培训损失险 ★
    中公优就业与中国人保财险达成合作,按照协议,学员未如期如约就业赔付学费。
    了解详情
  • 03
    ★ 免费食宿 ★
    自建教学基地,标准化宿舍、酒店式公寓,8菜2汤自助式餐厅。
    了解详情
  • 04
    ★ 免息贷款★
    携手百度提供0息贷款服务,利息由优就业承担。
    了解详情
  • 05
    ★ 免费试学★
    免费试学5天,先体验后报名。
    了解详情
  • 06
    ★ 交通补助 ★
    外地学员来京学习可享交通费用报销。
    了解详情
  • 07
    ★ 网课赠送★
    赠送课程相关网课,查漏补缺,复习更简单。
    了解详情
  • 08
    ★ 免费重修★
    两年内可免费再学,享全系课程更新迭代。
    了解详情