python——pygame小试——hangman
来源:互联网 发布:数据库关系模型的概念 编辑:程序博客网 时间:2024/05/21 14:54
嘛,python期末要做个pj,hangman,开学时wxp老师展示了两个据说是上届的作品,用的pygame,心血来潮,也自己做了个
但是昨晚发现他发的东西有这个开头:
# Four-In-A-Row (a Connect Four clone)
# By Al Sweigart al@inventwithpython.com
# http://inventwithpython.com/pygame
# Released under a "Simplified BSD" license
哦?(黑人问号)SHIT
并且代码很规范,不像是学生写的,不是变态谁一个comma后面必有blank啊
嘛,由于期末还有很久结束,先不放上代码了,之后再做详解,记录使用的pygame操作
流程:
1.从words.txt读入词库,随机选择一个
2.得到的单词反馈给游戏界面,画出相应下划线
3.从界面给出的26个字母按钮中读取用户选择的字符
4.判断选择的字符是否正确,不断刷新用户选择对的字符组和错误数记录,反馈给游戏界面,画上hangman状态,在下划线上方打出用户选对的字母
5.游戏中止判断,失误6次,用户失败,并将下划线上单词补齐,未敲出字母打为红色。用户拼写正确,恭喜一下。
6.5secs内关闭游戏
难点:
1.制作中最费劲的地方在于,pygame并没有按钮这个东西,你要自己做一个出来,我参考的SRL的博客,以下是原文链接:
https://www.cnblogs.com/SRL-Southern/p/4949624.html
修改后得到的按钮:
鼠标不放上去,字母为白色
鼠标放上去,字母变成红色
鼠标点击,字母变为灰色,并且变不回去
2.pygame的游戏界面显示对于一个图片的展示需要分三步:
①:background = pygame.image.load(background_image_filename).convert_alpha()
第一步,载入图片,生成一个特殊类surface
②:screen.blit(background, (0,0))
将这个surface展示到生成的游戏界面窗口内
③:pygame.display.update()
展示更新,将surface真正展示出来,三步缺一不可
但是对于难点1中的按钮,又多了一个问题
screen.blit和pygame.display.update()对于在游戏界面内打字是覆盖的,会产生什么效果呢?
第一次打“一”,第二次打“二”,屏幕上就会有一个“三”,(如果位置不变的话),除非你每次将所有的底层surface都更新一遍,十分增加开销
所以十分纠结对于按钮,选择使用文字还是图片(对于26个字母,每个字母三个颜色的30px*30px的图片,会累死的),我感觉这样的实现十分龌龊,算了算了
所幸对于文字的覆盖,如果文字内容相同,仅仅更换颜色,并不会看出什么明显差别
待解决问题:
pygame背景音频只能同时播放一个,如果想要在背景音下,每次用户点击按钮,发出按钮被点击的声音要怎么做
- python——pygame小试——hangman
- python pygame — 2048 用python+pygame写2048游戏
- UVa489——Hangman Judge
- python的相关应用——pygame的一个小例子
- pygame的应用——python版飞机大战
- python实战游戏开发——安装pygame
- pygame学习和python巩固——字体显示
- 学习Pygame和巩固Python——画颜色~
- pygame——入门1
- Problem 012——UVa 489 Hangman Judge
- 假期训练——Hangman Judge UVA - 489 模拟
- pygame—— piman's sprite tutorial
- pygame库写游戏——入门<7>——python.draw
- pygame release 1.9 for python 3.1——image模块介绍
- pygame初体验——3D效果的雪景
- pygame学习笔记(4)——声音
- 无聊消遣——基于pygame库的飞机大战
- pygame库写游戏——入门<1>
- 刚转行UI设计,无经验的我该如何选择下一份工作?
- 字符串·通讯录排序
- 手写一个线程池
- 队列的链式存储实现c语言
- 印度央行再次拉响比特币警报
- python——pygame小试——hangman
- 澳大利亚联邦银行计划在区块链上发行债券
- SelfSell亮相新加坡BlockShow区块链峰会 你的价值与世界共享
- 树莓3b 3色灯控制
- 用户和开发员对比特币趋之若鹜,苹果在此时发布Apple Pay Cash
- 获澳交所认可:交易所将用分布式账本技术来结算交易
- 区块链或将成为黑马,最快实现数字经济信誉社会
- 诺基亚测试利用区块链保护健康数据
- 三菱日联与NTT数据联手开展跨境贸易区块链试验