寫簡單游戲,學編程語言-python篇


 

  好吧, 首先得承認這個題目寫的誇大了,人才菜鳥一枚,游戲相關編程也是知道點概念。但是本人對游戲開發比較感興趣,相信大多數喜歡玩玩游戲,因為它給人確實帶來很多樂趣,而編程語言的學習最少對於我來說比較乏味了,所以學一門新語言我一般找點小東西實踐一下來增加點學習的動力。今天偶然看到一本書確實值得推薦,介紹python入門和pygame的不錯的外文書籍。傳送門在此:http://cs.simpson.edu/files/CS_Intro_Book.pdf

  這里推薦這本入門書,因為它反復穿插了python基本語法和pygame的示例學習,我覺得這種文章組織形式確實比一般的入門介紹書籍更容易接受(對於本人來說的確如此,不知不覺1小時看了三分之一了)。做個最簡單的小游戲不僅熟悉了python語法而且學到了游戲編程中的簡單的圖形學的只是,對於游戲開發的基礎掌握還是很有幫助滴。有人可能會問到了,又引入pygame這個新框架是不是又要花大時間去熟悉它呢,其實根本不需要,因為這個框架是比較簡單和易懂的 ,只需要查幾個常用的接口函數和方法就能輕松寫一個簡單的游戲demo了,當然有其他游戲引擎知識的話,更不在話下了。其實這本書主要適合對象還是python學習的入門者,通過比較有趣的例子不僅學到了python語法而且鍛煉了 游戲邏輯的實現和圖形開發的基礎知識,在此基礎上你也可以改進示例,豐富游戲的內容了。以一個簡單的示例介紹一下吧,默寫書中一個最簡單動畫入門的例子(雪花飄落)如下:

  

 1 import pygame
 2 pygame.init()
 3 width, height = 640, 640
 4 green=[0,255,0]
 5 import random
 6 screen=pygame.display.set_mode((width, height))
 7 done=False
 8 pos_x=20
 9 start_list=[]
10 clock=pygame.time.Clock()
11 for i in range(50):
12     x=random.randrange(0,640)
13     y=random.randrange(0,640)
14     start_list.append([x,y])
15 while done == False:    
16     screen.fill([0,0,0])
17     for event in pygame.event.get():
18         # check if the event is the X button 
19         if event.type==pygame.QUIT:
20             # if it is quit the game
21             done = True
22     for i in range(len(start_list)):           
23         pygame.draw.circle(screen,green,start_list[i],2)
24         start_list[i][1]+=1
25         if start_list[i][1]>640:
26             y=random.randrange(-50,-10)
27             start_list[i][1]=y
28             x=random.randrange(0,640)
29             start_list[i][0]=x
30     clock.tick(20)
31     pygame.display.flip()
32     pos_x+=10
33     if pos_x is 180:
34         pos_x=20
35 pygame.quit() 
36 exit(0)

 我這里用green來畫圓形的精靈,貌似不是雪花飄落了,應該改成葉子形狀,變成綠葉墜落才比較適合吧。。哈。。:)

代碼寫的沒啥技術含量,不過我覺得這本書帶來的啟示還是挺有用的,邊學新語言邊實現你喜歡的東西才是編程的樂趣所在吧,這也是本人記錄隨筆的初衷。文筆粗糙的很,繼續加油吧!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM