‘壹’ 制作小游戏的简单编程软件
学习编程,从何入手
如果您想学习编程,却又不知从何入手,那么您不妨看看下面的几种学习方案,可能会给您一些启示吧!
==============================================
方案一 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 事件句柄中初始化。