『壹』 製作小游戲的簡單編程軟體
學習編程,從何入手
如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!
==============================================
方案一 Basic語言 & Visual Basic
優點
(1)Basic 簡單易學,很容易上手。
(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控制項讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點
(1)Visual Basic 不是真正的面向對象的開發文具。
(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。
綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。
Basic/Visual Basic簡介
==============================================
方案二 Pascal語言 & Delphi
優點
(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程
『貳』 用c語言拼圖編程程序,或者演算法
你好,我寫了一個C++的,在VS上完美運行,希望能夠幫到你。
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
/*定義全局變數*/
intpuzz[9]; //九格游戲數組
inti=0,j,k; //i初始化界面的提示語,j獲取空格位置,k移動次數
intspace; //空缺位置
/*自定義函數原型*/
voidinterface(); //界面,包括列印充填矩形和數字
voidchange(inta,intb); //交換
voidpress(); //按鍵
voidstart() ; //初始化和判斷是否勝利
voidstart() //初始化和判斷是否勝利
{
inta,b,c;
intstar[22]={300,120,320,160,360,160,320,200,340,240,300,200,260,240,280,200,240,160,280,160,300,120};
k=0;
for(a=0;a<8;a++)
puzz[a]=a+1;
puzz[8]=0;
interface();
for(c=0;c<100;c++) //隨機打亂順序
{
a=rand()%9;
b=(a+2)%8; //關於有無解問題,搞不清楚,引用的
change(a,b);
}
while(1)
{
interface();
for(a=0;a<8;a++)
if(puzz[a]!=a+1)
break;
if(a==8)
{
drawpoly(11,star); //五角星
setcolor(1); //文本「SUCCESSFUL」顏色
setfillstyle(1,4); //五角星填充色
floodfill(300,150,15); //五角星內一點
outtextxy(260,180,"SUCCESSFUL!!");
getch();
start();
}
for(j=0;j<=8;j++)
if(puzz[j]==0)
break;
space=j;
press();
}
}
voidinterface() //界面,包括列印充填矩形和數字
{
clearviewport(); //清楚屏幕圖形
setbkcolor(6); //設置背景色
setfillstyle(2,2); //矩形塊顏色
if(puzz[0]!=0)
bar(160,60,240,140);
if(puzz[1]!=0)
bar(260,60,340,140);
if(puzz[2]!=0)
bar(360,60,440,140);
if(puzz[3]!=0)
bar(160,160,240,240);
if(puzz[4]!=0)
bar(260,160,340,240);
if(puzz[5]!=0)
bar(360,160,440,240);
if(puzz[6]!=0)
bar(160,260,240,340);
if(puzz[7]!=0)
bar(260,260,340,340);
if(puzz[8]!=0)
bar(360,260,440,340);
gotoxy(25,7);
if(puzz[0]!=0)
printf("%d",puzz[0]);
gotoxy(38,7);
if(puzz[1]!=0)
printf("%d",puzz[1]);
gotoxy(50,7);
if(puzz[2]!=0)
printf("%d",puzz[2]);
gotoxy(25,13);
if(puzz[3]!=0)
printf("%d",puzz[3]);
gotoxy(38,13);
if(puzz[4]!=0)
printf("%d",puzz[4]);
gotoxy(50,13);
if(puzz[5]!=0)
printf("%d",puzz[5]);
gotoxy(25,19);
if(puzz[6]!=0)
printf("%d",puzz[6]);
gotoxy(38,19);
if(puzz[7]!=0)
printf("%d",puzz[7]);
gotoxy(50,19);
if(puzz[8]!=0)
printf("%d",puzz[8]);
if(i==0)
{
printf(" Pressanykeytodare");
getch();
}
gotoxy(60,4); //列印移動次數
printf("%dth",k);
i+=1;
return;
}
intmain()
{
intgdriver=VGA,gmode=VGAHI;
initgraph(&gdriver,&gmode,"c:\tc30\BGI");
srand((unsigned)time(NULL)); //播種子
clearviewport(); //清屏
printf(" ///////////////////////////// ");
printf(" ");
printf(" PUZZLEGAME ");
printf(" ");
printf(" ///////////////////////////// ");
printf(" Pressanykeytostartgame");
printf(" PressEsctoexit ");
if(getch()==27)
{
clrscr();
clearviewport();
printf(" ////////////////////////////////// ");
printf(" Seeyounexttime ");
printf(" ////////////////////////////////// ");
printf(" Pressanykeytoexit");
getch();
closegraph();
return0;
}
start();
return0;
}
『叄』 少兒編程如何培養孩子的框架思維
【導讀】在進行少兒編程學習的時候,第一步是當孩子把遇到的問題拆開,變成每一個個小點之後,就需要讓孩子把這些小點串聯起來,形成一個框架,這是學習新事物的第二步,框架思維,培養孩子的框架思維,就是鍛煉孩子把零散元素歸類組合的能力,那麼少兒編程進行孩子框架思維的培養呢?下面我們就來一起看看吧。
1、學習編程,就是學習一種框架的搭建。一個指令代表什麼,一個語言模塊能起到什麼效果,又如何使用這些知識搭建一個可行的框架,使得老師布置的任務在這個框架內可以順利的完成,這是學習編程的孩子每次上課都會思考的內容。
2、老師讓學生們完成一個游戲編程,要求是演示小青蛙過河。那麼學生在對題目進行拆解後,可以搭建的框架有很多。可以是演示青蛙全身運動游過去的,可以只是跳過去的,甚至可以是飛過去的。一切都取決於孩子想要什麼,搭建起來的框架能達到什麼效果。
3、編程就像一個拼圖游戲。孩子需要把被打散的圖片利用框架思維重新歸類,並進行組合。只不過編程會更多樣,更復雜,也更能開發孩子的大腦。
4、在編程這種框架搭建如此多樣的學科里,孩子的框架思維絕不是簡單鍛煉的程度。一個編程學習得好的孩子,會有一種異於常人的歸類構架能力。
學習少兒編程的好處有很多,不僅能培養孩子的框架思維,也能進行邏輯思維等的鍛煉,另外,未來社會的發展必然向智能化轉換,所以提早讓孩子接觸科學智能,對於孩子以後的發展也是有諸多好處的。
『肆』 VB製作拼圖游戲,就是很簡單的那種,網上雖然有很多,但是不太明確, 誰能把步驟發給我啊,分割圖片
步驟:
1,部件引用 pictureclip控制項。
2,pictureclip控制項裝載一個圖像,不要太大,分隔圖像為9塊
pictureclip1.cols=3
pictureclip1.rows=3
3,窗體上放9個image控制項,用控制項數組形式。並調整image控制項的大小為圖像的1/9
4,適當調整窗體大小,以全部顯示出圖像為原則
5,編寫代碼。就是判斷image控制項的位置。如果不想自己寫,網上有很多現成的。如果不想下載,留下聯系方式發送
『伍』 有沒有適合一年級小孩學習編程的軟體啊求推薦
Swift Playgrounds是蘋果公司發布的一款適用於蘋果編程移動端游戲。可以讓學習者從代碼庫直接拖拽一段代碼來實現某個功能,這讓編程看上去更像是拼圖游戲,同時還具備專業的編寫模式,適合低齡學生學習,但是一年級學生連單詞都不認得的話,還是有些難度
『陸』 少兒編程真的能學會編程嗎
少兒編程課程能學會編程。少兒編程主要是鍛煉孩子們的編程思維能力,將英文代碼替換成可視圖形,採用圖形化編程工具,讓孩子們像組裝積木一樣,通過拖拽、點擊等操作,以情景動畫、游戲、積木構建等形式完成某項指令的過程,學習充滿趣味,孩子更願意學習。如需學習少兒編程推薦選擇童程童美。童程童美少兒編程體驗課,點擊可免費報名試聽
孩子們的教育方式已經逐漸改變。80後及90年代的年輕父母除了關注孩子的成績,也更注重孩子的創新、邏輯思維的培養。且隨著人工智慧的發展,少兒編程受到越來越多家長的關注。很多孩子甚至從幼兒園就開始接觸「不插電編程」,對這部分孩子來說,編程是有趣而並不難的游戲。孩子學習的少兒編程是根據年齡階段進行學習,伴隨著孩子的認知水平不斷進階,孩子絕對可以攻克。學少兒編程可以提高孩子邏輯思維、專注力!
想了解更多關於少兒編程的相關內容,推薦咨詢童程童美。童程童美專注少兒編程教育,依託3大學習體系,滿足不同孩子的學習需求。同時,不止教孩子編輯技能,更注重孩子的綜合能力培養,通過編程技能的學習,助力孩子的綜合能力培養踐行美國STEAM教育理念在中國的落地;覆蓋6-18歲全年齡段的學習體系數萬名學員學習檢驗,經過多年打磨,幫助孩子收獲學習力和創新力。
『柒』 VB編程 拼圖游戲怎麼做 求步驟 求代碼
這個問題,請在網路和google搜索"vb拼圖游戲源碼"。游戲只是一種邏輯,這種游戲javascript等其它語言源碼有很多,你可以找找看,參考一下他們的思路。源碼下載,問友源碼網可能比較多些
『捌』 如何用VB編程拼圖游戲
編碼組合
『玖』 如何使用Director編寫「拼圖游戲」
如今,世界上很多大公司都使用 Director 製作自己的多媒體教學光碟。。這其中包括微軟公司,蘋果公司,Adobe 公司等等(盡管這些公司不是多媒體製作公司)。最近,二十世紀福克斯公司推出的「X Files Unrestricted Access」(我最喜歡的電視劇《X 檔案》的資料光碟)中也使用了 Director 和 QuikTime VR 技術。不僅在國外使用 Director 編寫多媒體光碟的人越來越多,國內也有不少人在從事 Director 的編程工作。Director 如今已成為多媒體製作工具事實上的標准。可是比較起來,我們對 Director 使用還處於較低的水平。看過很多國內多媒體公司製作的光碟,大多數的交互控制很簡單,無非是閃動的按鈕和圖像,單擊可進入其它場景,有如幻燈片。估計裡面使用了無數的 goto xx 語句,和充斥了美工製作的大量的二維動畫。這種光碟還不如使用 PowerPoint 來製作(只是個玩笑)。其中原因有很多,其中最重要的是我們的編程人員對 Lingo 語言沒有很好地掌握,這直接影響到對創意的取捨,如果編程人員用 Director 無法實現創意,很多原先的構思將被撤消,因此,編程人員對 Lingo 語言的運用直接影響到最終產品優劣。這需要更多的 Director 編程人員充分掌握 Lingo 。我僅在此拋磚引玉,將我使用 Director 製作小游戲的經驗與眾多的 Director 愛好者分享。
很多人都玩過「拼圖游戲」,我很早以前就是個「拼圖游戲」的愛好者,。最早是玩蘋果電腦(Macintosh)上拼圖游戲 puzzle 。後來,一個很偶然的機會,我得到一張蘋果版的 Adobe Illustrator 的安裝光碟。意外的發現上面有一個維娜斯頭像(此為 Illustrator 的啟動屏幕)的拼圖游戲,並發現它是使用 Director 編寫的(香港方面用 Director 4.0 製作的《和劉小慧的一個星期》也設計了一個拼圖游戲)。當時我已經開始使用 Director 編寫多媒體演示程序(那是 1995 年),但是缺少對 Lingo 的高級功能的掌握,往往我所編寫的程序使用了不少函數,而對列表和對象這樣的數據結構卻從未使用過。在某些情況下,這種編程經常是事倍功半。三年前,我使用 Director 編寫了第一個「拼圖游戲」,這個版本費了我很長時間(大約一個星期),程序代碼很長,也很亂。後來連我自己都有些看不懂了。隨著我對 Lingo 的日益了解,逐漸發現在以前編寫的程序中沒有使用列表是多麼的愚蠢。幾天前,我重新用 Director 編寫了新版本的「拼圖游戲」。不僅原代碼減小了(更易於理解),而且僅花費了兩個小時。現在我們逐步分析如何用 Director 編寫「拼圖游戲」。
使用列表是編寫「拼圖游戲」的關鍵,可以說列表在 Lingo 編程中比對象更為關鍵。因為使用 Lingo 面向對象功能的用戶要比使用其傳統數據結構功能的用戶要少(國外使用 Lingo 對象的用戶很多)。我所編寫「拼圖游戲」的界面如下圖:
首先,我製作了 16 個 BMP 格式的拼圖,每個為每個為 100 * 100 像素大小。分別代表上圖中 16 個小拼圖,命名為 1.bmp,2.bmp,3.bmp,4.bmp,5.bmp,……並將這 16 個文件導入
Director 中。它們分別是角色庫中的 1 到 16 位的角色。如下圖:同時,我們將這 16 個拼圖依次排列在 1 到 16 號通道上,如下圖:
現在,我們要討論使用 Director 編寫「拼圖游戲」的思路。Lingo 中的在線替換角色函數the memberNum of sprite 是其中所用到的最重要的函數。我們正是通過滑鼠單擊在相應的精靈通道上時,將所單擊的精靈的角色替換為 16 個拼圖中唯一的一個空白點陣圖角色。這其中有幾個難點需要注意。第一,這種替換並非是任意的,只有空白周圍垂直和水平方向的拼圖才可以移動。舉例說明,見下圖:
上圖空白塊的周圍只有數字為 6,9,7,14 的拼圖才可以移動。而其它拼圖在單擊時,將不會與空白處相互替換。這需要建立空白塊在不同通道時的可以移動通道列表。這里用到了一個全局變數 gEmpty,它用來存儲角色為空白的通道號;第二,每次啟動該「拼圖游戲」時,必須隨機排列此拼圖,而且每次圖案都不相同。這就必須建立一個每個通道的角色列表;第三,必須建立一個判定條件,最終玩家拼出如第一個圖所示的圖案,則表明玩家已經成功地拼出圖形。這需要建立一個列表,即最終圖案中各個通道中的角色庫列表,也就是列表 Finish = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]。為了和最終列表 Finish 比較,在當前幀循環時,每次退出當前幀都要生成一個臨時的各個通道的角色列表;還有一點,第一次進入循環幀時需要根據隨機列表作所有通道的角色替換,而以後幾次循環時每次進入循環幀則不需要,因此需要一個判定變數以判定是否為第一次進入循環幀。
看起來很復雜,但實際做一遍並沒有那麼麻煩,相對使用別的高級語言來編寫此程序,Lingo 需要您使用新的思路來考慮編程。它使您不用涉及許多編程細節,而更多的考慮解決問題的方法,而它又沒有傳統腳本語言那麼功能貧乏。
首先,我們需要自己編寫幾個函數(或個人句柄)。
第一個函數是生成 16 個隨機列表的函數 generateList。
它的具體代碼如下:
on generateList
global gEmpty,randomList
set randomList = []
repeat with x = 1 to 16
addAt(randomList,random(x),x)
end repeat
end
因為 Lingo 沒有提供對列表隨機排列的功能,所以這里使用了來自 Tab Julius 先生的《Lingo !高級指南》中的一段代碼,它非常巧妙地通過循環語句中使用 addAt(),random()函數生成隨機列表。它在循環中先隨機產生列表位置,並將其賦予 1-16 中的值,當 addAt()函數向列表中相同位置添加值時,它會將位置推後,這種特殊的工作方式將不會出現重復現象。
第二個函數也是最重要的一個函數 exchange()。 它有一個參數,。此參數為通道號。當在一個與空白垂直或水平相鄰的拼圖上單擊時,應將二者的角色對換,即,空白所在的通道將角色換為被單擊的通道的角色,而單擊的通道的角色換為空白。並將被單擊的通道號賦予標識空白所在通道的變數 gEmpty。函數中的變數 x 為臨時變數,用於作替換時暫存數據。
on exchange n
global gEmpty
set x to the memberNum of sprite gEmpty
set the memberNum of sprite gEmpty to the memberNum of sprite n
set the memberNum of sprite n to x
updatestage
set gEmpty = n
end
此函數用在每個循環幀中 1-16 號通道,用法如下:
on mouseup
if inList(1) then
exchange 1
puppetsound "click"
end if
end
這里用到了另一個編寫的函數 inList(),此函數用於判別當前被單擊的通道是否在可移動列表 M 中,如果是在列表 M 中,則返回 TRUE。
函數 inList() 代碼如下:
on inList cnt
set countnum = count(M)
repeat with x = 1 to countnum
if cnt = getAt(M,x) then
return TRUE
exit repeat
end if
end repeat
end
其中 M 為當前可移動通道號列表,首先函數使用 count()函數計算列表 M 中成員的個數,並將其賦予變數 countnum,變數 countnum 為循環檢測的終止變數。循環語句中,判定 inList() 的參數 cnt 是否在列表 M 中。如果在其中,則返回 TRUE,並退出循環。
另外一個函數是 move(),它將返回當前可移動通道列表。
on move sth
return getAt(mList,sth)
end
它根據空白所在通道號來返回當前可移動拼圖通道號列表。這里我使用了一個二維列表 mList = [m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16],其中 m1,m2,m3,……為空白在 1,2,3,4,5,……時,可移動通道號列表。舉例,如第一張圖,當空白處為 16 號通道,可以移動的通道為 12 和 15 ,即,m16 = [12,15]。所有這些列表將在on startmovie 事件句柄中初始化。