十二月 29, 2009

電腦做什麼事
pydoing
is about »

tag cloud

» 第十章 更多的例子

昆蟲世界 基本的幾何形狀 用七巧板排列 滑鼠控制移動 張貼新的事件 可移動板塊的七巧板 除了文字之外,我們還可以在Pygame視窗中載入圖片或是直接利用draw模組來繪圖,我們先來看看如何載入圖片,以下的程式同時顯示背景圖片及滑鼠游標的圖片。 #《電腦做什麼事》的範例程式碼 #http://pydoing.blogspot.com/ import pygame from pygame.locals import * from sys import exit screen_size = (800, 600) title = "Hello, Real world!" background_image = "background.png" cursor_image = "cursor.png" def mouse_pos(img): x, y =

十一月 20, 2009

電腦做什麼事
pydoing
is about »

tag cloud

» 第十二章 人工智慧

回顧鬥獸棋 建立World 建立Animal 探索:隨機的在視窗中移動 建立Exploring 重提State 下一步 遊戲中常見人工智慧一詞,什麼是人工智慧呢?不外是我們希望遊戲中某些角色由電腦所控制,並且適當的表現出如同我們人類一般的智慧,因故稱之為人工智慧。 角色可以是對手(或敵對),也可以是夥伴,端視遊戲規劃而定。其實,上一章中我們所加入的灰色球拍已經可以算是簡單的人工智慧了。怎麼說呢?player1control()函數中,當球的y座標遞減到400以下的時候,我們設定的灰色球拍便開始隨球的x座標移動,球往左,灰色球拍也往左,同樣的,球向右,灰色球拍也朝右邊移動。 乍看之下灰色球拍彷彿具有一定的智能,可以看得到球的位置,然後隨著球移動的方向嘗試去接球。不論灰色球拍是不是真的很聰明,仍是表現出具有智能的行為,我們若沒有對「智慧」有嚴格的定義與申論,

» 第十一章 乒乓球

模擬球的移動 隨機方向 時間因素 加入白色球拍 用球拍擊球 顯示計分 加入灰色球拍 加入選單 桌球,又稱乒乓球,這是一種廣為人知的運動,也是早期實作出的商業電動遊戲之一,在這一章裡,我們嘗試簡化的版本,初步規劃如下圖。 點擊開啟大圖...... 視窗設定成600×800的大小,球台以黑色作為背景,黃色的球,上方灰色的球拍與下方白色的球拍,右方顯示分數。遊戲規則簡單一點,不考慮一局一局的發球回合,球由中央朝隨機方向發出後,到視窗的四個邊緣都會彈回,球拍可以直接把球擊出。如果球落在球拍後方的視窗邊緣,對手就得一分。 我們逐步發展這個程式,從模擬球的移動到將灰色的球拍交給電腦自行控制。 模擬球的移動 我們利用draw模組中的circle()函數畫出球,然後每一次重新繪圖時,球的圓心x座標及y座標各遞增1,如此產生效果彷彿平面上的球在移動,程式碼如下。 #《電腦做什麼事》

» 第九章 遊戲的圖形顯示

第一個例子 座標與顏色 建立顯示的視窗 設定字型 事件處理 動畫效果 Joel Spolsky提到「如果程式的行為與使用者的期望完全一致,就是一個使用良好的設計介面。」的確,良好的介面設計讓使用者容易操作,不需多費時間學習,然而設計不良的介面令人猜不透程式的想法,初次體驗一旦摸不著頭緒,即便功能強大的程式,也往往被人棄之如敝屣。 當然,這裡所講的介面是使用者與軟體互動溝通的管道。第三章所提的「介面」則是我們自己寫程式時去利用其他已經寫好的程式碼,內建或自訂的函數、型態、模組都是透過「介面」,便於程式的開發。其實道理都是一樣的,優良的使用者介面讓人易於發揮軟體的功能,好的程式介面則可縮短開發時間,便於重複利用。 可是設計使用者介面卻不太簡單,很多時候像是藝術創作,不同的顏色組合、排版格局往往給人不同的感受,另一方面,難以理解的程式介面也常常陷入修改困難,預期效果無法達成,

biggo.com.tw

A Django site.