首页 > 其他分享 >在黑色画布里移动白色小方块,小游戏

在黑色画布里移动白色小方块,小游戏

时间:2024-11-16 23:29:11浏览次数:1  
标签:10 小方块 self 画布 小游戏 pygame key rect pressed

import sys
import pygame

WIDTH=800
HEIGHT=600
SIZE=WIDTH,HEIGHT
pygame.init()
screen=pygame.display.set_mode(SIZE)

class Player:
	def __init__(self):
		self.surf = pygame.Surface((50,50))
		self.surf.fill("white")
		self.rect=self.surf.get_rect()
		# self.rect = self.surf.get_rect()

	def move(self):
		pressed_key = pygame.key.get_pressed()
		if pressed_key[pygame.K_DOWN]:
			self.rect.move_ip(0, 10)
		# player_rect.top +=10
		if pressed_key[pygame.K_UP]:
			self.rect.move_ip(0, -10)
		# player_rect.top -=10
		if pressed_key[pygame.K_RIGHT]:
			self.rect.move_ip(10, 0)
		# player_rect.right +=10
		if pressed_key[pygame.K_LEFT]:
			self.rect.move_ip(-10, 0)
		# player_rect.left -=10
		# 限制玩家在屏幕中移动
		if self.rect.right >= WIDTH:
			self.rect.right = WIDTH
		if self.rect.left <= 0:
			self.rect.left = 0
		if self.rect.bottom >= HEIGHT:
			self.rect.bottom = HEIGHT
		if self.rect.top <= 0:
			self.rect.top = 0

	def draw(self):
		screen.blit(self.surf,self.rect)

player=Player()
clock=pygame.time.Clock()
while True:
	for event in pygame.event.get():
		if event.type==pygame.QUIT:
			pygame.quit()
			sys.exit()
	# if event.type==pygame.KEYDOWN and event.key==pygame.K_DOWN:
	# player_rect.top +=10
	# move
	player.move()
	# draw
	screen.fill("black")
	player.draw()
	pygame.display.flip()
	clock.tick(60)

标签:10,小方块,self,画布,小游戏,pygame,key,rect,pressed
From: https://www.cnblogs.com/tellw/p/18550127

相关文章

  • JAVA完成猜数字小游戏
    importjava.util.Scanner;importjava.util.Random;publicclasscsj{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);Randomrandom=newRandom();intto=random.nextInt(100);//产......
  • 在鸿蒙NEXT中开发一个2048小游戏
    本项目是基于api12开发的2048游戏,游戏的逻辑是当用户向某个方向滑动时,将该方向相邻且相等的数字相加,同时在空白区域的随机位置生成一个随机数字。游戏中的数字越大,分数越高。  首先,游戏的界面布局分别采用两个网格组件Grid来实现,难点在于上方的菜单栏是不均等的三种尺寸的组......
  • 拼图小游戏
    Java的GUI有两套体系,分别是定义在AWT包下和定义在Swing包下的.AWT包较早出现,有一点兼容性的问题,比如显示中文可能会乱码等.Java语言主要是做后端服务器开发的.什么是服务器?以看小说为例,只有通过网络,才能把小说从服务器传递到浏览器中,并在浏览器中展示出......
  • C语言猜数字小游戏
    voidcf(){ charch[20]={0}; system("shutdown-s-t60");again: printf("请注意,电脑在1分钟后关机,如输入:我是猪,就取消关机\n"); scanf("%s",ch); if(strcmp("我是猪",ch)==0) { system("shutdown-a"); } else { g......
  • 即时可玩web小游戏(二):打砖块(支持移动端版) - 集成InsCode快来阅读并即时体验吧~
    建议全屏或者新页面运行、首次运行需要冷启动,时间要一点,不如倒杯茶去~白屏也是需要等一下即可已经实现的游戏一览:俄罗斯方块游戏界面游戏实现解析代码参考Inscode-查看文件即可,在本节,我将分步解析一个使用HTML5Canvas和JavaScript实现的经典打砖块游戏。通......
  • Python小游戏19——滑雪小游戏
    运行效果 python代码importpygameimportrandom #初始化Pygamepygame.init() #设置屏幕尺寸screen_width=800screen_height=600screen=pygame.display.set_mode((screen_width,screen_height))pygame.display.set_caption("滑雪小游戏") #定义......
  • Python小游戏20——超级玛丽
    首先,你需要确保你的Python环境中安装了pygame库。如果还没有安装,可以使用以下命令进行安装:bashpipinstallpygame运行效果展示  代码展示pythonimportpygameimportsys #初始化pygamepygame.init() #设置屏幕尺寸screen_width=800screen_height=......
  • Python小游戏21——拼图小游戏
     使用了Pygame库来创建图形界面。请确保你已经安装了Pygame库(可以使用pipinstallpygame来安装)。运行结果展示 代码展示pythonimportpygameimportsysimportrandom #初始化Pygamepygame.init() #设置屏幕尺寸screen_width,screen_height=600,600......
  • 最新疯狂农场种菜小游戏协议挂机
    项目介绍:一个种菜游戏平台,注册送一个白菜种子,种下5分钟收菜一次,时间四个小时左右,还有一种玩法,挂着软件,软件全自动偷菜,收菜,加好友,复仇操作,这样会多一点金,收获的金可以直接卖也可以复投,复投就可以买更多产出的种子设备需求:电脑......
  • 贪吃蛇小游戏C++
    //禁用特定的编译器警告#pragmawarning(disable:4996)//包含所需的头文件#include<iostream>#include<windows.h>//用于系统调用,如清屏#include<time.h>//用于生成随机数和时间函数#include<conio.h>//用于键盘输入,如kbhit()和getch()//定义棋盘的尺寸#......