前言

大家好,我是辣条

记得很久之前有发布过这么一篇: 30个Python小游戏,上班摸鱼我能玩一天【内附源码】不能说是爆火,只能说是口口相传了。不过终究还是有不少刚开始接触Python的人还是一脸蒙圈,于是乎我就只能今天再来上一篇练手小游戏了

目录

  • 前言
    • 1.小猫运动
      • 游戏源码
      • 游戏效果
    • 2.弹球
      • 游戏源码
      • 游戏效果
    • 3.画正方形
      • 游戏源码
      • 游戏效果
    • 4.彩点实验
      • 游戏源码
      • 游戏效果
    • 5.彩点实验圆形
      • 游戏源码
      • 游戏效果
    • 6.彩点实验下三角
      • 游戏源码
      • 游戏效果
    • 7.彩点实验抛物线
      • 游戏源码
      • 游戏效果
    • 8.彩点实验椭圆形
      • 游戏源码
      • 游戏效果
    • 9.旋转文字
      • 游戏源码
      • 游戏效果
    • 10.迷宫游戏
      • 游戏源码
      • 游戏效果

1.小猫运动

游戏源码

# @Author : 辣条'''
多行注释
本程序运行后会有一只小猫向前走
安装模块 pip install sprites
'''
# 从精灵模块导入所有命令
from sprites import *
# 新建角色,造型序列为images
images = 'res/cat1.png','res/cat2.png'
# 新建角色
cat = Sprite(shape=images)
# 播放喵声
cat.play('喵.wav')
# 当成立的时候(重复执行)
while True:# 前进10cat.fd(10)# 下一个造型cat.nextcostume()# 等待0.3秒cat.wait(0.3)

游戏效果

2.弹球

游戏源码

# @Author : 辣条
"""弹球,本程序主要演示碰到边缘就反弹这个命令
"""
# 从精灵模块导入所有命令
from sprites import *
# 1代表弹球
ball = Sprite(1)while True:# 前进0.1ball.fd(0.1)# 碰到边缘就反弹ball.bounce_on_edge()

游戏效果

3.画正方形

游戏源码

# @Author : 大海
from sprites import *
# 新建虫子精灵
bug=Sprite()
# 绘画延时为10毫秒
bug.screen.delay(10)
# 画笔尺寸
bug.pensize(4)
# 画笔颜色
# 宝蓝
bug.color('dodger blue')
# 落笔
bug.pendown()
# 重复4次
for _ in range(4):# 前进100bug.fd(100)# 右转90bug.rt(90)
# 抬笔
bug.penup()

游戏效果

4.彩点实验

游戏源码

# @Author : 大海
'''
彩点实验
'''import time
from sprites import *d = Sprite(shape='black',visible=False)d.screen.bgcolor('black')while True:d.randompos()d.randomcolor()time.sleep(0.1)d.dot(random.randint(10,100))

游戏效果

5.彩点实验圆形

游戏源码

from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')radius = 200while True:d.randomcolor()d.randomheading()d.fd(random.randint(1,radius))d.dot(10)d.home()

游戏效果

6.彩点实验下三角

游戏源码

'''
6.彩点实验下三角
'''
from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')
while True:d.randompos()if d.xcor() > d.ycor():d.randomcolor()d.dot(10)

游戏效果

7.彩点实验抛物线

游戏源码

'''
7.彩点实验抛物线
'''from sprites import *d = Sprite(shape='blank',visible=False)d.screen.bgcolor('black')while True:d.randompos()if d.ycor() > 0.5 * d.xcor() * d.xcor() /100:d.randomcolor()d.dot(10)

游戏效果

8.彩点实验椭圆形

游戏源码

'''
8.彩点实验椭圆形
'''from sprites import *d = Sprite(shape='blank',visible=False)
d.screen.bgcolor('black')dot1 = (-100,0)
dot2 = (100,0)
while True:d.randompos()d1 = d.distance(dot1)d2 = d.distance(dot2)if d1 + d2 < 300:d.randomcolor()d.dot(10)

游戏效果

9.旋转文字

游戏源码

from sprites import *# 新建屏幕
screen = Screen()
# 设定背景颜色
screen.bgcolor('dodger blue')
# 设定标题
screen.title('旋转的文字')# 新建不可见的角色
t=Sprite(visible=False)
# 设定角色为白色
t.color('white')
# a是一个全局变量,这里代表角度
a= 0
# 要旋转的文字
info = '大海老师大帅比'
# 定义字体样式
ft = ('黑体',32,'normal')
# 定义rotate函数
def rotate():# 申明a为全局变量global a# 清除以前所写内容t.clear()t.write(info,align='center',font=ft,angle=a)a = a + 10screen.ontimer(rotate,50)
rotate()screen.mainloop()

游戏效果

10.迷宫游戏

游戏源码

"""大迷宫游戏.py小老鼠在一个偌大的迷宫中迷失了方向,请按上下左右方向箭头操作它移动。找到出口,走出迷宫。本程序需要python精灵模块1.35版本以上支持。安装最新版本请用cmd打开命令提示符管理员窗口输入以下命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple sprites  --upgrade本程序主要演示的像素级碰撞检测命令pixelcollide。它返回碰撞点坐标,主碰方(在这里是老鼠)碰撞点的像素值,被碰方(这时是迷宫),重叠区域矩形。就像下面这样:((14.0, 3.0), (45, 45, 45), (104, 104, 104), (-17.0, 9.0, 18.0, -9.0, 630.0))最后重叠区域是一个五元组,这个五元组最后一个值是重叠区域的面积。问题是,小老鼠最后找到了绿色的出口,可怎么也无法进门!当你理解了pixelcollide的返回值后,相信你能对此程序进行修改,从而解决小老鼠的问题。"""
from sprites import *           # 从精灵模块导入所有命令
from pygame import mixer        # 从pygame模块导入混音器screen = Screen()
screen.setup(480,360)
screen.title('大迷宫游戏')mixer.init()
mixer.music.load('胡伟立 - 周旋过场.mp3')
mixer.music.play(-1,0)          # 从头开始循环播放
maze = Sprite('1.png')          # 新建迷宫
maze.scale(2)                   # 迷宫长宽扩大为原来2倍
maze.ondrag(None)               # 让迷宫不可拖动,(maze.draggable()能让它重新可拖动)# 新建有两个造型的老鼠角色
rat = Sprite(['res/rat1.png','res/rat2.png'])
rat.shapesize(0.5,0.6)leftkey = Key("Left")           # 向左方向箭头
rightkey = Key("Right")         # 向右方向箭头
upkey = Key("Up")               # 向上方向箭头
downkey = Key("Down")           # 向下方向箭头
screen.listen()                 # 监听屏幕按键
r = None
while True:if leftkey.down():          # 按左方向箭头往左移rat.nextcostume()rat.setheading(180)maze.addx(5)        r = rat.pixelcollide(maze)if r:maze.addx(-5)if  rightkey.down():        # 按右方向箭头往左移rat.nextcostume()rat.setheading(0)maze.addx(-5)        r = rat.pixelcollide(maze)if r:maze.addx(5)if  upkey.down():           # 按上方向箭头往左移rat.nextcostume()rat.setheading(90)maze.addy(-5)        r = rat.pixelcollide(maze)  if r:maze.addy(5)if downkey.down():          # 按下方向箭头往左移rat.nextcostume()rat.setheading(-90)maze.addy(5)        r = rat.pixelcollide(maze)    # 对rat和maze进行像素极碰撞检测if r:maze.addy(-5)if r: print(r)screen.update()

游戏效果


``

Python小游戏,练手一定得试试,看似简单练习确实很实用相关推荐

  1. python练手小游戏_Python小游戏练手EMS员工项目自学者练习

    Python小游戏练手EMS员工项目自学者练习 # 显示欢迎信息 from typing import Any, Union print('-' * 20, '欢迎使用员工管理系统', '-' * 2 ...

  2. 小游戏练手——斗地主单机版

    [编者前言]以前在MFC或者WIN32工程中写稍长算法的时候就会感觉比较乱,这次尝试将AI算法和UI图像绘制分成两个工程来分别进行,最后再整合到一个工程,这样效率貌似更高了.这个是从准备考研中期开始的 ...

  3. python七彩同心圆_用pygame做一个简单的python小游戏---七彩同心圆

    用pygame做一个简单的python小游戏---七彩同心圆 用pygame做一个简单的python小游戏-七彩同心圆 这个小游戏原是我同学python课的课后作业,并不是很难,就简单实现了一下,顺便 ...

  4. 30个Python小游戏,小白练手,我都能玩一天

    大家好,我是雨雨~ 今天给大家带来30个py小游戏,一定要收藏! 全部源码都整理好了 小游戏源码腾讯文档-在线文档https://docs.qq.com/doc/DRnZDTnFGVUFMc3FL 有 ...

  5. 简易的Python小游戏,上班可玩一天,零基础小白可练手

    文章目录 一.第一次写Python小游戏 二.对小游戏进行改进 1.对玩家进行提示 2.提供多次机会给玩家 3.每次答案应该是随机的 三.总结 一.第一次写Python小游戏 刚开始学习Python这 ...

  6. 学 Python找不到练手项目?试试这些!

    本文转自机器之心,禁止二次转载 作者:Habeeb Shopeju 机器之心编译 参与:高璇 学习 Python 的基础知识是一种美妙的体验.但对于中级 Python 开发人员来说,很多项目要么过难, ...

  7. 树莓派开箱+上手python小游戏

    树莓派开箱&上手python小游戏 树莓派开箱&上手python小游戏 安装所需设备 烧录系统 使用NOOBS方式烧录失败 下载官方系统镜像文件烧录成功 配置WiFi和SSH 一.Wi ...

  8. 整理了30款Python小游戏附源码,五一有的玩了

    快到五一了,整理了 30 款 Python 小游戏源码分享给大家,具体内容可以点击下方视频号查看: 点击上方视频后,源码获取方式:①关注上方视频号.②点赞当前视频.③在当前视频评论区扣1 友情提示:获 ...

  9. Python小游戏:BMI指数的计算

    目录 壹:BMI(Body Mass Index) 贰:想法(Ideas) 叁:代码实现(Code Implementation) 肆:附录(Appendix) 壹:BMI(Body Mass Ind ...

最新文章

  1. dlib win32
  2. 【system generator】基于system generator的整数除法器设计
  3. 九、N-gram语言模型
  4. Swift 中的指针使用
  5. Codeforces Round #704 (Div. 2) D. Genius‘s Gambit 构造 + 细节
  6. toolstripmanager --工具栏或菜单的合并
  7. 办公自动化-演练-从A表中提取数据整合到B表中-0223
  8. 海运业务常用缩略语 一
  9. 聚宽macd底背离_很多散户可能永远都不会知道:MACD月线金叉,每一次MACD月金叉都会带来一波牛市...
  10. 谷歌设置支持webgl
  11. 主数据——共享数据的核心,数据资产的灵魂
  12. burpsuite2.0破解版使用说明
  13. 基于linkboy+GD32编程实现多种屏幕显示效果(LCD1602、LCD12864、彩屏)
  14. c语言课题程序框图,C语言图形五子棋课程设计报告带流程图.docx
  15. 计算机硬件未来发展前景,计算机硬件发展趋势
  16. python ttk.notebook_Ttk Notebook and PNotebook
  17. 智能型电话远程遥控器
  18. 简单说 通过CSS的滤镜 实现 火焰效果
  19. 我的linux系统怎么输入pv,如何在Linux系统中使用pv命令
  20. 基于3D关节点的人体动作识别综述(转)

热门文章

  1. android升级系统版本6,一加6升级安卓10.0之后,旧旗舰依旧流畅
  2. 【科大讯飞】全球首款,Mobius莫比斯同声翻译耳机 ,AI智能运动耳机 ,支持英日法韩俄西班牙6种语音...
  3. Python学习之路-字典外传
  4. 台达,AS228T,plc程序模板和触摸屏程序模板,目前6个总线伺服,采用CANOPEN,适用于运动轴控制
  5. JavaScript计算文件Hash值(sha1 sha 256 md5)
  6. java程序shell脚本制作
  7. 英雄联盟 VS IT 段位等级,知道如何输出,人活着成就感很重要。
  8. 怎么快速达到微信小程序累计独立访客(UV)不低于 1000
  9. win10sdk10586总是安装失败,解决办法
  10. java迭代器退出迭代_使用Java迭代器修改数据时要小心