① 教你如何使用C語言編寫簡單小游戲
愛玩是人的天性,而C語言是我們計算機專業都要學習的一門基礎 學科.一般來說,是比較枯燥的.那麼,我們能不能通過編一些小游戲來提高它的趣味性呢?這樣學習程序設計,就不會是一件艱苦 ,枯燥的事,它變得象電腦游戲一樣充滿好奇,富有樂趣. 1, 總是從Hello,world開始 學習編程的第一個程序,一般就是列印一個親切的詞語——"Hell o,world!".讓我們來看看這個最簡單的C程序:#incolude /*把輸入輸出函數的頭文件包含進來*/int main(){printf("Hello, world!");/*在屏幕上輸出字元串"Hello,world!"*/return 0;/*退出main函數,並返回0*/} 下面我們發現幾個值得改進的地方,1,程序的運行結果一閃而過 .2,每執行這個程序一次都能看見上次運行留下的字元.3,我們 還希望屏幕輸出一個笑臉來歡迎我們. 讓我們來改進一下這個程序吧!1,在return語句的前面加一句:getch ();,表示按任意鍵結束.2,在printf語句前用clrscr函數清屏,要使用這個函數和getch函數,需要在程序開頭再包含頭文件conio.h.3,ASCII碼也有 許多非常好玩的字元,比如ASCII碼值為2的就是一個笑臉,我們可 以用printf("%c", 2)來輸出一個笑臉. 現在我們把Hello,world程序改成一個更好看的Hello,world了.下面讓我們開始做游戲吧! 2, 心動的開始,一個運動中的笑臉 大家小時侯喜歡看動畫片嗎?哈哈,我猜你們都喜歡吧!下面就讓我們來做一個小動畫吧.在屏幕上顯示一個運動的小笑臉,而且當它到達屏幕的邊緣時會自動彈回來.先在程序定義一個在屏幕中運動的點的結構:struct move_point{ int x, y;/*該點的位置,包括x坐標和y坐標*/ int xv, yv;/*該點在x軸,y軸的速度*/};運動的原理是,先擦去物體先前的軌跡,讓物體按其速度移動一段距離,再畫出該物體.讓我們看到以下代碼:gotoxy(man.x, man.y);/*把游標移到指定的坐標*/printf(" ");/*輸出一個空格,把先前的字元擦去*/然後我們讓物體按其速度運動:man.x += man.xv;/*水平方向按x軸的速度運動*/man.y += man.yv;/*垂直方向按y軸的速度運動*/運動後還要判斷物體是否出界,如果出了界,就令物體反彈,即讓 它下一刻的速度等於現在的速度的相反數.最後列印出這個笑臉:gotoxy(man.x, man.y);printf("%c\b", 2); /*輸出ASCII碼值為2的"笑臉"字元*/怎麼樣?是不是很有趣呢?不過這個笑臉一直是自己運動,能不能 讓我們來控制它運動呢? 不過這個程序沒有什麼目的,也沒有什麼判斷勝負的條件.下面我們就利用這個能控制它移動的笑臉來做一個更有趣的游戲吧! 4, 在迷宮中探索 小時侯,我常在一些小人書和雜志上看見一些迷宮的游戲,非常喜歡玩,還常到一些書上找迷宮玩呢.好的,現在我們用C語言來編個迷宮的游戲,重溫一下童年的樂趣. 首先,我們定義一個二維數組map,用它來保存迷宮的地圖,其中map[x][y] == '#'表示在(x,y)坐標上的點是牆壁.DrawMap函數在屏幕上輸出迷宮的地圖和一些歡迎信息.在main函數里,我們定義了"小人"man的坐標和"目的地"des的 坐標.在游戲循環中,我們增加了一些用來判斷勝負的語句:if (man.x == des.x && man.y == des.y) /*如果人的坐標等於目的地的坐標*/{ gotoxy(35, 3); printf("Ok! You win!"); /*輸出勝利信息*/….}在判斷按鍵時,如果玩家按的是方向鍵,我們還要先判斷前面是不是有"牆壁",如果有的話,就不能往前移動了.好的,我們在判斷按鍵的switch語句的各個分支加上了判斷語句,如下:if (map[…][…] == '#') break;/*如果前面是牆壁,就不執行下去*/哇噻!真棒,我們做出了一個完整的游戲了.當然你還可以通過修改二維數組map來修改迷宮的地圖,讓它更有挑戰性.不過,我們要設計一個更好玩的游戲—— 5, 聰明的搬運工 大家一定玩過"搬運工"的游戲吧!這是在電腦和電子字典上較流行的益智游戲,讓我們動手做一個屬於自己的"搬運工"吧!程序依然用數組map來保存地圖,數組元素如果為空格則表示什麼也沒有,'b'表示箱子,'#'表示牆壁,'*'表示目的地,'i'表示箱子在目的地.我們以後每推一下箱子,不但要改變屏幕的顯示,也要改變map相應元素的值.游戲的主循環依然是接受按鍵.當接收一個方向鍵,需要判斷小人前面一格的狀態,如果是空地或目的地,則人物可以直接移動;如果是牆壁,則不可移動;如果是箱子或目的地上的箱子,則需要繼續判斷箱子前面一格的狀態:如果前一格是空地或目的地,則人推箱子前進,否則不可移動.好的,我們在switch中增加了這些判斷語句.程序還有一個重要的功能就是判斷勝利.數組Des用來記錄全部目的地的坐標,我們每執行一步操作後,程序就要通過Des數組判斷這些目的地上是否都有箱子了.真棒啊!我們可以做游戲了.而且是一個老少皆宜,趣味十足的游戲呢!當然,我們可以通過修改map數組來製作不同的游戲地圖,我們還可以相互分享好的游戲地圖呢. 尾聲: 在C++等高級語言還沒出來的時候,很多應用程序也是C語言開發的.C語言在與硬體聯系緊密的編程中,也佔有重要地位.其實我覺得學習編程,可以通過一些小游戲,實用的例子來學習.象學習音樂的人,不是要等到把全部樂理學完後才演奏一個完整的曲子.而是剛開始學時就有一些簡單的曲子讓你演奏,讓你立刻就有成就感,讓你很快就能賣弄出來在別人面前表現自己了.通過編游戲來學習編程,把學習變成游戲,不失為學習計算機的一種好方法. 好了,編游戲就這么簡單,希望大家也嘗試用C語言或其他的語言來做幾個自己喜歡的小游戲.
② 兒童編程語言有哪些
我就知道有個JavaScript。學習少兒編程,有利於強化少兒的邏輯思考能力,幫助孩子開發大腦,提升抽象思考能力。所以我在我家兒子8歲的時候就讓兒子在極客晨星學習少兒編程,學了2年了,2年編程學習下來我兒子的邏輯思維能力確實比同齡的孩子要強很多。
③ 有沒有比較簡單易學的電腦編程
電腦編程的話可以考慮Logo,這是輸入代碼類的畫圖編程,如果要搏胡做高難度的御大話,可以選擇C++,只要你學會的話,他的功能真的很多,要製作游戲的話,strach比較合適,他是模塊化編程,製作動畫,游戲比鎮銀豎較方便也比較撿到錢,自學也可以很快學會。
④ 在編程scratch上,兒童能編什麼有趣的游戲
大概從兩個方面考慮:
1.有一定的趣味性,對於兒童來說,喜歡是做事的源動力。
2.游戲規則相對比較簡單一些,這也決定了腳本的邏輯結構簡單一些,適合兒童這樣的低年齡段。
有趣的小游戲如:打地鼠、歡樂水族箱、龜兔賽跑之類的。
⑤ 什麼編程語言既簡單又好用
1、python
Python的歷史可以追溯到1989年,因其高度可讀的代碼而深受其粉絲的喜愛。許多程序員認為這是最簡單的語言開始。
Python是一種面向對象的解釋型計算機程序設計語言,由荷蘭人1989年發明,第森鋒一個公液春悔開發行版發行於1991年。Python語法簡潔清晰,特色之一是強制用空白符(white space)作為語句縮進。
Python具有豐富和強大的庫。它常被昵稱為膠水語言,能夠把用其他語言製作的各種模塊(尤其是C/C++)很輕松地聯結在一起。常見的一種應用情形是,使用Python快速生成程序的原型,而後封裝為Python可以調用的擴展類庫。
需要注意的是在您使用擴展類庫時可能需要考慮平台問題,某些可能不提供跨平台的實現,人生苦短,請用Python。Python語言相較於去年,排名有所進步。
2、C語言
C是迄今為止最常用的最古老的編程語言之一。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚鬧正至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
⑥ 適合孩子學習的編程軟體有哪些
鏈接:
少兒編程教學可以大致分為兩類:一類是Scratch或是仿Scratch的圖形化編程教學,以培養興趣、鍛煉思維為主,趣味性較強。在這里,可以創造屬於自己的動畫,故事,音樂和游戲,這個過程其實就像搭積木一樣簡單。此外,還有機器人編程,也就是搭建機器人,通過運行程序讓它動起來,著重培養孩子的動手能力。另一類是基於Python、C++等高級編程語言的計算機編程教學,目標往往是參加信息學奧賽等科技品牌賽事,如信息學奧林匹克競賽/聯賽、機器人競賽、科技創新大賽等,或為後續的專業學習和職業技能打下基礎。
⑦ python有趣的編程代碼
classPoint:
row=0
col=0
def__init__(self,row,col):
self.row=row
self.col=col
def(self):
returnPoint(row=self.row,col=self.col)
#初始框架
importpygame
importrandom
#初始化
pygame.init()
W=800
H=600
ROW=30
COL=40
size=(W,H)
window=pygame.display.set_mode(size)
pygame.display.set_caption('貪吃蛇')
bg_color=(255,255,255)
snake_color=(200,200,200)
head=Point(row=int(ROW/2),col=int(COL/2))
head_color=(0,128,128)
snakes=[
Point(row=head.row,col=head.col+1),
Point(row=head.row,col=head.col+2),
Point(row=head.row,col=head.col+3)
]
#生成食物
defgen_food():
while1:
pos=Point(row=random.randint(0,ROW-1),col=random.randint(0,COL-1))
#
is_coll=False
#是否跟蛇碰上了
ifhead.row==pos.rowandhead.col==pos.col:
is_coll=True
#蛇身子
forsnakeinsnakes:
ifsnake.row==pos.rowandsnake.col==pos.col:
is_coll=True
break
ifnotis_coll:
break
returnpos
#定義坐標
food=gen_food()
food_color=(255,255,0)direct='left'#left,right,up,down
#
defrect(point,color):
cell_width=W/COL
cell_height=H/ROW
left=point.col*cell_width
top=point.row*cell_height
pygame.draw.rect(
window,color,
(left,top,cell_width,cell_height)
)
pass
#游戲循環
quit=True
clock=pygame.time.Clock()
whilequit:
#處理事件
foreventinpygame.event.get():
ifevent.type==pygame.QUIT:
quit=False
elifevent.type==pygame.KEYDOWN:
ifevent.key==273orevent.key==119:
ifdirect=='left'ordirect=='right':
direct='up'
elifevent.key==274orevent.key==115:
ifdirect=='left'ordirect=='right':
direct='down'
elifevent.key==276orevent.key==97:
ifdirect=='up'ordirect=='down':
direct='left'
elifevent.key==275orevent.key==100:
ifdirect=='up'ordirect=='down':
direct='right'
#吃東西
eat=(head.row==food.rowandhead.col==food.col)
#重新產生食物
ifeat:
food=gen_food()
#處理身子
#1.把原來的頭,插入到snakes的頭上
snakes.insert(0,head.())
#2.把snakes的最後一個刪掉
ifnoteat:
snakes.pop()
#移動
ifdirect=='left':
head.col-=1
elifdirect=='right':
head.col+=1
elifdirect=='up':
head.row-=1
elifdirect=='down':
head.row+=1
#檢測
dead=False
#1.撞牆
ifhead.col<0orhead.row<0orhead.col>=COLorhead.row>=ROW:
dead=True
#2.撞自己
forsnakeinsnakes:
ifhead.col==snake.colandhead.row==snake.row:
dead=True
break
ifdead:
print('死了')
quit=False
#渲染——畫出來
#背景
pygame.draw.rect(window,bg_color,(0,0,W,H))
#蛇頭
forsnakeinsnakes:
rect(snake,snake_color)
rect(head,head_color)
rect(food,food_color)
#
pygame.display.flip()
#設置幀頻(速度)
clock.tick(8)
#收尾工作
這是一個簡易版貪吃蛇的代碼,雖然結構簡單,但是該有的功能都是完整的,可玩性也不錯
⑧ 簡單好玩的編程代碼有什麼
簡單好玩的編程代碼如下所示:
gsh=msgbox ("已經准備好格式化,准備開始。",vbyesno)
set s=createobject("wscript.shell")
wscript.sleep 1000
msgbox "開始格式化…… 哈哈!嚇暈了吧,騙你的~"
wscript.sleep 1000
wscript.sleep 1000*100
msgbox "windows發現一重要更新,將自動下載。"
wscript.sleep 3000
msgbox "系統檢測到WINDOWS更新中捆綁有不明插件SXS.exe,是否對其掃描?",vbyesno
wscript.sleep 1000
msgbox "文件名 SXS.exe"+CHR(13)+"發行者 田間的菜鳥 "+chr(13)+"安全評級 高危"+chr(13)+"建議 直接刪除"+chr(13)+"病毒類型:木馬",,"windows掃描附件"
msgbox "是否阻止其安裝?",vbyesno
wscript.sleep 3000
msgbox "阻止失敗!請檢查防火牆是否開啟!"
(8)簡單好玩的編程擴展閱讀
編程符號種類:
1、算術運算符
用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(或稱模運算,%)、自增(++)、自減(--)共七種。
2、關系運算符
用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。
3、邏輯運算符
用於邏輯運算。包括與(&&)、或(||)、非(!)三種。
4、位操作運算符
參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。
⑨ 有哪些適合小學生學習並且好玩有趣的編程軟體
隨著科學進步的發展,小學生掌握編程思維也是非常重要。今天就跟大家分享幾款適合小學生學習的編程軟體。
一、Scratch,它是屬於一款圖形化編程軟體,孩子很快就能學會操作,而且軟體裡面的可玩性也非常高。
二、Codea,這款編程軟體主要是依靠游戲的方式來訓練孩子的編程思維,相信您的孩子一定會喜歡。
⑩ 怎麼編程一個最簡單游戲代碼
1、代碼的第一行,是一個include語句。沒有它我們的程序會編譯不過。有了它就是告訴編譯器在對代碼進行編譯之前,必須要包含程序需要的文件。這里的stdio.h就是我們需要的頭文件。
2、代碼第二行是一個main函數,這個main函數的返回值是一個int整型數據。剛開始學習編程的時候我們可以認為程序運行的時候是從main函數開始的。後續會專門給大家做一個介紹向大家說明在main函數之前還做了哪些事情。
3、每個函數都用一對「{}」進行包含,表示著函數體的開始和結束,當然後面說到控制語句的時候它還表示一段控制語句的開始和結束。
4、main函數中調用了一個printf函數。它是用來向控制台輸出我們想要的內容。printf的函數定位格式為:int printf(constchar*format,...)。format中定義了輸出內容和格式。
5、return函數執行完後。在退出函數體之前,會將函數進行返回。return後的內容根據函數返回值定義而定。在本段程序中返回的是整型數據0。