最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python使用pygame實(shí)現(xiàn)笑臉乒乓球彈珠球游戲

 更新時(shí)間:2019年11月25日 11:20:24   作者:HelloWorld!  
這篇文章主要為大家詳細(xì)介紹了python使用pygame實(shí)現(xiàn)笑臉乒乓球彈珠球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

今天我們用python和pygame實(shí)現(xiàn)一個(gè)乒乓球的小游戲,或者叫彈珠球游戲。

笑臉乒乓球游戲功能介紹

乒乓球游戲功能如下:

乒乓球從屏幕上方落下,用鼠標(biāo)來(lái)移動(dòng)球拍,使其反彈回去,并獲得得分,如果沒(méi)有接到該球,則失去一條命。玩家有一定數(shù)量的命如5。

游戲設(shè)計(jì)思路

根據(jù)游戲規(guī)則,我們需要

1、初始化游戲環(huán)境
2、畫出乒乓球,球拍等
3、設(shè)置乒乓球的運(yùn)動(dòng),并監(jiān)聽鼠標(biāo),以移動(dòng)球拍
4、判斷乒乓球被接住與否
5、游戲是否結(jié)束,是否再玩。

代碼實(shí)現(xiàn)

import pygame
pygame.init()
screen_width=800
screen_height=600
screen=pygame.display.set_mode([screen_width,screen_height])
pygame.display.set_caption("笑臉乒乓球")
keepGoing=True
pic=pygame.image.load("CrazySmile.bmp")
colorkey = pic.get_at((0,0))
pic.set_colorkey(colorkey)
picx=0
picy=0
BLACK=(0,0,0)
WHITE=(255,255,255)
timer=pygame.time.Clock()
paddle_width=200
paddle_height=25
paddle_x=300
paddle_y=550

speedx=5
speedy=5
#圖片的高度和寬度
pic_width=pic.get_width()
pic_height=pic.get_height()
#分?jǐn)?shù)和命
points=0
lives=5
font=pygame.font.SysFont("Times",24)
pop = pygame.mixer.Sound("pop.wav")

while keepGoing:
 for event in pygame.event.get():
 if event.type==pygame.QUIT:
  keepGoing=False
 if event.type == pygame.KEYDOWN:
  if event.key == pygame.K_F1: # F1 = New Game
  points = 0
  lives = 5
  picx = 0
  picy = 0
  speedx = 5
  speedy = 5

 pop.play()
 picx += speedx
 picy += speedy
 if picx <= 0 or picx >= 700:
 speedx = -speedx * 1.1
 if picy <= 0:
 speedy = -speedy + 1
 if picy >= 500:
 lives -= 1
 speedy = -5
 speedx = 5
 picy = 499
 # if picx <= 0 or picx + pic_width > screen_width:
 # speedx = -speedx
 # if picy <= 0:
 # speedy = -speedy
 # if picy >= 500:
 # lives -= 1
 # speedy = -speedy
 screen.fill(BLACK)
 screen.blit(pic, (picx, picy))
 # 畫出球拍
 paddle_x = pygame.mouse.get_pos()[0]
 paddle_x -= paddle_width / 2
 pygame.draw.rect(screen, WHITE, (paddle_x, paddle_y, paddle_width, paddle_height))
 #判斷接住乒乓球
 if picy + pic_width > paddle_y and picy + pic_height < paddle_y + paddle_height and speedy > 0:
 if picx + pic_width / 2 > paddle_x and picx + pic_width / 2 < paddle_x + paddle_width:
  points += 1
  speedy = -speedy
 # 在屏幕上畫出得分

 draw_string = "Lives: " + str(lives) + " Points: " + str(points)
 if lives<1:
 draw_string="Game Over. Your scores is "+str(points)
 draw_string+="press F1 to play again"
 text = font.render(draw_string, True, WHITE)
 text_rect = text.get_rect()
 text_rect.centerx = screen.get_rect().centerx
 text_rect.y = 10
 screen.blit(text, text_rect)
 pygame.display.update()
 timer.tick(60)

pygame.quit()

代碼中用的乒乓球是如下圖片。

總結(jié)

1、通過(guò)上述代碼,功能基本實(shí)現(xiàn)
2、可以有很多改進(jìn),如通過(guò)鍵盤來(lái)操控球拍,如給游戲加上背景音樂(lè),其中加音樂(lè)的方法是

pop = pygame.mixer.Sound("pop.wav")
pop.play()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • python中numpy.dot()計(jì)算矩陣相乘

    python中numpy.dot()計(jì)算矩陣相乘

    本文主要介紹了python中numpy.dot()計(jì)算矩陣相乘,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • python實(shí)現(xiàn)隨機(jī)調(diào)用一個(gè)瀏覽器打開網(wǎng)頁(yè)

    python實(shí)現(xiàn)隨機(jī)調(diào)用一個(gè)瀏覽器打開網(wǎng)頁(yè)

    下面小編就為大家分享一篇python實(shí)現(xiàn)隨機(jī)調(diào)用一個(gè)瀏覽器打開網(wǎng)頁(yè),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • pytorch 移動(dòng)端部署之helloworld的使用

    pytorch 移動(dòng)端部署之helloworld的使用

    這篇文章主要介紹了pytorch 移動(dòng)端部署之helloworld的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Python中使用Queue和Condition進(jìn)行線程同步的方法

    Python中使用Queue和Condition進(jìn)行線程同步的方法

    這篇文章主要介紹了Python中使用Queue模塊和Condition對(duì)象進(jìn)行線程同步的方法,配合threading模塊下的線程編程進(jìn)行操作的實(shí)例,需要的朋友可以參考下
    2016-01-01
  • 跟老齊學(xué)Python之用while來(lái)循環(huán)

    跟老齊學(xué)Python之用while來(lái)循環(huán)

    while,翻譯成中文是“當(dāng)...的時(shí)候”,這個(gè)單詞在英語(yǔ)中,常常用來(lái)做為時(shí)間狀語(yǔ),while ... someone do somthing,這種類型的說(shuō)法是有的。
    2014-10-10
  • 關(guān)于Qt6中QtMultimedia多媒體模塊的重大改變分析

    關(guān)于Qt6中QtMultimedia多媒體模塊的重大改變分析

    如果您一直在 Qt 5 中使用 Qt Multimedia,則需要對(duì)您的實(shí)現(xiàn)進(jìn)行更改。這篇博文將嘗試引導(dǎo)您完成最大的變化,同時(shí)查看 API 和內(nèi)部結(jié)構(gòu)
    2021-09-09
  • Python實(shí)現(xiàn)FLV視頻拼接功能

    Python實(shí)現(xiàn)FLV視頻拼接功能

    這篇文章主要介紹了Python實(shí)現(xiàn)FLV視頻拼接功能,本文給大家介紹的非常詳細(xì)具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-01
  • django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    django 多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn)

    這篇文章主要介紹了django-多對(duì)多表的創(chuàng)建和插入代碼實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python設(shè)計(jì)模式之抽象工廠模式原理與用法詳解

    Python設(shè)計(jì)模式之抽象工廠模式原理與用法詳解

    這篇文章主要介紹了Python設(shè)計(jì)模式之抽象工廠模式,簡(jiǎn)單講述了抽象工廠模式的概念、原理并結(jié)合實(shí)例形式分析了Python實(shí)現(xiàn)與使用抽象工廠模式的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • python遍歷文件夾并刪除特定格式文件的示例

    python遍歷文件夾并刪除特定格式文件的示例

    這篇文章主要介紹了python遍歷文件夾并刪除特定格式文件的示例,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

栖霞市| 莆田市| 巴马| 博客| 西藏| 讷河市| 长兴县| 常山县| 榆社县| 文水县| 陈巴尔虎旗| 南汇区| 辉南县| 奉节县| 仁布县| 广昌县| 吐鲁番市| 贵阳市| 金门县| 建水县| 聊城市| 芮城县| 望都县| 平原县| 永清县| 普安县| 会东县| 饶平县| 宾川县| 黄龙县| 云浮市| 洪洞县| 措勤县| 泽州县| 孟州市| 许昌市| 罗江县| 北流市| 华容县| 开原市| 哈巴河县|