如何用編程來做一個檯球游戲
① 計算機如何編程打游戲
你好,能通過編程開發出來的游戲有很多,比如java開發的貪吃蛇,我的世界等,python開發的小矮人,動物大戰等,具體如何編程就需要學習軟體開發專業裡面的游戲開發相關知識。下面是部分學習知識點,希望能幫到你。
1.例如字元串查找、子串、模式匹配等。當在 Lua 中對字元串做索引時,第一個字元從 1 開始計算(而不是 C 里的 0 )。 索引可以是負數,它指從字元串末尾反向解析。 即,最後一個字元在 -1 位置處,等等。
2.字元串庫中的所有函數都在表 string 中。它還將其設置為字元串元表的 __index 域。 因此,你可以以面向對象的形式使用字元串函數。 例如,string.byte(s,i) 可以寫成 s:byte(i)。
字元串庫假定採用單位元組字元編碼。
接收零或更多的整數。 返回和參數數量相同長度的字元串。 其中每個字元的內部編碼值等於對應的參數值。
數字編碼沒有必要跨平台。
3.返回包含有以二進制方式表示的(一個 二進制代碼塊 )指定函數的字元串。之後可以用 load 調用這個字元串獲得 該函數的副本(但是綁定新的上值)。 如果strip 為真值, 二進制代碼塊不攜帶該函數的調試信息 (局部變數名,行號,等等。)。
帶上值的函數只保存上值的數目。 當(再次)載入時,這些上值被更新為 nil 的實例。 (你可以使用調試庫按你需要的方式來序列化上值,並重載到函數中)
4.查找第一個字元串 s 中匹配到的 pattern )。如果找到一個匹配,find 會返回 s 中關於它起始及終點位置的索引; 否則,返回 nil。 第三個可選數字參數 init 指明從哪裡開始搜索; 默認值為 1 ,同時可以是負值。 第四個可選參數 plain 為 true 時, 關閉模式匹配機制。 此時函數僅做直接的 「查找子串」的操作, 而 pattern 中沒有字元被看作魔法字元。 注意,如果給定了 plain,就必須寫上 init 。
如果在模式中定義了捕獲,捕獲到的若干值也會在兩個索引之後返回。
5.返回不定數量參數的格式化版本, 格式化串為第一個參數(必須是一個字元串)。格式化字元串遵循 ISO C 函數 sprintf 的規則。 不同點在於選項 *, h, L, l, n, p 不支持, 另外還增加了一個選項 q。 q 選項將一個字元串格式化為兩個雙引號括起,對內部字元做恰當的轉義處理的字元串。 該字元串可以安全地被 Lua 解釋器讀回來。
希望能幫到你,謝謝!
② 圖形化編程如何拼代碼設計撞球游戲
使用圖形宴戚化編程可以更容易地進行代碼設計,但是你也需要具備必要的基礎知識,如編程語言、數學和設計思維。可以通過設計不同的類,定義每個類的屬性和行為,巧岩然後把它們連接起來,實現一晌寬陵款撞球游戲。
③ 用VB編程:怎麼編乒乓球游戲的一些部分!答好加分!!!
樓主要完整的Code實在不太現實,如果只是樓主所說的球在板上反彈,以及格子里反彈這部分沒有解決的話,我給你個參考性建議吧氏基侍,你去找個反彈球的游戲代碼借鑒一下,這種游戲很多,代碼都是公開的,比如檯球游戲的、反彈球拆房子游戲的(這個游戲實在不知道叫什麼名字,不過很常見的,基本上隨便一個手機殲吵上都有)。這個你可以借鑒一下,其實實現起來並不復雜,希望對你有所幫鋒清助!
補充:代碼我看了,有點難讀,我英語不是太好,樓主能加點注釋嗎。。。
④ 怎麼用編程開發個游戲
第一就是游戲邏輯,也就是與平台無關的游戲邏輯的開發。
第二部分是游戲引擎,大部分會用到一些引擎的工作流、一些各種系統封裝好的高層的API。
但是小游戲有一個重要的一個限制是禁止動態執行代碼,開發者必須先提交審核,在審核通過後才可以上架給普通用戶。另外,小游戲包括引擎的代碼量比較大,所以限制大小比小程序要大,首包限制大小為4M。
⑤ 如何自己編程做游戲
自己學編程做游戲需要學習、了解以下幾樣東西:
1、知道自己想做什麼類型的游戲,手游、主機、PC,明確後選擇游戲引擎。
什麼是編程:
編程是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。
編程:設計具備邏輯流動作用的一種「可控體系」【註:編程不一定是針對計算機程序而言的,針對具備邏輯計算力的體系,都可以算編程。】
⑥ 如何編程游戲
當下互聯網行業發展迅速,與之相關的產業大多發展都很好,游戲設計的前景自然也是相當不錯的。一個游戲問世要經歷很多環節,劇本設計,原畫創作,場景建模,但核心部分還是編程語言開發。
主要學的內容如下:
1.游戲程序設計:C++程序設計入門;基本數據類型和輸入輸出;流程式控制制語句;數組、指針和引用、函數;程序結構和書寫規;范結構體和聯合體、類;繼承與多態;異常處理與程序調試。
2.演算法與數據結構:演算法分析;數據結構;基本演算法;STL的概念與使用;靜態庫與動態庫;XML庫的使用。
3.Win32程序設計:Windows程序入門;Windows消息;GDI繪圖游戲工具與MFC;網路編程基礎。
4.游戲數學和智能應用:游戲中的坐標系;矢量、矩陣;幾何碰撞;物理模擬;人工智慧與尋路演算法。
5.2D游戲技術與應用:2D游戲技術概論;游戲地圖系統;GUI系統;戰斗系統設計;任務系統;優秀的聲音引擎BASS;Cocos2D-X引擎;Box2D物理引擎。
互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。
想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。
祝你學有所成,望採納。
⑦ 關於檯球游戲的C語言編程
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include <告手stdlib.h>
#include<math.h>伍飢
#include<time.h>
#define PATH "D:\\tc30"
#define pi 3.14159265354
#define r 10.0
#define zero 0.01
#define BC 0
#define DISK 2
float R=r+0.5;
struct balltype
{
float x,y;
float dx,dy;
int flag;
}ball[16];
int cx=320-5*r,cy=240;
float power=15.0;
int flag=1,player=0,chang=0;
int hole[6][2]={{17,92},{320,92},{623,92},
{17,388},{320,388},{623,388}};
int plball[2]={0,0},ex=1;
void help()
{ char *fname = { "a/4:left d/6:right w/8:up s/2:down Space:shoot ,or.:power Esc:exit"腔友返 };
setcolor(14);
outtextxy(8,460,fname);
}
void waittime(double t)
{
time_t t1,t2;
double a,b;
a=time(&t1);
while(1)
{
b=time(&t2);
if(b-a>t) break;
}
}
void drawhlep()
{
setbkcolor(9);
setcolor(14);
rectangle(50,50,550,400);
rectangle(50,100,550,145);
settextstyle(0, 0, 4);
outtextxy(150, 60, "Help You!");
rectangle(250,100,400,145);
setcolor(4);
settextstyle(3,0,4);
outtextxy(270,102,"Player1");
outtextxy(420,102,"Player2");
setcolor(14);
rectangle(50,170,550,195);
rectangle(50,220,550,245);
rectangle(50,270,550,295);
rectangle(50,320,550,345);
rectangle(50,370,550,400);
rectangle(400,145,550,245);
rectangle(50,145,250,370);
setcolor(10);
settextstyle(3,0,1);
outtextxy(115,146,"Left");
outtextxy(115,171,"Right");
outtextxy(115,196,"Up");
outtextxy(115,221,"Down");
outtextxy(115,246,"Move Quick");
outtextxy(115,271,"Add");
outtextxy(115,296,"Subtrate");
outtextxy(115,321,"Shoot");
outtextxy(115,346,"Exit");
setcolor(5);
settextstyle(7,0,4);
outtextxy(60,385,"Welcome to ZGQ's Game. QQ:271111716 E-mail:[email protected]");
}
⑧ 如何編程製作一款游戲
一、游戲開發製作的概念
游戲開發是一個過程,為了激發玩家玩游戲熱情,通過遵循設計製作規則,來設計人物、場景等游戲要素。主要流程包括原畫創作、建模、材質、燈光及渲染、骨骼設定、動畫、特效等部分。涉及范疇包括:游戲規則及玩法、視覺藝術、編程、產品化、聲效、編劇、游戲角色、道具、場景、界面等等元素。游戲程序開發歸根到底就是軟體工程,是游戲製造環節中不行短少的重要部分。游液隱清戲程序開發是技術含量最高的,游戲程序員的薪資也相對其他職業高許多,目前游戲職業中游戲程度人才的缺口非常大,供不應求。
二、游戲開發需要具備的知識
游戲本質分析,游戲產業概論、游戲開發流程及職業劃分、玩家需求分析、構思創意及文檔編寫要求、游戲故事設計、游戲元素、規則、任務、系統、關卡設計、游戲平衡設定、界面與操作功能。透視基礎、構圖基礎、結構素描、明暗素描、藝用人體解剖基礎、人物速寫、Adobe軟體應用、造型基礎、游戲美術風格技法、色彩基礎、游戲色彩練習、肖像繪制、質感表現。3DMAX軟體基礎、游戲材質基礎、游戲道具製作、作品渲染游戲場景製作技巧、場景材質製作、卡通角色製作、寫實角色製作、怪物製作。簡單分類的話就是:
1、扎實的演算法知識。主要有:樹或圖的搜索演算法、A*演算法、碰撞檢測演算法、BSP樹、人工智慧
2、相關圖形處理知識。比如:DirectX編程、OpenGL編程、圖形學的相關知識(三維圖形的形體、紋理、貼圖、照明,還有三維對象的消隱演算法比如油畫演算法,Z緩存)和動畫處理知識。如果想深入還要學會幾種三維引擎比如OGRE。
3、扎實的程序語言功底,主要代表為VC、DELPHI和JAVA。其中VC使用最廣,現在比較大的游戲也由此開發;DELPHI功能也很強,很多網游:比如網金、傳奇都用到了DELPHI;JAVA用於開發手機游戲。
三、游戲開發需要學哪些
游戲開發需要學哪些,課程是什麼樣的呢看學游戲程序開發主要有最通用的C及Windows程序設計課程,演算法設計、數據結構、軟體工程、游戲技術,游戲設計方法及流程等課程。所有課程以行業最實用技術為參考,綜合初學者的接受能力精心設計。
1、基礎公共課:游戲概述Photoshop平面軟體及像素美術3dsmax軟體基礎及效果圖製作游戲程序設計基礎及游戲製作原理游戲策劃、製作、測試及運營實踐游戲行業規劃及職業素質。
2、專業技能課:手機2D游戲開發2D游戲開發技術實戰C語言及演算法基礎WIN32程序開發及MFC基礎2D游戲開發實踐行業規劃及職業素質。2D網路游戲開發主要學習內容有網路游戲程序設計、網路游戲演算法設計、2D網路游戲平台設計以及商業實戰項目訓練,包含C、數據結構、演算法基礎、WindowsAPI使用、MFC原理及其應用、2D圖形渲染技術、界面設計與應用。
3、游戲程序方向:Direct3D程序開發基礎3D游戲開發技術實戰游戲引擎的修改與使用網路通訊、資料庫及游戲伺服器、行業規劃及職業素質、游戲綜合項目實戰訓練、基地頂崗項目實訓。
四、游戲開發常用軟體
1、3dsMAX:大多數游戲開發公司美工使用,效率較高,可以獨立製作游戲中所有美術相關資源。
2、Delphi:直接編譯生成可執行攜悶代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
3、Photoshop:PHOTOSHOP是一個很好的圖像編輯軟體,PHOTOSHOP的應用領域很廣泛,在圖像、圖形、文字、視頻、出版各方面都有涉及。
4、MAYA:跟3dsMAX差不多的軟體,因個人喜好而定,MAYA在製作動作的方面較MAX稍差,不過在很多方面這兩款軟體都是可以兼容的。
5、其他:在個人計算機上,可以用目前流性的軟體開發工具,比如:C,C,VC,Delphi,CBuilder等。由於Windows操作系統的普及和其強大的多媒體功能,越來越多的游戲支鬧前持Windows操作系統。
五、學習游戲開發需要了解的常識
1、圖形引擎主要包含游戲中的場景(室內或室外)管理與渲染,角色的動作管理繪制,特效管理與渲染(粒子系統,自然模擬(如水紋,植物等模擬)),光照和材質處理,LOD(LevelObjectDetail)管理等,另外還有圖形數據轉換工具開發,這些工具主要用於把美工用DCC軟體(如3DSMax,Maya,SoftXSI,SoftImage3D等)軟體製作的模型和動作數據以及用Photoshop或painter等工具製作的貼圖,轉化成flash游戲開發程序中用的資源文件。
2、物理引擎主要包含游戲世界中的物體之間、物體和場景之間發生碰撞後的力學模擬,以及發生碰撞後的物體骨骼運動的力學模擬(比較著名的物理引擎有havok公司的gamedynamicssdk,還有opensource的ODE—OpenDynamicsEngine)。
3、游戲開發工具主要包含關卡編輯器,角色編輯器,資源打包管理,DCC軟體的插件工具等開發。
4、支持區域網對戰的網路引擎開發,主要解決區域網網路發包和延遲處理,通訊同步的問題,有同步通訊和非同步通訊兩種做法,非同步通訊用於那些對運行幀速要求比較高的游戲,同步通訊相對非同步通訊來說效率相對低,但是同步通訊的編程模型相對非同步通訊來得簡單一些。
5、游戲引擎主要是把圖形引擎、聲音引擎、物理引擎整合起來,主要針對某個游戲製作一個游戲系統,其包含游戲關卡編輯器,主要用途是可以可視化的對場景進行調整,光照效果和霧化等效果調整,事件設置,道具擺放,NPC設置,另外還有角色編輯器,主要用於編輯角色的屬性和檢查動作數據的正確性。一般日本游戲公司的做法,他們會把關卡編輯器和角色編輯器直接做到游戲中,所有的參數調整都在游戲中通過調試菜單來進行編輯,所以一般他們把這部分調試菜單的功能做的很強大,同時在屏幕上實時的顯示一些重要的信息,這樣做的好處是關卡編輯器調整的效果直接就是游戲的效果,但是對於程序的重用性來說可能不是很好,比如說要用到另外一個游戲項目中就比較難,除非兩個游戲類型相同,只要把場景和角色數據換一下,還有做下一代產品也沒有問題,只要根據式樣增加調試菜單的功能就可以了。
想成為一個游戲開發人員,就得先成為一個很好的程序開發人員。當你成為一個很好的程序開發人員時,就可以考慮學習游戲開發了。成為游戲的測試人員,游戲的藝術人員,或者是游戲設計人員,或者游戲的管理人員都是成為游戲開發人員的前期步驟之一。
⑨ 教你如何使用C語言編寫簡單小游戲
編寫程序,實現如下表所示的5-魔方陣。
17
24
1
8
15
23
5
7
14
16
4
6
13
20
22
10
12
19
21
3
11
18
25
2
9
5-魔方陣
問題分析
所謂「n-魔方陣」,指的是使用1〜n2共n2個自然數排列成一個n×n的方陣,其中n為奇數;該方陣的每行、每列及對角線元素之和都相等,並為一個只與n有關的常數,該常數為n×(n2+1)/2。
例如5-魔方陣,其第一行、第一列及主對角線上各元素之和如下:
第一行元素之和:17+24+1+8+15=65
第一列元素之和:17+23+4+10+11=65
主對角線上元素之和:17+5+13+21+9=65
而
n×(n2+1)/2=5×(52+1)/2=65
可以驗證,5-魔方陣中其餘各行、各列及副對角線上的元素之和也都為65。
假定陣列的行列下標都從0開始,則魔方陣的生成方法為:在第0行中間置1,對從2開始的其餘n2-1個數依次按下列規則存放:
(1)
假定當前數的下標為(i,j),則下一個數的放置位置為當前位置的右上方,即下標為(i-1,j+1)的位置。
(2)
如果當前數在第0行,即i-1小於0,則將下一個數放在最後一行的下一列上,即下標為(n-1,j+1)的位置。
(3)
如果當前數在最後一列上,即j+1大於n-1,則將下一個數放在上一行的第一列上,即下標為(i-1,0)的位置。
(4)
如果當前數是n的倍數,則將下一個數直接放在當前位置的正下方,即下標為(i+1,j)的位置。
演算法設計
在設計演算法時釆用了下面一些方法:
定義array()函數,array()函數的根據輸入的n值,生成並顯示一個魔方陣,當發現n不是奇數時,就加1使之成為奇數。
使用動態內存分配與釋放函數malloc()與free(),在程序執行過程中動態分配與釋放內存,這樣做的好處是使代碼具有通用性,同時提高內存的使用率。
在分配內存時還要注意,由於一個整型數要佔用兩個內存,因此,如果魔方陣中要存放的數有max個,則分配內存時要分配2*max個單元,從而有malloc(max+max)。在malloc()函數中使用max+max而不是2*max是考慮了程序運行的性能。
顯然應該使用二維數組來表示魔方陣,但雖然數組是二維形式的,而由於內存是一維線性的,因此在存取數組元素時,要將雙下標轉換為單個索引編號。在程序中直接定義了指針變數來指向數組空間,即使用malloc()函數分配的內存。