用Python Pygame做的一些好玩的小游戲

有些游戲的代碼比較長就不公布了

1.簡簡單單

1.瘋狂的雞哥

?你要準備的圖片:

命名為:ji.png?

?代碼:

import pygame
import random as r
pygame.init()
pygame.display.set_caption('aaa')
pm = pygame.display.set_mode((800,600))class Ls(pygame.sprite.Sprite):def __init__(self,pos):#pos 鼠標點擊的位置super().__init__()self.image = pygame.image.load('ji.png')self.dx = r.randint(20,50)self.dx2 = r.randint(20, 50)self.image = pygame.transform.scale(self.image,(self.dx,self.dx2))self.rect = self.image.get_rect()self.rect.top = pos[0]self.rect.left =pos[1]self.vx = r.randint(-3,11)self.vy = r.randint(-2,12)# update方法def update(self):self.rect.left += self.vxself.rect.top += self.vyif self.rect.left <= 0 or self.rect.left >= 750:self.vx = -self.vxself.image = pygame.transform.scale(self.image,(self.dx,self.dx2))if self.rect.top <= 0 or self.rect.top >= 550:self.vy = -self.vy
group = pygame.sprite.Group()
while True:pm.fill((120,205,255))zt = pygame.mouse.get_pressed()zy = pygame.font.Font('葉根友刀鋒黑草.ttf',50).render('左鍵增加滾輪碰到哪個哪個刪除 ',True,(0,0,0))pm.blit(zy,(0,0))if zt[0]:group.add(Ls([100,200]))if zt[1]:wz = pygame.mouse.get_pos()for i in group:if i.rect.collidepoint(wz):     #給定點是否在給定矩形范圍中,前面的是給定矩形,括號中的是點.i.kill()group.draw(pm)group.update()for event in pygame.event.get():if event.type == pygame.QUIT:exit()pygame.display.update()pygame.time.Clock().tick(20)

?2.智慧的隨機分數系統

?

while True:import pygamepygame.init()pygame.display.set_caption('aaa')screen = pygame.display.set_mode((800,600))jts = pygame.image.load('照片\jts.png')jtx = pygame.image.load('照片\jtx.png')qd = pygame.image.load('照片\qd.png')a = 100mm = 1while mm == 1:screen.fill((255,255,255))ju = pygame.font.Font('字體\葉根友刀鋒黑草.ttf', 100)s = ju.render(str(a), True, (1, 2, 200))ju2 = pygame.font.Font('字體\葉根友刀鋒黑草.ttf', 100)s2 = ju2.render('滿分:', True, (1, 2, 200))for event in pygame.event.get():if event.type == pygame.QUIT:exit()screen.blit(s,(300,300))screen.blit(qd, (620, 10))screen.blit(s2,(100,100))screen.blit(jts,(500,200))screen.blit(jtx,(500,400))x, y = pygame.mouse.get_pos()for i in range(111):for ii in range(101):if x == 500+i and y == 200 + ii and pygame.mouse.get_pressed()[0] == True:a = a+1for i in range(97):for ii in range(117):if x == 500+i and y == 400 + ii and pygame.mouse.get_pressed()[0] == True:a = a-1for i in range(154):for ii in range(79):if x == 620+i and y == 10 + ii and pygame.mouse.get_pressed()[0] == True:mm = 1333pygame.display.update()pygame.time.Clock().tick(20)import pygameimport random as rpygame.init()pygame.display.set_caption('aaa')screen = pygame.display.set_mode((800,600))qd = pygame.image.load('照片\qd.png')b = str(r.randint(0,a)) + '分'mm = 1while mm == 1:screen.fill((255,255,255))ju = pygame.font.Font('字體\葉根友刀鋒黑草.ttf', 50)s = ju.render(b, True, (1, 2, 200))ju2 = pygame.font.Font('字體\葉根友刀鋒黑草.ttf', 50)s2 = ju2.render('我預測你這次考試會考:', True, (1, 2, 200))for event in pygame.event.get():if event.type == pygame.QUIT:exit()screen.blit(s,(100,200))screen.blit(qd, (620, 500))screen.blit(s2,(100,100))x, y = pygame.mouse.get_pos()for i in range(154):for ii in range(79):if x == 620+i and y == 500 + ii and pygame.mouse.get_pressed()[0] == True:print(1)mm = 1333pygame.display.update()pygame.time.Clock().tick(20)

要準備的圖片:

jts.png  #向上的箭頭
jtx.png   #向下的箭頭
qd.png  #確定

2.平平淡淡也挺好玩

1.極速賽車

準備一個汽車圖片叫做:

qc.png

代碼:

import pygame,sys
from random import*
while True:js = ''class Block(pygame.sprite.Sprite):def __init__(self):super().__init__()self.kd = randint(90,180)self.image = pygame.Surface((self.kd,20))self.image.fill((255,255,255))self.rect = self.image.get_rect()self.rect.top = 0self.rect.left = 0def update(self,v):self.rect.top += vif self.rect.top >= 600:self.kill()class Block2(Block):def __init__(self):super().__init__()self.rect.left = 400-self.kdclass Car(pygame.sprite.Sprite):def __init__(self):super().__init__()self.image = pygame.image.load('qc.png')self.image = pygame.transform.scale(self.image, (20, 50))self.rect = self.image.get_rect()self.rect.top = 400self.rect.left = 150def update(self):k = pygame.key.get_pressed()if k[pygame.K_RIGHT]:self.rect.left += 5elif k[pygame.K_LEFT]:self.rect.left -= 5if self.rect.left >= 400:self.rect.left = 400if self.rect.left <= 0:self.rect.left = 0def zi(dx,x,y):xz = pygame.font.Font('葉根友刀鋒黑草.ttf', 50).render(str(dx), True, (0, 0, 0))screen.blit(xz,(x,y))pygame.init()screen = pygame.display.set_mode((400,600))pygame.display.set_caption("qc")group = pygame.sprite.Group()group2 = pygame.sprite.Group()group3 = pygame.sprite.Group()group3.add(Car())i = 0v = 3while True:screen.fill((0,0,255))for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()t = pygame.time.get_ticks()if js == '':miao = str(t / 1000)miao2 = int(miao[0])zi('速度:' + str(int(v)), 0, 0)if miao2 == 1 and miao2 != 0:v += 0.001i += 1jg = randint(20,50)  #間隔if i % jg == 0:group.add(Block())group.draw(screen)group.update(v)jg2 = randint(20, 50)  # 間隔2if i % jg2 == 0:group2.add(Block2())group2.draw(screen)group2.update(v)group3.draw(screen)group3.update()else:zi('Game Over',0,100)zi('按滾輪回去',50,200)#碰撞a = pygame.sprite.groupcollide(group,group3,False,False)b = pygame.sprite.groupcollide(group2, group3, False, False)if a or b:js = '結束'i = 0v = 3if pygame.mouse.get_pressed()[1] and js == '結束':breakpygame.display.update()pygame.time.Clock().tick(60)

2.滑雪?

代碼太長了:294行

?提供一個創意思路

3.制作困難的游戲

提供思路

1.風葉穿行

被我爆改成了火山穿行

網站鏈接(B站的靈感):風葉穿行 (bilibili.com)

?2.魷魚游戲系列

?

?

4.我還有很多有意思的pygame游戲?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15348.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java進階學習筆記15——接口概述

認識接口&#xff1a; Java提供了一個關鍵字Interface&#xff0c;用這個關鍵字我們可以定義一個特殊的結構&#xff1a;接口。 接口不能創建對象。 注意&#xff1a;接口不能創建對象&#xff0c;接口是用來被類實現&#xff08;implements&#xff09;的&#xff0c;實現接口…

中國電子學會(CEIT)2023年05月真題C語言軟件編程等級考試三級(含詳細解析答案)

中國電子學會(CEIT)考評中心歷屆真題(含解析答案) C語言軟件編程等級考試三級 2023年05月 編程題五道 總分:100分一、找和為K的兩個元素(20分) 在一個長度為n (n < 1000)的整數序列中,判斷是否存在某兩個元素之和為k。 時間限制: 1000 內存限制: 65536 輸入 …

基于Spring Boot的高校圖書館管理系統

項目和論文都有企鵝號2583550535 基于Spring Boot的圖書館管理系統||圖書管理系統_嗶哩嗶哩_bilibili 第1章 緒論... 1 1.1 研究背景和意義... 1 1.2 國內外研究現狀... 1 第2章 相關技術概述... 2 2.1 后端開發技術... 2 2.1.1 SpringBoot 2 2.1.2 MySQL.. 2 2.1.3 My…

unity中如何插入網頁

在Unity中插入自己的網頁通常是通過使用Unity的WebGL構建目標和HTML頁面來實現的。以下是一些步驟&#xff1a; 構建你的Unity項目為WebGL&#xff1a;在Unity中&#xff0c;選擇Build Settings&#xff08;構建設置&#xff09;&#xff0c;將Platform&#xff08;平臺&#x…

vr商品全景展示場景編輯軟件的優點

3D模型展示網站搭建編輯器以強大的3D編輯引擎和逼真的渲染效果&#xff0c;讓您輕松實現模型展示的優化。讓用戶通過簡單的操作&#xff0c;就能滿足個人/設計師/商戶多樣化展示的需求&#xff0c;讓您的模型成為獨一無二的杰作。 3D模型展示網站搭建編輯器采用國內領先的實時互…

java繼承使用細節二

構造器 主類是無參構造器時會默認調用 public graduate() {// TODO Auto-generated constructor stub也就是說我這里要用構造器會直接調用父類。它是默認看不到的 &#xff0c;System.out.println("graduate");} 但當主類是有參構造器如 public father_(int s,doubl…

c語言:將小寫字母轉換為大寫字母

//將小寫字母轉換為大寫字母 #include <stdio.h> #include <ctype.h> int main() { char arr[]"you are low"; int i0; while(arr[i]) { if(islower(arr[i])) { arr[i]arr[i]-32; } i; } printf("%s\n",arr); return 0; }

微調Llama3實現在線搜索引擎和RAG檢索增強生成功能

視頻中所出現的代碼 Tavily SearchRAG 微調Llama3實現在線搜索引擎和RAG檢索增強生成功能&#xff01;打造自己的perplexity和GPTs&#xff01;用PDF實現本地知識庫_嗶哩嗶哩_bilibili 一.準備工作 1.安裝環境 conda create --name unsloth_env python3.10 conda activate …

周末總結(2024/05/25)

工作 人際關系核心實踐&#xff1a; 要學會隨時回應別人的善意。執行時間控制在5分鐘以內 堅持每天早會打招呼 工作上的要點 現狀&#xff08;接受破爛現狀&#xff0c;改變狀態&#xff09; - 這周使用和執行了生產環境發布流程(2天&#xff09;&#xff0c;2天時間在寫Java…

大膽預測:計算機將要回暖

中概財報集體亮眼 雖然最近幾天恒指&#xff08;港股&#xff09;稍有回落&#xff0c;但年線仍有 9% 的上漲。 過去三年&#xff0c;恒指分別下跌 14.08%、15.46% 和 13.82%。 而在近期&#xff0c;國內各大互聯網都公布了財報&#xff0c;別看各個大廠的作妖不斷&#xff0c;…

[前端|vue] v-if 和v-show的區別,為什么功能會類似

v-if 和 v-show 都是 Vue 中用于條件渲染的指令&#xff0c;但它們之間存在幾個關鍵區別&#xff0c;這些區別導致了它們在不同場景下的適用性也有所不同&#xff1a; v-if 的特點&#xff1a; 條件渲染&#xff1a;v-if 是一個動態的條件渲染指令&#xff0c;它會根據表達式的…

dubbo復習:(8)使用sentinel對服務進行降級

一、下載sentinel-dashboard控制臺應用并在8080端口啟動 二、項目添加springboot 和dubbo相關依賴&#xff08;降級規則并未持久化&#xff0c;如果需要持久化&#xff0c;如果需要持久化降級規則&#xff0c;只需增加nacos相關依賴并在nacos中進行配置&#xff0c;然后配置app…

會話機制:Session

1、什么是會話&#xff1a; 會話對應的英語單詞&#xff1a;session 用戶打開瀏覽器&#xff0c;進行一系列操作&#xff0c;然后最終將瀏覽器關閉&#xff0c;這個整個過程叫做&#xff1a;一次會話。會話在服務器端也有一個對應的java對象&#xff0c;這個java對象叫做&…

使用Python Tkinter創建GUI應用程序

大家好&#xff0c;當我們談及使用Python Tkinter創建GUI應用程序時&#xff0c;我們涉及的不僅是技術和代碼&#xff0c;更是關于創造力和用戶體驗的故事。Tkinter作為Python標準庫中最常用的GUI工具包&#xff0c;提供了豐富的功能和靈活的接口&#xff0c;讓開發者能夠輕松地…

每日一題(4)——String連接,替換,比較,查找等

主要是一些字符串的連接&#xff0c; 替換&#xff0c;比較&#xff0c;去首尾空格&#xff0c;查找等操作&#xff1b; class ZiFu{public static void main(String []args){String s1"hello world";String s2new String("hello,world");s2" "…

Vue3判斷變量和對象不為null和undefined

Vue3判斷變量和對象不為null和undefined 一、判斷變量二、判斷對象 一、判斷變量 在 Vue 3 中&#xff0c;你可以使用 JavaScript 提供的常規方式來檢查變量是否不為 null 和不為 undefined。你可以分別使用嚴格不等運算符 ! 來比較變量是否不為 null 和不為 undefined。以下是…

【基于springboot+vue的房屋租賃系統】

介紹 本系統是基于springbootvue的房屋租賃系統&#xff0c;數據庫為mysql&#xff0c;可用于日常學習和畢設&#xff0c;系統分為管理員、房東、用戶&#xff0c;部分截圖如下所示&#xff1a; 部分界面截圖 用戶 管理員 聯系我 微信&#xff1a;Zzllh_

打開服務器遠程桌面連接不上,可能的原因及相應的解決策略

在解決遠程桌面連接不上服務器的問題時&#xff0c;我們首先需要從專業的角度對可能的原因進行深入分析&#xff0c;并據此提出針對性的解決方案。以下是一些可能的原因及相應的解決策略&#xff1a; 一、網絡連接問題 遠程桌面連接需要穩定的網絡支持&#xff0c;如果網絡連接…

金融業務及其他學習資料相關

目錄 金融業務相關學習資料 道路交通安全考試科一學習資料(2023年版) 英語學習資料

ArcGIS提取含有計曲線的等高線

喜歡就關注我們吧&#xff01; 今天我么來看看&#xff0c;如何利用DEM提取含有計曲線的等高線&#xff01; 常規的話我們利用DEM提取的等高線都是不帶計曲線的&#xff0c;無法把計曲線標注出來&#xff0c;今天我們就來看下&#xff0c;如何處理一下哦&#xff01;提取帶有計…