用python和pygame遊戲編程入門-畫圖實例

2021-03-06 動力貓總部

上一節中介紹了各種用於畫圖的函數,為了進一步加深印象,我們通過一個實例來把這些功能整合到一起。


#!/usr/bin/env python
import pygame
from pygame.locals import *
from sys import exit
from random import *
from math import pi

pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
points = []
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
if event.type == KEYDOWN:
# 按c鍵可以清屏並把點回復到原始狀態
print(event.key)
if event.key == K_c:
points = []
screen.fill((255,255,255))
if event.type == MOUSEBUTTONDOWN:
screen.fill((255,255,255))
# 畫隨機矩形
rc = (randint(0,255), randint(0,255), randint(0,255))
rp = (randint(0,639), randint(0,479))
rs = (639-randint(rp[0], 639), 479-randint(rp[1], 479))
pygame.draw.rect(screen, rc, Rect(rp, rs))
# 畫隨機圓形
rc = (randint(0,255), randint(0,255), randint(0,255))
rp = (randint(0,639), randint(0,479))
rr = randint(1, 200)
pygame.draw.circle(screen, rc, rp, rr)
# 獲得當前滑鼠點擊位置
x, y = pygame.mouse.get_pos()
points.append((x, y))
# 根據點擊位置畫弧線
angle = (x/639.)*pi*2.
pygame.draw.arc(screen, (0,0,0), (0,0,639,479), 0, angle, 3)
# 根據點擊位置畫橢圓
pygame.draw.ellipse(screen, (0, 255, 0), (0, 0, x, y))
# 從左上和右下畫兩根線連接到點擊位置
pygame.draw.line(screen, (0, 0, 255), (0, 0), (x, y))
pygame.draw.line(screen, (255, 0, 0), (640, 480), (x, y))
# 畫點擊軌跡圖
if len(points) > 1:
pygame.draw.lines(screen, (155, 155, 0), False, points, 2)
for p in points:
pygame.draw.circle(screen, (155, 155, 155), p, 3)
pygame.display.update()

運行這個程序,在上面點滑鼠就會有圖形出來了;按c鍵可以重新開始。另外這個程序只是各個命令的堆砌,主要是為了讓大家能夠理解和很好的使用各個函數。

下次開始我們學習遊戲中的動畫製作。

動力貓機器人教育專注於青少年STEAM教育、創客教育產品及課程體系的開發,為3-18歲學生提供全方位STEAM創客教育課程解決方案。

目前公司已取得多項發明專利、實用新型專利及多項軟體著作權專利,擁有上百種控制器、傳感器等電子模塊,近300種機械結構件,兼容國內外主流編程軟體,能夠實現較為複雜的物聯網和人工智慧項目的模型搭建,能充分滿足教學、比賽、創新創意等多種需求。

       公司產品進入了中國電子學會發起的「全國青少年機器人技術等級考試」準用器材系列,自主研發軟體Scraino已經寫入山東中小學三個版本的信息技術課本,在天津、河北、山東等地開展培訓中心業務,為美國加州中小學課堂提供產品。

      動力貓課程依託自身強大的研發實力,軟硬體相結合,軟體方面擁有業界領先的 Scraino(具有自主產權)圖形化編程軟體以及配套的電子件(各類傳感器及控制器等);硬體採用硬體採用動力貓的idea-x積木,該積木具有多項國家發明專利,六面拼插,多方式組合,圍繞6-18歲適齡兒童在教具器材、編程平臺、評價機制及課程體系、技能等級評測、科技創意賽事等領域多元化搭建教育平臺。其 Scraino、Python 課程,不僅能編程,還能通過自主研發的 Nano 控制器,各類傳感器,實現機器人物聯網課程學習,搭建屬於自己的智慧機器人。‍

聲明:編輯此文是出於傳遞更多信息之目的。若有來源標註錯誤或侵犯了您的合法權益,請作者持權屬證明與本號聯繫,我們將及時更正、刪除,謝謝。

相關焦點

  • 用Python編寫一個打桌球小遊戲
    茶餘飯後,編寫一個很有趣的小遊戲,編程半小時,能玩一整天,不斷的調整遊戲參數,你會發現越來越有趣,正如你敲下幾行代碼,程序就按照你規定的法則運動起來,這樣抽象控制具體的現象會讓你愛上遊戲編程。下面讓我分享一下我編寫的十分簡單的打桌球小遊戲。首先要安裝pygame庫,如果你使用IDLE的話,那就更簡單了!
  • Python遊戲設計入門課程
    4、建一個遊戲模板現在我們講解一下遊戲製作的細節,通過代碼的講解,深入理解遊戲編程的底層邏輯。Pygame模板,對於所有的Python遊戲編制都能夠有用。程序開頭,我們先導入兩個庫(pygame遊戲庫和random隨機數),設置一些遊戲中的變量和參數選項。
  • 零基礎自學Python要多久才能學會?
    ,利用笨方法學python 練習基本語法,推薦使用pycharm, 在默認設置裡把制表符Tab 改成了四個空格;然後訓練寫了堆棧,訓練基本的數據結構,自己寫鍊表和隊列,把笨方法學python 敲完。  二、加強篇  掌握基本的堆棧隊列和鍊表。python 核心編程《基礎篇》。python 核心編程《基礎篇》,簡單寫鬥獸棋的程序。寫五子棋,開始接觸pygame。
  • 代碼森林帶你實踐熱門編程書籍——《Python編程:從入門到實踐》
    第一本你必須要擁有的書籍一定是《Python編程:從入門到實踐》它是一本針對所有層次的Python讀者的編程學習書——《Python編程:從入門到實踐》本書內容本書旨在讓你成為優秀的程式設計師,具體地說,是優秀的Python程式設計師。
  • 電腦入門程式語言
    今天和大家介紹一下電腦入門編程學什麼語言更合適。首選python語言,python 是一門開源免費、通用型的腳本程式語言,現在社會上會python語言的人很吃香的。它上手簡單,功能強大,堅持「極簡主義」。
  • 《python 入陣曲:初級》開題報告
    ,但是要不就是過於科班,讓人看不進去(我一個專業的都看不進去更何況新手);要不就是有比較入門級別的視頻卻又非常粗製,有的普通話說不利索,有的用idle教寫python,有的教了一堆面向過程的散裝編程;就讓我覺得,應該在教編程的時候教一教正統的編程思想和編程藝術,不只是教授技法和工具。
  • 如何入門Python之Python基礎教程詳解
    隨著人工智慧的發展,Python近兩年也是大火,越來越多的人加入到Python學習大軍,對於毫無基礎的人該如何入門Python呢?這裡整理了一些個人經驗和Python入門教程供大家參考。如果你是零基礎入門 Python 的話,建議初學者至少達到兩個目標: 會用,理解。
  • Python編程學了有用嗎?
    Python編程學了有用嗎?眾所周知,目前家長對於孩子的教育越來越重視,培養孩子的編程思維也是大家關心的話題,孩子學習Python語言,需要使用精確到標點、分號等特殊字符,可以提高孩子的編程能力和邏輯思維能力。作為成成年人學python編程可以大大提高工作效率。
  • Python快速入門的方法
    現在如果有人問:要把哪門語言作為入門的首選語言?不少人都會回答:Python!因為Python簡單,所以學起來快,有編程經驗的程式設計師一周就能上手Python。但是!Python對有基本的程序概念的人來說很簡單,但對於新手來說真不一定算簡單。畢竟,寫起來簡單不代表概念簡單。
  • Python入門很簡單,只要掌握3456點
    鑑於大多數書籍在編寫上都結構混亂,無法體現出知識的系統性、邏輯性和層次性。特整理出學Python最基礎的知識學習框架,希望幫助大家快速入門。集合(set) 如果你能夠把上面的幾個要點都掌握了,那麼就算是真正地入門了。 python的藍圖 1、常規軟體開發 Python支持函數式編程和OOP面向對象編程,能夠承擔任何種類軟體的開發工作,因此常規的軟體開發、腳本編寫、網絡編程等都屬於標配能力。
  • 不到 150 行代碼寫一個 Python 版的貪吃蛇
    相信大家小時候應該都玩過貪吃蛇這個遊戲吧,反正我小時候超喜歡玩,沒其他原因,因為家裡的手機上只有這一個遊戲可以消磨時光。後來隨著移動網際網路的普及,智慧型手機逐漸取代了諾基亞,但這款遊戲的確堪稱經典之作。今天我們就用 pygame 來自己寫一個貪吃蛇出來,重溫經典。
  • 書聲琅琅:好的Python入門教程
    好的Python入門教程,書聲琅琅教育番茄老師微信pykf20介紹,python語言現在應用非常廣泛,不管是大數據還是人工智慧,應用最多的語言還是python,因此對於許多小白來講,看到python從業者的高薪資,想要轉行,或者致力於python開發的朋友,如果要學習python,從零基礎開始,一定需要一套完整的學習路線。
  • Python抓圖教程
    我就想用python抓圖觀察植物從出生到死亡的一個過程,並製作一個動畫展現生命的奇妙,從而懂得對生命的敬畏。    但是在實際的操作過程中,由於創客空間電腦比較少,配置也不太高,所以一直不能順利完成,因此現在就想把這個想法、代碼和配置方法分享出去。如果您感興趣,希望您在製作完成後,可以將視頻分享給我一份,也讓我的孩子們也對生命有更多的了解和敬畏。
  • 零基礎學習python,這幾本書少不了
    python是世界上最強大、最受歡迎的程式語言之一,即使不是程式設計師,我們平時在工作中也會經常用到,例如用python分析競品數據,做財務報表等等。《"笨辦法"學Python》推薦理由:本書是一本python入門書籍,比較適合沒有計算機、編程基礎,但是對python感興趣的小白學習使用。這本書是以習題的方式一步一步引導讀者了解、學習python,從簡單的列印一直講到完整項目的實踐,讓初學者從基礎的python知識入手,最終體驗到軟體開發的基本過程。
  • Scratch、Python學哪個?兒童編程怎麼學?全面解析編程(上)
    其他編程,比如無人機編程等。「編程」和Scratch、python、C++ 是什麼關係?Scratch是一種編程用的工具, Python 和C++是專業的程式語言也可以理解為編程工具。你可能對這些詞語可能比較陌生,咱們繼續以做菜舉個例子。編程是指做菜的過程,做菜的過程要用到各種工具,比如刀、鍋、鏟、灶,Scratch、Python 和C++就是刀、鍋、鏟、灶的集合體,是用來製作軟體的工具。
  • 《小灰教你零基礎學python》-Python入門語言
    >c語言php(有人稱php是最好的程式語言)這裡包括咱本套課程需要學習的python,其實理解咱這麼理解就行:咱們和外國人交流需要說英語,那麼咱們必須要學會英語才能和對方溝通;咱們需要讓電腦進行「溝通」就必須要使用程式語言。
  • 如何入門中學生編程
    相信很多同學對編程很感興趣,但是卻不知道如何入門以及入門難度如何,廢話少說,直接進入主題。首先,學習編程不難,難的是自己的想法(如果有同學學習過就知道了)。其次,如何入門。對於零基礎的同學推薦學習 python ,語法簡單,可以做的事情很多(視個人能力而定)。
  • 廣州荔灣Python少兒編程課一節多少錢?
    樂博樂博Python課程內容包含Python語言編程基礎,變量、判斷語句、循環語句、列表、函數,以及面向對象編程思想,應用數學思維實現經典數學思想,使用pyqt及pygame模塊編程設計2D遊戲。1、看比師資力量老師要發揮指導作用,有目的、有系統地引導孩子積極參與生動、生動的編程遊戲,使他們健康、全面地成長。
  • 西安雁塔Python少兒編程課一節多少錢?
    樂博樂博Python課程內容包含Python語言編程基礎,變量、判斷語句、循環語句、列表、函數,以及面向對象編程思想,應用數學思維實現經典數學思想,使用pyqt及pygame模塊編程設計2D遊戲。1、看比師資力量老師要發揮指導作用,有目的、有系統地引導孩子積極參與生動、生動的編程遊戲,使他們健康、全面地成長。
  • 編程0基礎,適合新手學習編程的網站
    對於剛接觸編程的新手來說,往往會無從下手,不知道怎麼學。買了有關方面的書,不是看不懂,就是沒有時間看。現在的快節奏生活下,時間越來越碎片化。這裡推薦幾個適合新手學習編程的網站,大家可以隨時學習。首先選擇一門適合自己的程式語言。