11
11
/ /
/
66
66
一、实践课程目的一、实践课程目的
一、实践课程目的
11
1
、通过综合实践练习,能够掌握、通过综合实践练习,能够掌握
、通过综合实践练习,能够掌握
PythonPython
Python
基础语法,能够应用基础语法,能够应用
基础语法,能够应用
PythonPython
Python
语言编程解决某语言编程解决某
语言编程解决某
一具体领域的应用问题。一具体领域的应用问题。
一具体领域的应用问题。
22
2
、通过综合实践练习,能够理论联系实际,提升分析问题与解决问题的能力。、通过综合实践练习,能够理论联系实际,提升分析问题与解决问题的能力。
、通过综合实践练习,能够理论联系实际,提升分析问题与解决问题的能力。
二、设备与环境二、设备与环境
二、设备与环境
PCPC
PC
机、机、
机、
WindowsWindows
Windows
操作系统、操作系统、
操作系统、
Python 3.7Python 3.7
Python 3.7
软件等。软件等。
软件等。
三、项目设计内容三、项目设计内容
三、项目设计内容
11
1
、课题名称、课题名称
、课题名称
《强制表白神器》《强制表白神器》
《强制表白神器》
22
2
、程序功能、程序功能
、程序功能
通过通过
通过
PythonPython
Python
语句实现简单表白;语句实现简单表白;
语句实现简单表白;
通过设置按钮实现一个按钮躲避鼠标至随机点,通过设置按钮实现一个按钮躲避鼠标至随机点,
通过设置按钮实现一个按钮躲避鼠标至随机点,
一个按钮可以正常使用,一个按钮可以正常使用,
一个按钮可以正常使用,
不选择好呀无不选择好呀无
不选择好呀无
法关闭程序以达到强制表白的目的;法关闭程序以达到强制表白的目的;
法关闭程序以达到强制表白的目的;
通过通过
通过
turtleturtle
turtle
等导包辅助画出完整的爱心树加强表白时的浪漫气氛;等导包辅助画出完整的爱心树加强表白时的浪漫气氛;
等导包辅助画出完整的爱心树加强表白时的浪漫气氛;
音乐的添加使得被表白者情绪高涨,心防减弱,更容易接受表白。音乐的添加使得被表白者情绪高涨,心防减弱,更容易接受表白。
音乐的添加使得被表白者情绪高涨,心防减弱,更容易接受表白。
33
3
、源程序代码、源程序代码
、源程序代码
import pygame import pygame
import pygame
# pygame# pygame
# pygame
是一个设计用来开发游戏的是一个设计用来开发游戏的
是一个设计用来开发游戏的
PythonPython
Python
模块,模块,
模块,
专为电子游戏设计。专为电子游戏设计。
专为电子游戏设计。
包含图像、包含图像、
包含图像、
声音声音
声音
,,
,
在在
在
SDLSDL
SDL
库的基础上提供了各种接库的基础上提供了各种接
库的基础上提供了各种接
口,从而使用用户能够使用口,从而使用用户能够使用
口,从而使用用户能够使用
pythonpython
python
语言创建各种各样的游戏或多媒体程序语言创建各种各样的游戏或多媒体程序
语言创建各种各样的游戏或多媒体程序
import random import random
import random
import time import time
import time
import turtle import turtle
import turtle
#Turtle#Turtle
#Turtle
库是库是
库是
PythonPython
Python
语言中一个很流行的绘制图像的函数库,根据一组函数指令的控制,在这个平面坐标系中移动,从而语言中一个很流行的绘制图像的函数库,根据一组函数指令的控制,在这个平面坐标系中移动,从而
语言中一个很流行的绘制图像的函数库,根据一组函数指令的控制,在这个平面坐标系中移动,从而
在爬行的路径上绘制图形。在爬行的路径上绘制图形。
在爬行的路径上绘制图形。
import multiprocessing import multiprocessing
import multiprocessing
import sys import sys
import sys
##
#
该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数
该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数
from pygame.locals import * from pygame.locals import *
from pygame.locals import *
import matplotlib.pyplot as plt#import matplotlib.pyplot as plt#
import matplotlib.pyplot as plt#
坐标绘图坐标绘图
坐标绘图
WIDTH, HEIGHT = 640, 480 WIDTH, HEIGHT = 640, 480
WIDTH, HEIGHT = 640, 480
BACKGROUND = (255,201, 174) BACKGROUND = (255,201, 174)
BACKGROUND = (255,201, 174)
##
#
背景颜色背景颜色
背景颜色
# #
#
按钮按钮
按钮
def button(text, x, y, w, h, color, screen): def button(text, x, y, w, h, color, screen):
def button(text, x, y, w, h, color, screen):
pygame.draw.rect(screen, color, (x, y, w, h)) pygame.draw.rect(screen, color, (x, y, w, h))
pygame.draw.rect(screen, color, (x, y, w, h))
font = pygame.font.Font('./font/1.ttf', 20) font = pygame.font.Font('./font/1.ttf', 20)
font = pygame.font.Font('./font/1.ttf', 20)
##
#
字体样式和大小字体样式和大小
字体样式和大小
textRender = font.render(text, True, (0, 0, 0)) textRender = font.render(text, True, (0, 0, 0))
textRender = font.render(text, True, (0, 0, 0))
textRect = textRender.get_rect() textRect = textRender.get_rect()
textRect = textRender.get_rect()
textRect.center = ((x+w/2), (y+h/2)) textRect.center = ((x+w/2), (y+h/2))
textRect.center = ((x+w/2), (y+h/2))
##
#
按钮位置按钮位置
按钮位置
screen.blit(textRender, textRect) screen.blit(textRender, textRect)
screen.blit(textRender, textRect)
# #
#
标题标题
标题
def title(text, screen, scale, color=(255, 0, 0)): def title(text, screen, scale, color=(255, 0, 0)):
def title(text, screen, scale, color=(255, 0, 0)):
font = pygame.font.Font('./font/1.ttf', WIDTH//(len(text)*2)) font = pygame.font.Font('./font/1.ttf', WIDTH//(len(text)*2))
font = pygame.font.Font('./font/1.ttf', WIDTH//(len(text)*2))
textRender = font.render(text, True, color) textRender = font.render(text, True, color)
textRender = font.render(text, True, color)
textRect = textRender.get_rect() textRect = textRender.get_rect()
textRect = textRender.get_rect()
textRect.midtop = (WIDTH/scale[0], HEIGHT/scale[1]) textRect.midtop = (WIDTH/scale[0], HEIGHT/scale[1])
textRect.midtop = (WIDTH/scale[0], HEIGHT/scale[1])
screen.blit(textRender, textRect) screen.blit(textRender, textRect)
screen.blit(textRender, textRect)
# #
#
生成随机的位置坐标生成随机的位置坐标
生成随机的位置坐标
def get_random_pos(): def get_random_pos():
def get_random_pos():
x, y = random.randint(20, 620), random.randint(20, 460) x, y = random.randint(20, 620), random.randint(20, 460)
x, y = random.randint(20, 620), random.randint(20, 460)
return x, y return x, y
return x, y
# #
#
点击喜欢按钮后显示的页面点击喜欢按钮后显示的页面
点击喜欢按钮后显示的页面