小游戲編程
❶ 如何用編程製作小游戲
邊存邊小游戲的話,那些都有老師有教程的,你看一下視頻。
❷ C++編程 編寫一個小游戲
你自己去網路不就好了,這種游戲代碼一大堆:WIN API小游戲啥啥啥的
再說了,寫小的程序那是分分鍾,俄羅斯方塊說大不大,但是說小也不小,100分誰會幫你寫啊,一塊錢都還不到,除非是別人以前寫好的粘貼給你還差不多
❸ scratch編程小游戲腳本合集百度雲
https://blog.csdn.net/Scratcher/article/details/78096659?utm_source=blogxgwz5
進這個網站,自己編。
❹ 編程序做一個小游戲需要學習哪些知識
你可以先去【繪學霸】網站找「游戲設計/游戲製作」板塊的【免費】視頻教程-【點擊進入】完整入門到精通視頻教程列表: www.huixueba.net/web/AppWebClient/AllCourseAndResourcePage?type=1&tagid=307&zdhhr-11y04r-431353100149645732
想要系統的學習可以考慮報一個網路直播課,推薦CGWANG的網路課。老師講得細,上完還可以回看,還有同類型錄播課可以免費學(贈送終身VIP)。
自製能力相對較弱的話,建議還是去好點的培訓機構,實力和規模在國內排名前幾的大機構,推薦行業龍頭:王氏教育。
王氏教育全國直營校區面授課程試聽【復制後面鏈接在瀏覽器也可打開】: www.huixueba.com.cn/school/3dmodel?type=2&zdhhr-11y04r-431353100149645732
在「游戲設計/游戲製作」領域的培訓機構里,【王氏教育】是國內的老大,且沒有加盟分校,都是總部直營的連鎖校區。跟很多其它同類型大機構不一樣的是:王氏教育每個校區都是實體面授,老師是手把手教,而且有專門的班主任從早盯到晚,爆肝式的學習模式,提升會很快,特別適合基礎差的學生。
大家可以先把【繪學霸】APP下載到自己手機,方便碎片時間學習——繪學霸APP下載: www.huixueba.com.cn/Scripts/download.html
❺ 如何自己編程小游戲
使用類編程思路清晰,可讀性強,本例通過編寫貪吃蛇展示類的基本應用。最終效果如下:
網頁教學網:本文中全部的Fla源碼在文章最後全部打包供大家下載研究學習使用。
看不懂鏈接名等內容的,可以看我的另一個教程「 簡單射擊游戲教程 」,或許有所幫助。全部源文件如下:貪吃蛇—類編程.rar
第一步:「蛇」類初始化
新建fla文件,同目錄下新建as文件,取名Snake.as,類名必須和文件名相同。fla文件中新建蛇節點元件,鏈接名為node,第一幀和類中寫入相應代碼。
第一步:「蛇」類初始化.rar
第二步:蛇的移動
寫個move方法,在init方法中設置時間間隔。
第二步:蛇的移動.rar
第三步: 鍵盤改變移動方向
寫個changeDirection方法,在主場景第一幀用鍵盤事件調用該方法,控制蛇的方向。
第三步:鍵盤改變移動方向.rar
第四步:增加節點
寫個addNode方法,新節點產生在蛇尾即nodes[length - 1]的位置上,暫時加個按鈕調用addNode方法,觀察結果。
第四步:增加節點.rar
第五步:碰撞判斷
修改move方法,假如頭節點與蛇身其他部位重合,clearInterval刪除move的定時調用。同時changeDirection也要加多個判斷,不能讓頭節點和第二節點重合,加多這個判斷是為了防止一個Bug的產生,一些貪吃蛇程序並沒有注意到這點。這個Bug產生原因如下:
假設蛇向右移動,是不能進行向左改變方向,但由於move方法是定時調用的,比如每300毫秒一次,所以在這300毫秒內可能進行了多次快速按鍵。第一次按向下,蛇的xDirection和yDirection改變為向下,但move的執行時間沒到,又緊接著按左,因為蛇方向在數據上已經改變,所以捕捉不到不能向左的判斷,快速按鍵造成蛇反向移動的Bug就產生了,加個上述判斷就好了。
第五步:碰撞判斷.rar
第六步:食物類編寫
新建Food類,注意用extends繼承MovieClip,這樣元件才能鏈接它,在主場景中新建食物元件,鏈接Food類,實例名為food,拖入場景。在Food中寫入appear和disappear方法,做兩個臨時按鍵調用它們觀察效果。
第六步:食物類編寫.rar
最終完成:吃食物
Food中定時調用appear,並通過setSnake引入Snake實例snake,判斷蛇身坐標不讓新食物與之重合。Snake中通過setFood引入Food實例food,判斷是否吃到食物,做出相應處理,如食物消失,增加蛇節點,改變setSnake。場景第一幀也要setSnake引入蛇頭。
以後還要增加新功能,如阻礙物設置等,都可以通過改變as文件完成。雖然類編程比直接控制影片較為繁瑣,但由於使用了面向對象,以後再對程序進行完善時都可依照對象行為思考,每個方法就是對象的每個行為,什麼行為需要改變就找對應的方法修改,思路清晰。
❻ c語言編程小游戲
原創:
TC2.0以及gcc 編譯通過
/*=======================================================
*Author :wacs5
*Date :20100601(YYYYMMDD)
*Function :剪刀石頭布
*=======================================================*/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
char name[4][15]=;
int x[2];
int i;
srand(time(NULL));
for (i=0;i<10;i++) /*10 times game*/
{
x[0]=1+rand()%3; /*generate a number from 1 to 3*/
x[1]=1+rand()%3; /*generate another number from 1 to 3*/
printf("A=%-12sB=%-12s\t",name[x[0]],name[x[1]]);
if (x[0]==x[1])
printf("draw\n"); /*和*/
else if (x[0]%3+1==x[1]) /*lost*/
printf("lost\n");
else /*win*/
printf("win\n");
}
getch();
return 0;
}
❼ 小游戲vb編程
貪吃蛇
PrivateSubForm_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
DimCAsLong
IfKeyCode=27ThenEnd
IfKeyCode=32Then
IfTimer1.Enabled=TrueThen
Timer1.Enabled=False
Label1.Visible=True
Else
Timer1.Enabled=True
Label1.Visible=False
EndIf
EndIf
C=UBound(She)
IfGFangXiang=TrueThenExitSub
SelectCaseKeyCode
Case37
IfShe(C).F=2ThenExitSub
She(C).F=0
GFangXiang=True
Case38
IfShe(C).F=3ThenExitSub
She(C).F=1
GFangXiang=True
Case39
IfShe(C).F=0ThenExitSub
She(C).F=2
GFangXiang=True
Case40
IfShe(C).F=1ThenExitSub
She(C).F=3
GFangXiang=True
EndSelect
EndSub
PrivateSubForm_Load()
Me.AutoRedraw=True
Me.BackColor=&HC000&
Me.FillColor=255
Me.FillStyle=0
Me.ScaleWidth=24
Me.ScaleHeight=24
Me.WindowState=2
SetTimer1=Controls.Add("VB.Timer","Timer1")
SetLabel1=Controls.Add("VB.Label","Label1")
Label1.AutoSize=True
Label1.BackStyle=0
Label1="暫停"
Label1.ForeColor=RGB(255,255,0)
Label1.FontSize=50
ChuShiHua
EndSub
PrivateSubForm_Resize()
OnErrorGoTo1:
WithMe
If.WindowState<>1Then
.Cls
.ScaleMode=3
HWB=.ScaleHeight/.ScaleWidth
.ScaleWidth=24
.ScaleHeight=24
Label1.Move(Me.ScaleWidth-Label1.Width)/2,(Me.ScaleHeight-Label1.Height)/2
HuaTu
Me.Line(X,Y)-(X+1,Y+1),RGB(255,255,0),BF
EndIf
EndWith
1:
EndSub
PrivateSubTimer1_Timer()
DimCAsLong,IAsLong
OnErrorGoTo2:
QingChu
C=UBound(She)
SelectCaseShe(C).F
Case0
IfZhuangTai(She(C).X-1,She(C).Y)=2Then
C=C+1
ReDimPreserveShe(C)
She(C).F=She(C-1).F
She(C).X=She(C-1).X-1
She(C).Y=She(C-1).Y
ChanShengShiWu
GoTo1:
ElseIfZhuangTai(She(C).X-1,She(C).Y)=1Then
GoTo2:
EndIf
Case1
IfZhuangTai(She(C).X,She(C).Y-1)=2Then
C=C+1
ReDimPreserveShe(C)
She(C).F=She(C-1).F
She(C).X=She(C-1).X
She(C).Y=She(C-1).Y-1
ChanShengShiWu
GoTo1:
ElseIfZhuangTai(She(C).X,She(C).Y-1)=1Then
GoTo2:
EndIf
Case2
IfZhuangTai(She(C).X+1,She(C).Y)=2Then
C=C+1
ReDimPreserveShe(C)
She(C).F=She(C-1).F
She(C).X=She(C-1).X+1
She(C).Y=She(C-1).Y
ChanShengShiWu
GoTo1:
ElseIfZhuangTai(She(C).X+1,She(C).Y)=1Then
GoTo2:
EndIf
Case3
IfZhuangTai(She(C).X,She(C).Y+1)=2Then
C=C+1
ReDimPreserveShe(C)
She(C).F=She(C-1).F
She(C).X=She(C-1).X
She(C).Y=She(C-1).Y+1
ChanShengShiWu
GoTo1:
ElseIfZhuangTai(She(C).X,She(C).Y+1)=1Then
GoTo2:
EndIf
EndSelect
ZhuangTai(She(0).X,She(0).Y)=0
ForI=0ToC
SelectCaseShe(I).F
Case0
She(I).X=She(I).X-1
Case1
She(I).Y=She(I).Y-1
Case2
She(I).X=She(I).X+1
Case3
She(I).Y=She(I).Y+1
EndSelect
Next
TiaoZheng
1:
GFangXiang=False
ZhuangTai(She(C).X,She(C).Y)=1
HuaTu
ExitSub
2:
IfMsgBox("游戲結束,點「是」重新開始游戲,點「否」",vbYesNo,"貪吃蛇")=vbYesThen
ChuShiHua
Else
End
EndIf
EndSub
PrivateSubChuShiHua()
Me.Cls
Timer1.Enabled=True
Timer1.Interval=200
EraseZhuangTai
ReDimShe(2)
She(0).F=2
She(0).X=9
She(0).Y=11
ZhuangTai(9,11)=1
She(1).F=2
She(1).X=10
She(1).Y=11
ZhuangTai(10,11)=1
She(2).F=2
She(2).X=11
She(2).Y=11
ZhuangTai(11,11)=1
HuaTu
ChanShengShiWu
EndSub
PrivateSubQingChu()
DimIAsLong
ForI=0ToUBound(She)
Me.Line(She(I).X,She(I).Y)-(She(I).X+1,She(I).Y+1),Me.BackColor,BF
Next
EndSub
PrivateSubHuaTu()
DimIAsLong
ForI=0ToUBound(She)
Me.Circle(She(I).X+0.5,She(I).Y+0.5),0.49,RGB(255,255,0),,,HWB
Next
EndSub
PrivateSubTiaoZheng()
DimIAsLong
ForI=0ToUBound(She)-1
She(I).F=She(I+1).F
Next
EndSub
PrivateSubChanShengShiWu()
RandomizeTimer
1:
X=Int(Rnd*24)
Y=Int(Rnd*24)
IfZhuangTai(X,Y)>0ThenGoTo1:
ZhuangTai(X,Y)=2
Me.Line(X,Y)-(X+1,Y+1),RGB(255,255,0),BF
EndSub
❽ 小游戲編程
買本語言的教程最好了 不過要一定的理解能力 現在最好學C語言 這個是基礎 C++ C# JAVA 等等等等的語言都是從C上發展來的
然後下個WIN-TC 如果是WIN 7的話要裝虛擬機運行XP才能用WIN-TC 如果是win XP的 話可以直接安裝
加油 我今年17了 才開始學
ps 游戲害死人啊= =
psps. 我買了一本《C語言編程 現代方法》 (大概是這個名字,我忘了,書沒有帶過來。。。) 記得是人民郵電出版社的 第二版 你去書店看看吧 我是覺得還不錯的
❾ 最簡單的C#小游戲編程
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class Player
{
public string Name;
Card[] cards = new Card[5];
public void InitFiveCards()//五張牌
{
Random md = new Random();
int m = md.Next(1, 14);
for (int i = 0; i < 5; i++)
{
Card card = new Card();
card.Point = md.Next(1, 14);
card.Color = md.Next(0, 4);
cards[i] = card;
}
}
public void display()
{
for (int i = 0; i < 5; i++)
{
Console.WriteLine(cards[i].CardDisplayString());
}
}
public void chosecard() //取牌
{
int n;
Random md = new Random();
int m = md.Next(1, 14);
n = Convert.ToInt32(Console.ReadLine());
Card cd = new Card();
switch (n)
{
case 0:
Table.tablecard = n;
Console.WriteLine("新取的牌");
break;
case 1:
n = m;
Console.WriteLine("上個玩家丟的牌");
break;
}
}
public void throwcard()//丟牌
{
Card[] cards = new Card[5];
Random md = new Random();
int m = md.Next(1, 14);
for (int i = 0; i < 5; i++)
{
Card card = new Card();
card.Point = md.Next(1, 14);
card.Color = md.Next(0, 4);
cards[i] = card;
switch (i)
{
case 0:
card = cards[1];
break;
case 1:
card = cards[2];
break;
case 2:
break;
case 3:
card = cards[3];
break;
case 4:
card = cards[4];
break;
}
}
Console.WriteLine("chose the card:{0}");
}
public void Changeplayer()
{
int m;
}
public bool isWin()
{
for (int i = 1; i < 5;i++ )
{
if (cards[i].Color != cards[0].Color)
{
return false;
}
}
return true;
}
}
class Table
{
public static int tablecard;
public void cunchu()
{
Console.WriteLine(tablecard);
}
}
class Card
{
public int Point;
public int Color;
public string CardDisplayString()
{
string sColor = "";
switch (Color)
{
case 0:
sColor = "紅心";
break;
case 1:
sColor = "方塊";
break;
case 2:
sColor = "黑桃";
break;
case 3:
sColor = "草花";
break;
}
return string.Format("花色:{0} Point:{1}", sColor, Point);
}
class Program
{
static void Main(string[] args)
{
//1.輸入玩家數量
int py;
Console.WriteLine("請輸入玩家的數量");
py = int.Parse(Console.ReadLine());
Player[] pys = new Player[py];
//2.輸入玩家姓名
for (int m = 0; m < py; m++)
{
pys[m] = new Player();
Console.WriteLine("請輸入第{0}玩家名字", m + 1);
pys[m].Name = Console.ReadLine();
pys[m].InitFiveCards();
}
//3.開始游戲
bool isExit = false;
while (!isExit)
{
for (int m = 0; m < py; m++)
{
pys[m].display();
pys[m].chosecard();
pys[m].throwcard();
if (pys[m].isWin())
{
Console.WriteLine("The player name :{0}" + "游戲結束");
isExit = true;
break;
}
}
}
Console.ReadLine();
}
}
}
}
❿ c++編程小游戲代碼
以下是貪吃蛇源代碼:
#include<iostream.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
#defineN21
voidgotoxy(intx,inty)//位置函數{
COORDpos;
pos.X=2*x;
pos.Y=y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
voidcolor(inta)//顏色函數{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);
}
voidinit(intapple[2])//初始化函數(初始化圍牆、顯示信息、蘋果)
{
inti,j;//初始化圍牆
intwall[N+2][N+2]={{0}};
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
wall[i][j]=1;
}
color(11);
for(i=0;i<N+2;i++)
{
for(j=0;j<N+2;j++)
{
if(wall[i][j])
cout<<"■";
elsecout<<"□";
}
cout<<endl;
}
gotoxy(N+3,1);//顯示信息
color(20);
cout<<"按WSAD移動方向"<<endl;
gotoxy(N+3,2);
color(20);
cout<<"按任意鍵暫停"<<endl;
gotoxy(N+3,3);
color(20);
cout<<"得分:"<<endl;
apple[0]=rand()%N+1;//蘋果
apple[1]=rand()%N+1;
gotoxy(apple[0],apple[1]);
color(12);
cout<<"●"<<endl;
}
intmain()
{
inti,j;
int**snake=NULL;
intapple[2];
intscore=0;
inttail[2];
intlen=3;
charch='p';
srand((unsigned)time(NULL));
init(apple);
snake=(int**)realloc(snake,sizeof(int*)*len);
for(i=0;i<len;i++)
snake[i]=(int*)malloc(sizeof(int)*2);
for(i=0;i<len;i++)
{
snake[i][0]=N/2;
snake[i][1]=N/2+i;
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout<<"★"<<endl;
}
while(1)//進入消息循環
{
tail[0]=snake[len-1][0];
tail[1]=snake[len-1][1];
gotoxy(tail[0],tail[1]);
color(11);
cout<<"■"<<endl;
for(i=len-1;i>0;i--)
{
snake[i][0]=snake[i-1][0];
snake[i][1]=snake[i-1][1];
gotoxy(snake[i][0],snake[i][1]);
color(14);
cout<<"★"<<endl;
}
if(kbhit())
{
gotoxy(0,N+2);
ch=getche();
}
switch(ch)
{
case'w':snake[0][1]--;break;
case's':snake[0][1]++;break;
case'a':snake[0][0]--;break;
case'd':snake[0][0]++;break;
default:break;
}
gotoxy(snake[0][0],snake[0][1]);
color(14);
cout<<"★"<<endl;
Sleep(abs(200-0.5*score));
if(snake[0][0]==apple[0]&&snake[0][1]==apple[1])//吃掉蘋果後蛇分數加1,蛇長加1
{
score++;
len++;
snake=(int**)realloc(snake,sizeof(int*)*len);
snake[len-1]=(int*)malloc(sizeof(int)*2);
apple[0]=rand()%N+1;
apple[1]=rand()%N+1;
gotoxy(apple[0],apple[1]);
color(12);
cout<<"●"<<endl;
gotoxy(N+5,3);
color(20);
cout<<score<<endl;
}
if(snake[0][1]==0||snake[0][1]==N||snake[0][0]==0||snake[0][0]==N)//撞到圍牆後失敗
{
gotoxy(N/2,N/2);
color(30);
cout<<"失敗!!!"<<endl;
for(i=0;i<len;i++)
free(snake[i]);
Sleep(INFINITE);
exit(0);
}
}
return0;
}