思聪吃热狗(双人版)
实现了功能,但是细节上还有些问题,最后显示过关或失败页面会卡顿。
import pygame
from pygame.locals import *
from sys import exit
from random import randint
import timeclass Sicong:def __init__(self,hp=400):self.x=randint(0,474)-44self.y=randint(0,296)-35self.hp=hpdef move(self,mx,my,screen):new_x=self.x+mxnew_y=self.y+myif new_x<0:self.x=screen.get_width()+new_xelif new_x>screen.get_width():self.x=new_x-screen.get_width()else:self.x=new_xif new_y<0:self.y=screen.get_height()+new_yelif new_y>screen.get_height():self.y=new_y-screen.get_height()else:self.y=new_yself.hp-=10def eat(self):self.hp+=20if self.hp>1000:self.hp=1000class Hotdog:def __init__(self):self.x=randint(0,470)-30self.y=randint(0,290)-20def move(self,dx=-10):newx=self.x+dxif newx<0:self.x=474+newxelse:self.x=newx# class Menu:
# # def __init__(self):
# # pass
# #
# # def display(self):
# # screen.blit(1p,(200,50))
# # screen.blit(2p,(200,100))
# # screen.blit(quitt,(200,150))
# # if pygame.mouse.get_pos():
# # if pygame.mouse.get_pressed():def main():sc=Sicong()sc2=Sicong()hotdogs=[Hotdog() for item in range(10)]pygame.init()screen=pygame.display.set_mode((474,296))pygame.display.set_caption("吃热狗")scimg=pygame.image.load("img\sc.png")hotdogimg=pygame.image.load("img\hotdog.png")background=pygame.image.load("img\ground.jpg")die = pygame.font.SysFont("arial", 40)die_display = die.render("You are died ! please try agin!", True, (255, 0, 0), (0, 255, 255))passon = pygame.font.SysFont("arial", 80)passon_display = passon.render("Success ! You are Winer !", True, (0, 0, 0), (255, 255, 0))count_down=5count_downs=pygame.font.SysFont("arial",50)count_down_display=count_downs.render("%s" %(count_down),True,(0,0,0),(255,255,255))clock=pygame.time.Clock()score=pygame.font.SysFont("arial",20)count=0while True:screen.blit(background,(0,0))screen.blit(scimg,(sc.x,sc.y))screen.blit(scimg,(sc2.x,sc2.y))for item in hotdogs:screen.blit(hotdogimg,(item.x,item.y))item.move()for event in pygame.event.get():if event.type==pygame.QUIT:exit()if event.type==KEYDOWN:if event.key==K_UP or event.key==K_w:if event.key==K_UP:sc.move(0,-20,screen)if event.key==K_w:sc2.move(0,-20,screen)elif event.key==K_DOWN or event.key==K_s:if event.key==K_DOWN:sc.move(0,20,screen)if event.key==K_s:sc2.move(0, 20, screen)elif event.key==K_LEFT or event.key==K_a:if event.key==K_LEFT:sc.move(-20,0,screen)if event.key==K_a:sc2.move(-20, 0, screen)elif event.key==K_RIGHT or event.key==K_d:if event.key==K_RIGHT:sc.move(20,0,screen)if event.key==K_d:sc2.move(20,0,screen)# for event in pygame.event.get():# if event.type==pygame.QUIT:# exit()# if event.type==KEYDOWN:# if event.key==K_w:# sc2.move(0,-20,screen)# sc2.hp-=10# elif event.key==K_s:# sc2.move(0,20,screen)# sc2.hp-=10# elif event.key==K_a:# sc2.move(-20,0,screen)# sc2.hp-=10# elif event.key==K_d:# sc2.move(20,0,screen)# sc2.hp-=10score_display = score.render("score:%d" % count, True, (0, 0, 0), (255, 255, 255))screen.blit(score_display,(400,20))for hotdog in hotdogs:if (sc.x<hotdog.x+34) and (sc.x+44>hotdog.x) and (sc.y<hotdog.y+20) and (sc.y+35>hotdog.y):sc.eat()count+=1hotdogs.remove(hotdog)print(hotdogs)if (sc2.x<hotdog.x+34) and (sc2.x+44>hotdog.x) and (sc2.y<hotdog.y+20) and (sc2.y+35>hotdog.y):sc2.eat()hotdogs.remove(hotdog)if sc.hp<0:screen.blit(die_display,(50,50))time.sleep(5)# for i in range(5):# time.sleep(1)# screen.blit(count_down_display, (220, 150))# count_down=count_down-1if len(hotdogs)==0:screen.blit(passon_display,(100,20))time.sleep(5)# for i in range(5):# time.sleep(1)# screen.blit(count_down_display, (100, 100))# count_down=count_down-1pygame.display.update()clock.tick(10)if __name__ == '__main__':main()
思聪吃热狗(双人版)相关推荐
- 王思聪吃热狗的c语言小程序,王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊...
原标题:王思聪吃热狗火了,开发各种恶搞小程序!王校长:我不要面子的啊 近日王校长上了不少次热搜,其中有一条就是王校长吃热狗火了,接下来就出现了各种各样的表情包,手机壳,素描等等.其实这些还不是最火爆的 ...
- 英雄联盟官宣IG冠军皮肤 彩蛋竟是王思聪吃热狗...
在IG拿下冠军后,今日,冠军专属皮肤也终于来了.英雄联盟官方微博发布了IG冠军皮肤原画,从曝光的图片来看,IG冠军皮肤采用了具有中国特色的水墨风格,黑白灰的三种配色对应了iG的色调风格. 据悉,这次I ...
- 竟领先15% 解密飞行堡垒吃鸡重装版强悍性能
<绝地求生:大逃杀>这款游戏可以说是红遍了游戏界的2017,直到目前依然是电竞圈里的现象级游戏,日在线人数长时间保持在百万以上,其火爆程度可见一斑. 不过,想要体验"吃鸡&quo ...
- VC写的双人版俄罗斯方块
以前写过C++版的俄罗斯方块,后来老师让写双人版,刚开始大家都认为是把所有的代码copy一遍就行了,但实际并不是这样,这样做并不能实现双人版. 在老师的提示下,我们写出来C++版的俄罗斯方块游戏,现在 ...
- 【180622】VC++ 超经典坦克大战双人版
超经典坦克大战双人版,VC++完整版,含声音.地图.资源文件,编译后请将Map.Sound.graphics拷贝至可执行文件同级目录内,否则出错.大家看看界面就知这游戏有多经典了吧?小时候没玩过的不多 ...
- python实现双人版坦克大战游戏
游戏介绍: 双人版的<坦克大战>的基本规则是玩家消灭出现的敌方坦克保卫我方基地. 中间还会随机出现很多特殊道具吸收可获得相应的功能,消灭玩即可进入下一关. 方向键:上下左右移动即可.另一个 ...
- MFC双人版俄罗斯方块
俄罗斯方块 第一次单独完成了一个小游戏,虽然是按照老师编的实验指导书上面单人版俄罗斯方块改过来的,但是还是很有成就感的. 砖块实现思路: 给砖块设置一个中心点,然后依次按照中心块的位置设置其他块的坐标 ...
- VC/MFC 俄罗斯方块双人版(基于MFC单文档)
游戏最终界面如图: 目录: 题目要求 功能需求 总体设计 系统模块 系统业务处理流程 详细设计 砖块预显示 分数统计 砖块移动和游戏暂停的实现 游戏难度选择 播放背景音乐 游戏设置与帮助 静态文本超链 ...
- 基于JavaSwing开发坦克大战游戏(单人或双人版) 课程设计 大作业 毕业设计
基于JavaSwing开发坦克大战游戏(单人或双人版): (大作业/毕业设计) 开发环境: Windows操作系统 开发工具: MyEclipse/Eclipse+Jdk 运行效果图: 基于Ja ...
- C语言项目:别踩白块游戏(双人版),450行源码分享+详细思路
每天一个C语言小项目,提升你的编程能力! <别踩白块儿>是一款非常耐玩的休闲益智游戏,就像它的名字一样,别踩白块儿,这就是这个游戏的一个规则. 我们只需要不断踩着黑色方块前进即可,很简单吧 ...
最新文章
- uint8_t uint16_t uint32_t uint64_t 解析
- 利用世界杯,读懂 Python 装饰器
- Navicat远程连接不上mysql解决方案
- xcode--常用快捷键
- 一道常被人轻视的前端JS面试题
- Java中的生产消费者问题
- 上海招聘 | 上海人工智能实验室:自动驾驶感知算法研究员、实习生等
- 转录组测序(RNA-seq)详细建库步骤与原理
- android 编写计时器,Android用5种方式实现自定义计时器, 哪种才是你的菜?
- 蓦然回首,Java 已经 24 岁了!
- 银行业务总揽之-银行对公业务
- 关于python语言、下列说法不正确的是-模拟试卷C【单项选择题】
- MaxScript 设置 OBJ Import Options
- 自媒体账号如何快速涨粉?
- HYPOTHESES ON THE EXISTENCE OF ADVERSARIAL EXAMPLES
- 二级计算机的office用到哪些函数,计算机二级MS office excel中所用函数整理
- 单招计算机Windows7知识点,计算机单招考试试题
- nodejs项目云端部署初试
- 微信支付与支付宝支付
- 火影忍者377话在线观看更正版
热门文章
- 用python延续科比的曼巴精神
- jet-cp4005,linux双面打印,如何使用Linux(Ubuntu 13.04)在HP 7610上启用双面打印
- MySQL存储过程和函数的区别
- php mysql日期转换成时间戳_php日期转时间戳,指定日期转换成时间戳【转】
- matlab ofdm qpsk,Matlab关于ofdm系统qpsk调制、awgn信道下的仿真
- 数字信号处理matlab版答案,数字信号处理matlab版答案
- 中国磷肥市场发展分析与产能需求调研报告2022版
- 高通QFIL烧录错误求解
- 大数据技术原理与应用 第三版 林子雨 期末复习(一)大数据概述 第一章 P2
- Python pip安装 win32com模块