電腦遊戲設計-第十組 指導老師:江清水 資三B 謝孟穎 資三B 陳沛蓁 資三B 謝家蓉

Slides:



Advertisements
Similar presentations
元大京華證券 組員名單 : A 楊之奇 A 廖本揚 A 宋俊承 A 陳冠廷 A 郭峻瑋 A 指導教授 : 許素華 副教授.
Advertisements

達悟族報告 作者 : 林琪崴, 許原碩 座號 :13 號,14 號 原碩負責 : 簡介, 傳說, 圖驣, 達悟族飛魚季, 琪崴 : 地理位置, 土地利用方式, 飲食文化, 豐收祭.
主讲:张天明 影像艺术工程师. 声音的聆听 指出听到的是什么物体发出的声音,这一 声音是在什么样的空间环境中传播的。 一、 答案: 1 、打气筒打气的声音 2 、手打打气筒给足球打气的声音 3 、手打打气筒给自行车轮胎打气的声音 4 、七次(七声)打气筒打气的声音 5 、(气流)摩擦的声音 6 、猪在发急时的叫声.
概念導向命題技巧與試題分析 臺灣師大地理系 陳國川. 教學評量是一種『抽樣調查』 實施教學評量時,需具備二項條件: 其一,瞭解命題的理論及其實踐的方法; 其二,瞭解各種題型的功能與命題方式。 壹、前言.
第十八章 林肯大郡 第十八章 林肯大郡災變緊急搶救應變措施 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊造成二十八人罹難八十戶住宅倒塌的慘劇 此災變要喚起國人的重視 本章介紹搜救行動緊急應變措施。
高峰植物園行前解說 2005/12/07 By 羽明. 陽性先驅物種 陽性植物 --- 陽光需求量大 陰性 ( 或耐蔭性 ) 植物 --- 陽光需求量少, 或 日照太強反而無法生存 先驅植物 --- 森林大火或土石流地震後產生的 裸露空地, 先生長出來的植物.
報 告 人 : 胡 嘉 琪 ˙ˇ˙ 、 王 紫 庭 = ˇ = 台灣夜市文化 作者: 郭明澤‧私立明道高中‧綜二 4 班 馬炯修‧私立明道高中‧綜二 4 班.
5 ˙ 1 第五章 生物的協調作用 5 ‧ 1 神經系統. 5 ˙ 1 人體的神經系統 1. 協調動物生理反應的系統: 神經 系統、 內分 泌 系統。 2. 神經系統負責 統整 和 協調 。分為 中樞 神經 和 周圍 神經。 (1) 中樞神經包括 腦 和 脊髓 。 (2) 周圍 神經包括 腦神經 和.
index 目次 ( 請按一下滑鼠,解答就會出現喔 !) 接續下頁解答 3-1 極限的概念.
从《西游》看大学生的成长 主讲人:颜廷学 时间: 地点:演艺大楼流行剧场.
新员工培训 设计部 思安新能源股份有限公司 主讲人: 韩少华 时 间:
前言:河流的主要功能 1. 交通運輸 優點-運費低廉,維護費用低 缺點-速度慢,裝載費時,不能到達生產區或消費區 的末端,需要轉載。 尚受到河流網路,河口位置,水量變化,河床 狀況,冰封時期 2. 水資源系統.
幽夢影~張潮 小佑子工作室 關於《幽夢影》 作者張潮,記寫他個人對人生世事之體驗透悟的 書。 書中文字,全為「語錄」形式,屬於格言,也是 最精鍊的隨筆。 全書可分為九卷:論才子佳人、論人與人生、論 朋友知己、論讀書、論閒情逸趣、論立身處世、 談文論藝、論四時佳景、論花鳥蟲魚。
成人高考高起点 语文 冲刺班 主讲老师:邓君媚. 复习指导 高考语文含四大块内容: 语言知识和语言表达,古代诗文阅读,现 代文阅读,写作。 在全面复习的前提下,按照《考试大纲》 的要求,要做好思路整理,建立高考的整体框 架的工作。认真归纳整理基础知识、培养基本 能力,复习做到有的放矢。 复习指导.
老师,我可以不 爱 吗? 山东省淄博市张店区实验中学 杜桂兰 星期一的早晨,我紧张而又兴奋,因为 我的赛教课就要开始了。 这是一次级别很 高 的竞赛。
财政部 国家税务总局 中国人民银行(央行) 银监会 证监会 保监会. 法定存款准备金率 利率 税率 政府投资 楼继伟,周小川,易纲.
油蔴菜籽 指導老師:陳瑜霞 學生: 商設一甲 謝旻璇 車輛三乙 許勝傑 工管四甲 彭凱雲. 作者介紹: 廖輝英( 1948 年生)臺大中文系畢業。 從初三開始寫作,早期作品多以散文為主,大四 畢業時才暫時封筆。畢業後進了廣告界,成為廣 告文案好手,後為企畫主管,在廣告界縱橫十餘 年,也曾任職於建設公司,辦過社區報高雄一周。
蘭嶼情人洞傳說 林庭羽製 林庭羽製. 台灣的蘭花特別多,台灣有個蘭 嶼島,島上面的蘭花更多.所以 叫蘭嶼.這裡留下了動人的傳說。
職業訪談報告. 成員 : 鐘怡君 劉沛君 謝明達 賴映辰.
南台科大幼保實習課程 見習幼兒園心得報告 夜四技幼保四甲 998i0021 黃欣婷.
第一章 生殖 1‧2 無性生殖.
高教三十条 — 科技创新能力提升 科技创新能力提升工程方案起草小组 2013年7月4日.
你不可不知之 十二年國教二三事 教務主任:傅瑞琪.
鞋 楦 的 材 質.
最古怪的15種動物.
广州宜家选址分析 0连锁 李若谷 陈玉风 黄小飞 蓝柔盈.
走! 一起去拜訪筏子溪.
台灣文學館之旅.
單車環島之旅 組員: 495D0072 胡閎智 495D0074 何冠緯 495D0020 王怡雯 495D0047 葉亭君
 耕地分割 及 執 行 內政部地政司 視察:林玲女.
~完備、周密、迅速 ~ 行政院農業部畜產試驗所
建筑设计基础讲义 (02-1) 建筑水彩渲染.
現代文學導讀 (中國現代散文發展的歷史軌道)
谨以此文—— 送给所有的人.
方 孝 孺 指喻.
保護地球人人有責:我能做的事 若想讓地球、人類社會明天會更好的話,可以考慮日常生活中採取什麼綠色行動,逐步恢復按上天設計大自然規定的方式做人,從而減少個人的「生態足印」,爭取可以延續的未來。 
小 王 子 <第六組> 組長: 謝汶芳 組員: 劉佳蓉 曹展愛 陳建妏
據說: 烏鴉有四種--- 巨烏 祥烏 鳳烏 慈烏~ 知恩 感恩 報恩.
桃園傅小弟遭刺青施虐事件 指導老師:高家斌 班級:幼保四甲 姓名與學號: 496I0004 程千芸、496I0010 林昀嫻
北科大學士學位 冷凍空調 甲、乙、丙 級技術士 三年工作經驗 大一階段 專精訓練 大三階段 回流訓練.
9.2.2 会计基本法律制度 一、会计机构和会计人员制度 二、会计核算制度
指導教授:林劭仁老師 組員:范紋綺、王宣惠、蔡雅玲 王思樺、陳可馨、吳芷容.
歡欣鼓舞過新年之四-跟年有關的故事 蘇澳國小 三年三班導師 張怡玲.
淺談中醫養生保健之道 國立中正大學醫務室 中醫科 楊明穎 醫師 中國醫藥學院 醫學士中醫師 高雄醫學院 藥學士藥師
只要有心 機器都可以成為食神 機電三甲  陳保翔  宓芳頡  雷家翔.
北極熊 華德學校 姓名:黄景山.
數學家 阿基米德 6C 李俊熙.
一般情况碰撞 1 完全弹性碰撞 动量和机械能均守恒 2 非弹性碰撞 动量守恒,机械能不守恒 3 完全非弹性碰撞 动量守恒,机械能不守恒.
一、平面点集 定义: x、y ---自变量,u ---因变量. 点集 E ---定义域, --- 值域.
传统采购与现代采购的区别.
Pygame 講者:張浩軒.
管理学基本知识.
滁州学院首届微课程教学设计竞赛 课程名称:高等数学 主讲人:胡贝贝 数学与金融学院.
八、老人的情緒障礙與治療─憂鬱 朝陽科技大學銀管系講座教授 黃富順.
相互依赖 独立 依赖 7 均衡发展 知彼解己 集思广益 6 人际关系 成功 利人利己 4 3 掌握重点 个人成功 1 操之在我 2 以终为始
拾貳、 教育行政 一、教育行政的意義 教育行政,可視為國家對教育事務的管理 ,以增進教育效果。 教育行政,乃是一利用有限資源在教育參
課程銜接 九年一貫暫行綱要( )  九年一貫課程綱要( ) 國立台南大學數學教育系 謝 堅.
2.4 二元一次方程组的应用(1).
Visual Basic 6.0之事件 事件(Event)?
VS.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
計數式重複敘述 for 迴圈 P
软件测试 (四)静态测试与动态测试.
Pygame之2048.
第四章 控制结构 1、顺序控制结构 2、选择结构 3、循环结构.
河口生態系 紅樹林.
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年11月1日.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
顺序查找与二分查找复习.
用加減消去法解一元二次聯立方程式 台北縣立中山國中 第二團隊.
Presentation transcript:

電腦遊戲設計-第十組 指導老師:江清水 資三B 01156228 謝孟穎 資三B 01156233 陳沛蓁 資三B 01156237 謝家蓉

初始化 pygame.init() width, height = 640, 480 screen=pygame.display.set_mode((width, height)) # 背景顏色 backgroundColor = ( 255 , 255 , 255 ) # 移動玩家 keys = [False, False, False, False] playerpos=[100,100] # 攻擊的臉 acc=[0,0] arrows=[]

壞蛋 #計時器,壞人出現的頻率 badtimer=100 badtimer1=0 #壞人位置 badguys=[[640,100]] #生命值 healthvalue=194

壞蛋 # 載入圖片 player = pygame.image.load("player.png") arrow = pygame.image.load("stone.png") badguyimg1 = pygame.image.load("monster.png") badguyimg=badguyimg1 backgroung = pygame.image.load("background.png") castle = pygame.image.load("honey.png") healthbar = pygame.image.load("healthbar.png") health = pygame.image.load("bar.png") gameover = pygame.image.load("gameover.png") youwin = pygame.image.load("youwin.png")

壞蛋 # 退出 def terminate(): pygame.quit() sys.exit() # 循環 running = 1 exitcode = 0 while running: badtimer-=1 # 清空螢幕 screen.fill(0) #黃色背景 screen.blit(backgroung,(0,0)) #畫蜂蜜罐 screen.blit(castle,(0,30)) screen.blit(castle,(0,135)) screen.blit(castle,(0,240)) screen.blit(castle,(0,345 ))

改變玩家的位置和旋轉 #偵測滑鼠的位置 position = pygame.mouse.get_pos() # math.atan2(y, x),playerpos[1] = y 座標 , Return atan(y / x) angle = math.atan2(position[1]-playerpos[1],position[0]-playerpos[0]) #玩家旋轉的角度,rotate ( 要移動的東西, 角度 ),弧度是57.29 = 360/2π playerrot = pygame.transform.rotate(player, 360-angle*57.29) #玩家的位置加上旋轉角度後 playerpos1 = (playerpos[0]-playerrot.get_rect().width/2, playerpos[1]-playerrot.get_rect().height/2) screen.blit(playerrot, playerpos1)

畫攻擊的頭 for bullet in arrows: index=0 #10是頭的速度 velx=math.cos(bullet[0])*10 vely=math.sin(bullet[0])*10 bullet[1]+=velx bullet[2]+=vely #檢查頭有沒有飛出界線,有的話就把它刪除 if bullet[1]<-64 or bullet[1]>640 or bullet[2]<-64 or bullet[2]>480: arrows.pop(index) index+=1 #畫頭 for projectile in arrows: #rotate(東西,角度) arrow1 = pygame.transform.rotate(arrow, 360-projectile[0]*57.29) screen.blit(arrow1, (projectile[1], projectile[2]))

創造壞人 # 檢查timer的值,若為 0 則加壞人 if badtimer==0: badguys.append([640, random.randint(50,430)]) # 重新計時,用100減去壞人出現的次數,所以badtimer值會越來越小,壞人出現的頻率提高 badtimer=100-(badtimer1*2) # 如果出現的次數大於35就把值固定在35,不然出現頻率會太高 if badtimer1>=35: badtimer1=35 else: badtimer1+=1 index=0 # 更新x的值

創造壞人 for badguy in badguys: # 檢查是否超出螢幕外,是的話就刪除他 if badguy[0]<-64: badguys.pop(index) badguy[0]-=7 # 壞人攻擊蜂蜜罐 badrect=pygame.Rect(badguyimg.get_rect()) badrect.top=badguy[1] badrect.left=badguy[0] # 如果壞人已經到螢幕左邊了,那生命值會減少,然後刪除他 if badrect.left<64: healthvalue -= random.randint(5,20) # 檢查是否有撞到蜂蜜罐

創造壞人 index1=0 for bullet in arrows: bullrect=pygame.Rect(arrow.get_rect()) bullrect.left=bullet[1] bullrect.top=bullet[2] if badrect.colliderect(bullrect): acc[0]+=1 badguys.pop(index) arrows.pop(index1) index1+=1 # 下一個壞人 index+=1 # 畫出壞人 for badguy in badguys: screen.blit(badguyimg, badguy)

攻擊 #當滑鼠被按下時 if event.type==pygame.MOUSEBUTTONDOWN: #取得滑鼠位置 position=pygame.mouse.get_pos() acc[1]+=1 #把旋轉的角度,x,y座標存入arrows陣列 arrows.append([math.atan2(position[1]-(playerpos1[1]+32),position[0]-(playerpos1[0]+26)),playerpos1[0]+32,playerpos1[1]+32])

壞蛋出現&打壞蛋

計時器&生命值 計時器 font = pygame.font.Font(None, 24) survivedtext = font.render(str((90000-pygame.time.get_ticks())/60000)+":"+str((90000-pygame.time.get_ticks())/1000%60).zfill(2), True, (0,0,0)) textRect = survivedtext.get_rect() textRect.topright=[635,5] screen.blit(survivedtext, textRect) 生命值 (#生命值 healthvalue=194) screen.blit(healthbar, (5,5)) for health1 in range(healthvalue): screen.blit(health, (health1+8,8))

計時器&生命值

Win or Lose #時間結束了表示贏了 if pygame.time.get_ticks()>=90000: running=0 exitcode=1 #生命值是負的表示輸了 if healthvalue<=0: exitcode=0

Win or Lose 輸的畫面 if exitcode==0: pygame.font.init() font = pygame.font.Font(None, 24) screen.blit(gameover, (0,0))

Win or Lose 贏 else: pygame.font.init() font = pygame.font.Font(None, 24) screen.blit(youwin, (0,0))

Win or Lose 讓遊戲停止 while 1: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit(0) pygame.display.flip()

END