① 有哪些學習編程的網站
1、Codewars
Codewars經常被拿來和LeetCode比較。
Codewars雖然沒有C和C+的題目,但是砌牆式進階受到不少程序員的青睞。
不同等級有不同的題目,當然你也就獲得不一樣的經驗值。
2、LeetCode
leetcode上題目分easy,medium,hard三個難度。
LeetCode為用戶提供了各種主流編程語言,比如C++、Java、Python、C、C#、Java等。
3、CodeEval
CodeEval可以支持程序員建立一個產品或者應用,並得到現金獎勵作為回報。
可以讓開發者宣傳他們在自己工作領域的經驗。
4、HackerRank
至少有100多萬程序員使用HackerRank。程序員通過挑戰編程,可以提高自己的技能。
HackerRank有一個選手積分榜,你解決了問題就可以獲得相對應的積分。積分越多,你的個人戰績排名越靠前。
5、CodinGame
CodinGame支持超過20種編程語言,例如Python、Ruby、Java、Scala等。
它將編程變成游戲,在玩游戲時,會遇到許多具有挑戰性的編碼問題,我們需要想法設法完成挑戰。
6、OverAPI.com
一個能查詢到所有與編程相關的各種技術的網站,還能給出詳細的知識點。真是太良心的網站。
② py是什麼游戲平台
py俗稱大蟒蛇平台,是一個游戲程序設計平台,本質是計算機程序設計語言。
Python具有腳本語言中最豐富和強大的類庫,足以支持絕大多數日常應用。在Symbina智伍辯慶能手機上支持C++和JAVA開發的兩類程序, 裝上Python後,也就可以支持眾多以Python開發的各種程序。
簡介:
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum於1990 年代初設計,作為一門叫做ABC語言的替代品。
Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態類型,以及解釋型語言的本質,使它成為多數平台上寫腳本和快速開發應用的編灶液程語言,隨著版本的不斷更新和語言新功能的添加,逐漸腔握被用於獨立的、大型項目的開發。
③ 游戲製作主要使用的編程語言有哪些,在哪裡可以學習呢
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y17r-2052226076913389747
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y17r-2052226076913389747
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
④ 學編程沒人帶推薦10個免費學編程的最佳網站給你
學習編程是開啟你的Web開發和移動應用開發職業生涯的一種絕佳方式。在這篇文章中,我們將分享10個有助你學編程的最佳網站。
它是學編程最流行的網站之一。事實上,2000萬人已經使用這個網站來學習編程了。你只需要注冊一個免費帳戶,便可以開始挑選你想學的第一門編程語言。它包括了CSS、HTML、JavaScript、jQuery和PHP等。
這是一個學習Web開發非常棒的地方。尤其是你想學習編程語言是js,那麼,這個網站將是你的首選。網站中包含了Node.js、Angular.js和Express.js等內容。在這個網站學習最好之處就是,你可以建立一些非營利的項目,它們可以幫助你積累真實項目的經驗。
這是一個神奇的地方。你可以繼續你的開發之旅,並且可以進一步提高你的技能。在這里,你可以立刻學習大量的免費課程,同時可以利用截圖、視頻教程來指導你的學習。更多編程挑戰也等待你的測試哦!
在這里,有很多針對Rails和Ruby開發人員的在線課程。當然,CSS、HTML和JavaScript也是網站課程體系的一部分。同時,為你還提供了很多其他的項目。
事實上,這是由David J.馬蘭教授主講的一系列免費的計算機科學課程。即使你沒有編程經驗,這也是開始編程學習的最佳途徑之一。在學習的過程中,你不僅將學習諸如演算法、開發、封裝以及數據結構的主題內容,而且會對 C、JavaScript、SQL、 CSS和 HTML等其他編程語言進行了解。
HTML Dog是一個偉大的地方。在這里匯集了CSS、HTML和JavaScript大量的教程資源,它還可以幫助一個初學者學習任何上述的語言。同時,這個網站還能指導你學習如何實現CSS下拉框、自定義404錯誤頁面等一部分web設計的內容。
這是一個你可以學到很多計算機課程的免費在線資源網站。計算機編程部分內容包括CSS、HTML、SQL和JavaScript。在這里也有大量的互動式視頻和編程挑戰,通過提供信息和提示的方式來指導你的練習。
一個在線演示代碼編寫過程的網站。它將幫助你學習CSS、HTML和JavaScript等前端技術。你可以邊看邊學,還可以回放編碼過程,是不是很酷呢!CSS線框、HTML5貪吃蛇 游戲 以及JavaScript就是一些常見的例子。
這是一個了不起的,學習與提高編程技能的在線學習平台。你可以在這里選擇眾多流行的編程語言來學習,如PHP、CSS、Python、HTML和Java。此外,你還可以學習到UX設計、Photoshop等一些網頁設計方面的內容。當你通過每門課程的測試後,你還會得到相應的結業證書。
這是另一個可以提高你的編程技術,以及程序開發技能的課程網站。這些課程由軟體巨頭Facebook, Google中的行業專家進行講授。通過在Udacity的學習,你將踏上Android開發、Java、Git和iOS應用開發的學習之路。
⑤ 有什麼途徑可以學習游戲編程
⑥ 如何學動畫游戲編程有好的培訓學校嗎
你可以先去【繪學霸】網站找「動畫製作技術」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=310&zdhhr-11y13r-231832272
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】:
www.cgwang.com/course/ysdhaaa/?zdhhr-11y13r-231832272
在「動畫製作技術」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
⑦ 我想學游戲編程要怎麼學呢~(我一點都不會...)
先送裂芹你一個猜數游戲:
program c_k;
var a,b,c:integer;
begin
randomize;
a:=random(100);
c:=0;
repeat
c:=c+1;
write('please input b:'余握);
readln(b);
if b>a then writeln('豎源慶Too big')
else if b<a then writeln('Too small')
else if b=a tehn writeln('you are right');
until (c=10) or (a=b);
if c=10 then writeln('you false,the number is:',a);
readln;readln;
end.
再送你一個坦克大戰程序:
program tanke;
uses crt,graph;
type
type1=record
h,l,f:integer;
end;
time=record
ms,s,m:integer;
end;
const fx:array[1..4,1..2] of -1..1=((-1,0),(0,-1),(1,0),(0,1));
var t:time;
tank:type1;
bomb:array[1..20]of type1;
diren:array[1..8]of type1;
fire:array[1..20]of type1;
u,d,l,r,gu,gd,gl,gr:char;
lf:boolean;
procere initg;
var gd,gm:integer;
begin
gd:=detect;
initgraph(gd,gm,'');
end;
procere pushtype1(l,h,f:integer;var a:array of type1);
var i:integer;
begin
for i:=1 to high(a) do
if a[i].f<=0 then
begin
a[i].h:=h;a[i].l:=l;a[i].f:=f;
exit;
end;
end;
procere print;
var i,j:integer;
begin
setfillstyle(white,1);
bar(0,0,600,400);
for i:=1 to high(fire) do
with fire[i] do
if f>0 then
begin
setcolor(red);
line(l*40-20,h*40-20,l*40-1,h*40-1);
line(l*40-20,h*40-20,l*40-1,h*40-10);
line(l*40-20,h*40-20,l*40-1,h*40-20);
line(l*40-20,h*40-20,l*40-1,h*40-30);
line(l*40-20,h*40-20,l*40-1,h*40-40);
line(l*40-20,h*40-20,l*40-40,h*40-1);
line(l*40-20,h*40-20,l*40-40,h*40-10);
line(l*40-20,h*40-20,l*40-40,h*40-20);
line(l*40-20,h*40-20,l*40-40,h*40-30);
line(l*40-20,h*40-20,l*40-40,h*40-40);
line(l*40-20,h*40-20,l*40-20,h*40-1);
line(l*40-20,h*40-20,l*40-30,h*40-1);
line(l*40-20,h*40-20,l*40-10,h*40-40);
line(l*40-20,h*40-20,l*40-10,h*40-1);
line(l*40-20,h*40-20,l*40-20,h*40-40);
line(l*40-20,h*40-20,l*40-30,h*40-40);
end;
for i:=1 to high(bomb) do
with bomb[i] do
if f>0 then
begin
setcolor(blue);
circle((l-1)*40+20,(h-1)*40+20,5);
end;
for i:=1 to high(diren) do
with diren[i] do
if f>0 then
begin
setcolor(11);
line((l-1)*40+5,(h-1)*40+1,(l-1)*40+15,(h-1)*40+10);
line((l-1)*40+15,(h-1)*40+10,(l-1)*40+10,(h-1)*40+15);
line((l-1)*40+10,(h-1)*40+15,(l-1)*40+1,(h-1)*40+5);
line((l-1)*40+1,(h-1)*40+5,(l-1)*40+5,(h-1)*40+1);
line((l-1)*40+35,(h-1)*40+1,(l-1)*40+25,(h-1)*40+10);
line((l-1)*40+25,(h-1)*40+10,(l-1)*40+30,(h-1)*40+15);
line((l-1)*40+30,(h-1)*40+15,(l-1)*40+40,(h-1)*40+5);
line((l-1)*40+40,(h-1)*40+5,(l-1)*40+35,(h-1)*40+1);
line((l-1)*40+5,(h-1)*40+40,(l-1)*40+15,(h-1)*40+30);
line((l-1)*40+15,(h-1)*40+30,(l-1)*40+10,(h-1)*40+25);
line((l-1)*40+10,(h-1)*40+25,(l-1)*40+1,(h-1)*40+35);
line((l-1)*40+1,(h-1)*40+35,(l-1)*40+5,(h-1)*40+40);
line((l-1)*40+35,(h-1)*40+40,(l-1)*40+25,(h-1)*40+30);
line((l-1)*40+25,(h-1)*40+30,(l-1)*40+30,(h-1)*40+25);
line((l-1)*40+30,(h-1)*40+25,(l-1)*40+40,(h-1)*40+35);
line((l-1)*40+40,(h-1)*40+35,(l-1)*40+35,(h-1)*40+40);
line((l-1)*40+15,(h-1)*40+10,(l-1)*40+25,(h-1)*40+10);
line((l-1)*40+30,(h-1)*40+15,(l-1)*40+30,(h-1)*40+25);
line((l-1)*40+10,(h-1)*40+15,(l-1)*40+15,(h-1)*40+25);
line((l-1)*40+15,(h-1)*40+30,(l-1)*40+25,(h-1)*40+30);
setcolor(red);
circle((l-1)*40+20,(h-1)*40+20,6);
end;
with tank do
begin
if f>0 then setcolor(green)
else setcolor(red);
case f of
0,1:begin
setcolor(green);
line((l-1)*40+1,(h-1)*40+10,(l-1)*40+1,(h-1)*40+40);
line((l-1)*40+10,(h-1)*40+10,(l-1)*40+10,(h-1)*40+40);
line((l-1)*40+1,(h-1)*40+10,(l-1)*40+10,(h-1)*40+10);
line((l-1)*40+1,(h-1)*40+40,(l-1)*40+10,(h-1)*40+40);
line((l-1)*40+30,(h-1)*40+10,(l-1)*40+30,(h-1)*40+40);
line((l-1)*40+40,(h-1)*40+10,(l-1)*40+40,(h-1)*40+40);
line((l-1)*40+30,(h-1)*40+10,(l-1)*40+40,(h-1)*40+10);
line((l-1)*40+30,(h-1)*40+40,(l-1)*40+40,(h-1)*40+40);
line((l-1)*40+10,(h-1)*40+15,(l-1)*40+30,(h-1)*40+15);
line((l-1)*40+10,(h-1)*40+35,(l-1)*40+30,(h-1)*40+35);
line((l-1)*40+1,(h-1)*40+20,(l-1)*40+10,(h-1)*40+20);
line((l-1)*40+1,(h-1)*40+30,(l-1)*40+10,(h-1)*40+30);
line((l-1)*40+30,(h-1)*40+20,(l-1)*40+40,(h-1)*40+20);
line((l-1)*40+30,(h-1)*40+30,(l-1)*40+40,(h-1)*40+30);
line((l-1)*40+15,(h-1)*40+1,(l-1)*40+25,(h-1)*40+1);
line((l-1)*40+15,(h-1)*40+1,(l-1)*40+15,(h-1)*40+15);
line((l-1)*40+25,(h-1)*40+1,(l-1)*40+25,(h-1)*40+15);
circle((l-1)*40+20,(h-1)*40+25,5);
end;
2:begin
line((l-1)*40+10,(h-1)*40+1,(l-1)*40+40,(h-1)*40+1);
line((l-1)*40+10,(h-1)*40+10,(l-1)*40+40,(h-1)*40+10);
line((l-1)*40+10,(h-1)*40+1,(l-1)*40+10,(h-1)*40+10);
line((l-1)*40+40,(h-1)*40+1,(l-1)*40+40,(h-1)*40+10);
line((l-1)*40+10,(h-1)*40+30,(l-1)*40+40,(h-1)*40+30);
line((l-1)*40+10,(h-1)*40+40,(l-1)*40+40,(h-1)*40+40);
line((l-1)*40+10,(h-1)*40+30,(l-1)*40+10,(h-1)*40+40);
line((l-1)*40+40,(h-1)*40+30,(l-1)*40+40,(h-1)*40+40);
line((l-1)*40+15,(h-1)*40+10,(l-1)*40+15,(h-1)*40+30);
line((l-1)*40+35,(h-1)*40+10,(l-1)*40+35,(h-1)*40+30);
line((l-1)*40+20,(h-1)*40+1,(l-1)*40+20,(h-1)*40+10);
line((l-1)*40+30,(h-1)*40+1,(l-1)*40+30,(h-1)*40+10);
line((l-1)*40+20,(h-1)*40+30,(l-1)*40+20,(h-1)*40+40);
line((l-1)*40+30,(h-1)*40+30,(l-1)*40+30,(h-1)*40+40);
line((l-1)*40+1,(h-1)*40+15,(l-1)*40+1,(h-1)*40+25);
line((l-1)*40+1,(h-1)*40+15,(l-1)*40+15,(h-1)*40+15);
line((l-1)*40+1,(h-1)*40+25,(l-1)*40+15,(h-1)*40+25);
circle((l-1)*40+25,(h-1)*40+20,5);
end;
3:begin
setcolor(green);
line((l-1)*40+40,(h-1)*40+30,(l-1)*40+40,(h-1)*40+1);
line((l-1)*40+30,(h-1)*40+30,(l-1)*40+30,(h-1)*40+1);
line((l-1)*40+40,(h-1)*40+30,(l-1)*40+30,(h-1)*40+30);
line((l-1)*40+40,(h-1)*40+1,(l-1)*40+30,(h-1)*40+1);
line((l-1)*40+40,(h-1)*40+1,(l-1)*40+30,(h-1)*40+1);
line((l-1)*40+10,(h-1)*40+30,(l-1)*40+10,(h-1)*40+1);
line((l-1)*40+1,(h-1)*40+30,(l-1)*40+1,(h-1)*40+1);
line((l-1)*40+10,(h-1)*40+30,(l-1)*40+1,(h-1)*40+30);
line((l-1)*40+10,(h-1)*40+1,(l-1)*40+1,(h-1)*40+1);
line((l-1)*40+30,(h-1)*40+25,(l-1)*40+10,(h-1)*40+25);
line((l-1)*40+30,(h-1)*40+25,(l-1)*40+10,(h-1)*40+25);
line((l-1)*40+30,(h-1)*40+5,(l-1)*40+10,(h-1)*40+5);
line((l-1)*40+40,(h-1)*40+20,(l-1)*40+30,(h-1)*40+20);
line((l-1)*40+40,(h-1)*40+10,(l-1)*40+30,(h-1)*40+10);
line((l-1)*40+10,(h-1)*40+20,(l-1)*40+1,(h-1)*40+20);
line((l-1)*40+10,(h-1)*40+10,(l-1)*40+1,(h-1)*40+10);
line((l-1)*40+25,(h-1)*40+40,(l-1)*40+15,(h-1)*40+40);
line((l-1)*40+25,(h-1)*40+40,(l-1)*40+25,(h-1)*40+25);
line((l-1)*40+15,(h-1)*40+40,(l-1)*40+15,(h-1)*40+25);
circle((l-1)*40+20,(h-1)*40+15,5);
end;
4:begin
setcolor(green);
line((l-1)*40+30,(h-1)*40+40,(l-1)*40+1,(h-1)*40+40);
line((l-1)*40+30,(h-1)*40+30,(l-1)*40+1,(h-1)*40+30);
line((l-1)*40+30,(h-1)*40+40,(l-1)*40+30,(h-1)*40+30);
line((l-1)*40+1,(h-1)*40+40,(l-1)*40+1,(h-1)*40+30);
line((l-1)*40+30,(h-1)*40+10,(l-1)*40+1,(h-1)*40+10);
line((l-1)*40+30,(h-1)*40+1,(l-1)*40+1,(h-1)*40+1);
line((l-1)*40+30,(h-1)*40+10,(l-1)*40+30,(h-1)*40+1);
line((l-1)*40+1,(h-1)*40+10,(l-1)*40+1,(h-1)*40+1);
line((l-1)*40+25,(h-1)*40+30,(l-1)*40+25,(h-1)*40+10);
line((l-1)*40+5,(h-1)*40+30,(l-1)*40+5,(h-1)*40+10);
line((l-1)*40+20,(h-1)*40+40,(l-1)*40+20,(h-1)*40+30);
line((l-1)*40+10,(h-1)*40+40,(l-1)*40+10,(h-1)*40+30);
line((l-1)*40+20,(h-1)*40+10,(l-1)*40+20,(h-1)*40+1);
line((l-1)*40+10,(h-1)*40+10,(l-1)*40+10,(h-1)*40+1);
line((l-1)*40+40,(h-1)*40+25,(l-1)*40+40,(h-1)*40+15);
line((l-1)*40+40,(h-1)*40+25,(l-1)*40+25,(h-1)*40+25);
line((l-1)*40+40,(h-1)*40+15,(l-1)*40+25,(h-1)*40+15);
circle((l-1)*40+15,(h-1)*40+20,5);
end;
end;{case}
end;{with}
end;
procere runtank(ch:char);
begin
case ch of
'i':if tank.h>1 then dec(tank.h);
'k':if tank.h<10 then inc(tank.h);
'j':if tank.l>1 then dec(tank.l);
'l':if tank.l<15 then inc(tank.l);
'8':tank.f:=1;
'4':tank.f:=2;
'5':tank.f:=3;
'6':tank.f:=4;
'0':pushtype1(tank.l,tank.h,tank.f,bomb);
'q':halt;
end;
end;
function win:boolean;
var i:integer;
begin
for i:=1 to high(diren) do
if diren[i].f>0 then begin win:=false;exit;end;
win:=true;
end;
function lost:boolean;
var i:integer;
begin
for i:=1 to high(diren) do
if (diren[i].h=tank.h) and (diren[i].l=tank.l) and (diren[i].f>0) then
begin lost:=true;exit;end;
lost:=false;
end;
procere runbomb;
var i,hh,hl:integer;
begin
for i:=1 to high(bomb) do
with bomb[i] do
if f>0 then
begin
hh:=hh+fx[f,1];
hl:=l+fx[f,2];
if(hl in [1..15])and
(hh in [1..10]) then
begin
h:=hh;
l:=hl;
end
else begin f:=0;pushtype1(l,h,5,fire);end;
end;
end;
procere runfire;
var i:integer;
begin
for i:=1 to high(fire) do
begin
if fire[i].f>0 then dec(fire[i].f);
end;
end;
procere rundiren;
var s:set of 1..4;
i,j,k,hh1,hh2,hl1,hl2:integer;
begin
for i:=1 to high(diren) do
with diren[i] do
if f>0 then
begin
if h>tank.h then dec(h)
else if h<tank.h then inc(h);
if l<tank.l then inc(l)
else if l>tank.l then dec(l);
end;
end;
procere check;
var i,j:integer;
begin
for i:=1 to high(diren) do
with diren[i] do
if f>0 then
begin
for j:=1 to high(bomb) do
if (bomb[j].h=h) and (bomb[j].l=l) and (bomb[j].f>0)
and ((bomb[j].h<>tank.h) or (bomb[j].l<>tank.l)) then
begin
bomb[j].f:=0;f:=0;break;
end;
end;
end;
procere inittank;
var y:integer;
ch:char;
begin
settextstyle(7,horizdir,6);
setcolor(white);
outtextxy(10,10,'Tank2:Crazy tank');
settextstyle(1,horizdir,1);
y:=100;
outtextxy(50,y,'Mase by WangYu');
inc(y,textheight('H')+1);
outtextxy(50,y,'Ctrl key:');
inc(y,textheight('H')+1);
outtextxy(50,y,'Up:i Left:j Right:l Down:k Exit:q');
inc(y,textheight('H')+1);
outtextxy(50,y,'GunUp:8 GunLeft:4 GunRight:6 Fire:0');
inc(y,textheight('H')+100);
outtextxy(50,y,'Pressed Enter to continue');
repeat ch:=readkey;until ch=#13;
end;
procere init(ds:integer);
var i:integer;
st:string;
begin
fillchar(t,sizeof(t),0);
fillchar(diren,sizeof(diren),0);
fillchar(fire,sizeof(fire),0);
fillchar(bomb,sizeof(bomb),0);
tank.h:=5;tank.l:=8;tank.f:=1;
with diren[1] do begin h:=1;l:=7;f:=0;end;
with diren[2] do begin h:=10;l:=7;f:=0;end;
with diren[3] do begin h:=1;l:=1;f:=0;end;
with diren[4] do begin h:=10;l:=15;f:=0;end;
with diren[5] do begin h:=1;l:=15;f:=0;end;
with diren[6] do begin h:=10;l:=1;f:=0;end;
with diren[7] do begin h:=6;l:=1;f:=0;end;
with diren[8] do begin h:=6;l:=15;f:=0;end;
for i:=1 to ds do diren[i].f:=1;
str(ds,st);
print;
setcolor(black);
outtextxy(200,200,'Level'+st);
readkey;
end;
procere main;
var ch:char;
begin
while not lost and not win do
begin
delay(50);
with t do
begin
inc(ms,50);
if ms>=1000 then
begin
ms:=0;
inc(s);
if s>=60 then
s:=0;
inc(m);
end;
end;
if keypressed then
begin
ch:=readkey;
runtank(ch);
end;
if t.ms mod 200=0 then rundiren;
if t.ms mod 100=0 then check;
if t.ms mod 100=0 then begin runbomb;lf:=true;end;
if t.ms mod 100=0 then runfire;
print;
end;
setcolor(black);
if win then outtextxy(200,200,'You win!!!')
else outtextxy(200,200,'You lost!!!');
repeat
ch:=readkey;
until ch=#13;
end;
var level:integer;
begin
initg;
inittank;
for level:=1 to 8 do
begin
init(level);
main;
if lost then dec(level);
end;
end.
這是每個游戲編程FAQ里都有的問題。這個問題每星期都會在游戲開發論壇上被問上好幾次。這是個很好的問題,但是,沒人能給出簡單的答案。在某些應用程序中,總有一些計算機語言優於其他語言。下面是幾種用於編寫游戲的主要編程語言的介紹及其優缺點。希望這篇文章能幫助你做出決定。
可以編一個最簡單的猜數游戲
我這有一個俄羅斯方塊源碼:
USES Crt;
CONST
Change:Array [0..6,0..3,0..7] Of Byte =(((0,1,1,1,2,1,3,1),(1,0,1,1,1,2,1,3),(0,1,1,1,2,1,3,1),(1,0,1,1,1,2,1,3)),
((1,0,0,1,1,1,2,1),(1,0,1,1,1,2,2,1),(0,1,1,1,2,1,1,2),(1,0,0,1,1,1,1,2)),
((1,0,2,0,1,1,2,1),(1,0,2,0,1,1,2,1),(1,0,2,0,1,1,2,1),(1,0,2,0,1,1,2,1)),
((1,0,2,0,0,1,1,1),(0,0,0,1,1,1,1,2),(1,0,2,0,0,1,1,1),(0,0,0,1,1,1,1,2)),
((0,0,1,0,1,1,2,1),(1,0,0,1,1,1,0,2),(0,0,1,0,1,1,2,1),(1,0,0,1,1,1,0,2)),
((1,0,2,0,1,1,1,2),(0,0,0,1,1,1,2,1),(1,0,0,2,1,1,1,2),(2,2,0,1,1,1,2,1)),
((0,0,1,0,1,1,1,2),(2,0,0,1,1,1,2,1),(2,2,1,0,1,1,1,2),(0,2,0,1,1,1,2,1)));
VAR
Board:Array [0..3,0..11,1..25] Of Byte;
Players,N,Nowx,Nowy,Kind,Trans,Speed:Byte;
Time,Score:Word;
Now:Array [0..7] Of Byte;
PROCEDURE Furbish;
VAR B,C:Byte;
Begin
For C:=24 Downto 2 Do Begin
Gotoxy(1,C);
For B:=1 To 10 Do
If Board[0,B,C]=0 Then Write(' ')
Else Write('壙');
End;
End;
PROCEDURE Clear;
Var A,B,C:Byte;D:Boolean;
Begin
For A:=24 Downto 1 Do
Begin
D:=True;
For B:=1 To 10 Do
If Board[0,B,A]=0 Then D:=False;
If D=True Then
Begin
Score:=Score+10;Gotoxy(1,1);Write(Score:5,'0');
For C:=A Downto 2 Do
For B:=1 To 10 Do
Board[0,B,C]:=Board[0,B,C-1];
A:=A+1;
End;
End;
Furbish;
End;
FUNCTION Canmove(X,Y:Byte):Boolean;
BEGIN
Canmove:=True;
If Board[0,X+Now[0],Y+Now[1]]>0 Then Canmove:=False;
If Board[0,X+Now[2],Y+Now[3]]>0 Then Canmove:=False;
If Board[0,X+Now[4],Y+Now[5]]>0 Then Canmove:=False;
If Board[0,X+Now[6],Y+Now[7]]>0 Then Canmove:=False;
End;
PROCEDURE Clean;
Begin
Gotoxy((Nowx+Now[0])*2-1,Nowy+Now[1]);Write(' ');
Gotoxy((Nowx+Now[2])*2-1,Nowy+Now[3]);Write(' ');
Gotoxy((Nowx+Now[4])*2-1,Nowy+Now[5]);Write(' ');
Gotoxy((Nowx+Now[6])*2-1,Nowy+Now[7]);Write(' ');
End;
PROCEDURE Show;
Begin
Gotoxy((Nowx+Now[0])*2-1,Nowy+Now[1]);Write('壙');
Gotoxy((Nowx+Now[2])*2-1,Nowy+Now[3]);Write('壙');
Gotoxy((Nowx+Now[4])*2-1,Nowy+Now[5]);Write('壙');
Gotoxy((Nowx+Now[6])*2-1,Nowy+Now[7]);Write('壙');
End;
BEGIN
Fillchar(Board,Sizeof(Board),0);
Randomize;Score:=0;
For N:=1 To 24 Do
Board[0,0,N]:=1;
For N:=1 To 24 Do
Board[0,11,N]:=1;
For N:=1 To 10 Do
Board[0,N,25]:=1;
Window(31,2,50,25);Textcolor(White);Textbackground(Blue);
Clrscr;Window(31,2,51,25);
Speed:=1;
Kind:=Random(7);Trans:=Random(4);Nowx:=4;Nowy:=1;
For N:=0 To 7 Do
Now[N]:=Change[Kind,Trans,N];
While Canmove(Nowx,Nowy) Do
Begin
Repeat
Clean;Nowy:=Nowy+1;Show;
Repeat
If Keypressed Then
Case Upcase(Readkey) Of
#0:Case Readkey Of
#75:If Canmove(Nowx-1,Nowy) Then Begin Clean;Nowx:=Nowx-1;Show;End;
#77:If Canmove(Nowx+1,Nowy) Then Begin Clean;Nowx:=Nowx+1;Show;End;
#80:Begin Clean;Repeat
If Canmove(Nowx,Nowy+1) Then Nowy:=Nowy+1;
Until Not(Canmove(Nowx,Nowy+1));Show;End;
#61:Begin Gotoxy(9,12);Write('Pause');Repeat Delay(1000);Until Keypressed;Furbish;End;
End;
#27:Exit;
' ',#13:Begin
Clean;Trans:=Trans+1;
If Trans=4 Then Trans:=0;
For N:=0 To 7 Do
Now[N]:=Change[Kind,Trans,N];
If Not(Canmove(Nowx,Nowy)) Then Begin Trans:=Trans-1;For N:=0 To 7 Do
Now[N]:=Change[Kind,Trans,N];Show;End
Else Show;
End;
End;
Until Not(Keypressed);
Delay((10-Speed)*50);
Until Not(Canmove(Nowx,Nowy+1));
Score:=Score+1;Gotoxy(1,1);Write(Score:5,'0');Speed:=(Score Div 300)+1;
Board[0,Nowx+Now[0],Nowy+Now[1]]:=1;
Board[0,Nowx+Now[2],Nowy+Now[3]]:=1;
Board[0,Nowx+Now[4],Nowy+Now[5]]:=1;
Board[0,Nowx+Now[6],Nowy+Now[7]]:=1;
Clear;
Kind:=Random(7);Trans:=Random(4);Nowx:=4;Nowy:=1;
For N:=0 To 7 Do
Now[N]:=Change[Kind,Trans,N];
End;
Gotoxy(7,12);Write('GAME OVER');Readln;
END.
⑧ 除了Codecombat 還有哪些編程游戲可以玩
比如:
1、人力資源機器(human resource machine)
《人力資源機器》這款游戲與大家以往所玩過的其他代碼游戲都有所不同,雖然在分類上他屬於一個益智策略類游戲,但是在玩法上他完全是以一個現實中真實存在的職業技能作為基礎而改編的。在游戲中玩家要作為一個公司的小職員,來完成上司交給你的一些任務,而完成任務的方法就是要編寫一個足以達成目標的程序,並且按照程序中的條件進行活動。本作所採用的編程方式其實是一種相當古老的方法,只是符合一般的計算機邏輯思維,想要用這款游戲來學習專業編程似乎沒什麼卵用,不過沒有編程基礎的人玩起來應該會感到不解和困惑,但是看自己所設定的程序可以按照預想的效果來完美運營的話,那股油然而生的成就感絕對會讓自己的心情HIGH到爆炸。
2、康丁游戲CodinGame
CodinGame是一個游戲平台,游戲每一個練習背後的邏輯,都與一個實際的游戲相連,讓你能夠獲得實時視覺反饋,你完成練習之後也能獲得實際的獎勵。
CoinGame支持23種不同的編程語言,其中的每一個游戲練習都可以選擇自己熟悉的語言。在CodinGame平台,每一個練習都是基於瀏覽器的,會提供一個網路集成開發環境,讓你不刷新網頁就可以實時編譯代碼,並實時看到游戲的變化。目前,CodinGame已經吸引到了23萬用戶注冊。
此前,公司已經從天使投資者募集了50萬美元的資金。它們的競爭對手中包括了同樣是創新型編程練習平台的CodeFights,以及類似Treehosue和Code School這類傳統的編程學習網站。
3、代碼戰 CodeFights
CodeFights是一家將練習編程的過程變為游戲過程的初創公司。目前,該公司已經完成240萬的種子資金,以發展實時社交遊戲——在游戲中,碼農們既可以選擇人機對戰模式,也可以選擇挑戰其它玩家。
CodeFights有JavaScript、Java、C++和Python編程挑戰游戲,用戶們需要完成找出Bug的挑戰任務,勝利者就可以獲得相應的徽章。
4、代碼打獵Code Hunt
代碼打獵(Code Hunt)是Microsoft旗下新出的一款教育游戲,對大家感興趣編碼編碼基於瀏覽器的游戲。它供任何對編程有興趣的人學習代碼。該游戲呈現的方式並不是選擇答案的學習題,而是提供了一個可編輯的類似編碼界面,並在右邊不斷跳出程序的運行結果,測試運行結果是否符合要求。
⑨ 可以在線編程的學習類網站有哪些
EdX:一家非營利性質的領先的開源在線學習平台,是由哈佛大學和麻省理工在2012 年創辦的。在這里,你知道自己會學到前沿技術和理論
CodeAcademy:學習編程的最好的地方之一。這里提供各種課程,從HTML & CSS, JavaScript, jQuery, PHP到, Python 和 Ruby
AGupieWare:縱覽美國名校的計算機科學課程,然後基於斯坦福,麻省理工卡內基梅隆、伯克利和哥倫比亞提供的免費課程創建類似的課程。 分成 15 節課, 3 節入門課,7 節核心課和5 節選修課,是計算機編程入門的好地方
Hack.pledge:這是個開發人員社區, 裡面有很多有名的開發人員,可以通過向大神學習,提升自己的編程技能
Code Avengers: 提供趣味十足的互動式編程課程, 教你如何使用JavaScript, HTML 和 CSS.編寫游戲,應用程序和網站
Free Food Camp:通過加入社區,跟專業人士和學生交流,學到 HTML5, CSS3, JavaScript, Databases, DevTools, Node.js, Angular.js 和 Agile
⑩ 200分求C++游戲編程 學習方法
你已經學過C語言,學習C++應該是沒有問題了啊,C++的基本語法和C是互通的! 只不過一個面向對象 一個是面向過程的語言。 你學習C++的話,就要改變C語言開發的思維來寫C++ 。
C++效率高,游戲一般需要運行的非常快,其它語言都不如C++編寫的程序快,所以一般用C++編寫游戲的表現效果是最好的,所以你的選擇很對,當然現學JAVA游戲編程也很好的閉迅伏。
學習編程最重要的是有恆心,多積累經驗,多自己嘗試編些東西,你上面寫的東西說明你已經有了很大的決心,這點很可貴,學習過程中有困難是肯定的,但我憑上面你說的相信你會成功的,建議如下:
找本C++教材,先自己看,推薦
錢能. C++程序設計教程. 第一版.清華大學出版社
然後再學一下VC++,再自己試著多編一些東西,編程最重要的是積累經驗。
寫游戲主要是理解面向對象,OOA,OOD,設計模式 和演算法設計,特別是游戲中設計到的各種尋路演算法,等等。! 完成了上面兩步工作,有空再多看看面向對象編程和設計方面的書籍,UML,設計模式類的書籍,再專門找些游戲編程的書經常研究,你就完全可以從事軟體開發這個很有「前途」的職業了
Visual C++游戲編程人員至少要會的:
c++語言的語法,標准庫
會轎攜使用VC,
了解DirectX編程.
下面的多多益善:
軟體工程,會用某個源代碼管理工具(VSS SVN什麼的)
數據結構和演算法,游戲編程對效率比較關心。
英語, 許多好的資料都是英文的。
經驗, 這個最重昌祥要。
再給你介紹一些網站能找c++游戲編程的資料:
游戲製作人的網路平台www.gameres.com
中國網游研發中心www.ogdev.net
購買游戲編程書籍的專業網站www.dearbook.com
http://..com/question/4986190.html?si=10
學一個月,可以用VC寫一些小程序自己玩玩
學兩個月,可以用VC寫像樣點的東西在周圍人面前炫炫
學三個月,可以用VC給老闆開始幹活了
學六個月,開始重頭去學C++
學一年後,決定要不要繼續,if(繼續) 學習MFC、ATL、STL、C#、BCB、Network、Databa
se、Algorithm... else開始就是個錯誤
學三年後,學會怎麼來用編程語言來解決問題,VC、BCB等都只是解決問題的工具。這時候
你如果還在學C++,你可以從事軟體開發這個很有「前途」的職業了