智力过河游戏c语言,Flash制作的智力过河小游戏(附代码)
游戏规则:
一只大狮子,一只小狮子,一只大老虎、一只小老虎、一只大花豹,一只小花豹要到河对面去,只有大动物和小老虎会划船,船每次只能乘两只动物。大动物之间互相吃不了,小动物之间互相吃不了,如果大动物不在同类的小动物就会被异类大动物吃掉。
复制粘贴到第一帧,测试:
创建开始场景();
function 创建开始场景() {
创建TXT_MC(this, "游戏名", "智力过河", 200, 100, 300, false);
创建TXT_MC(this, "游戏开始", "游戏开始", 250, 200, 100, true);
创建TXT_MC(this, "游戏说明", "游戏说明", 250, 250, 100, true);
游戏开始.onPress = function() {
删除开始场景();
创建游戏场景();
};
游戏说明.onPress = function() {
删除开始场景();
创建说明场景();
};
}
function 删除开始场景() {
游戏名.removeMovieClip();
游戏开始.removeMovieClip();
游戏说明.removeMovieClip();
}
function 删除说明场景() {
规则.removeMovieClip();
说明.removeMovieClip();
游戏开始.removeMovieClip();
}
function 创建说明场景() {
var 内容 = "一只大狮子,一只小狮子,一只大老虎、一只小老虎、一只大花豹,"+"\n"+"一只小花豹要到河对面去,只有大动物和小老虎会划船,船每次只能乘"+"\n"+"两只动物。大动物之间互相吃不了,小动物之间互相吃不了,如果大动"+"\n"+"物不在同类的小动物就会被异类大动物吃掉。";
创建TXT_MC(this, "规则", "游戏规则", 230, 50, 150, false);
创建TXT_MC(this, "说明", 内容, 50, 100, 120, false);
创建TXT_MC(this, "游戏开始", "游戏开始", 250, 200, 100, true);
游戏开始.onPress = function() {
删除说明场景();
创建游戏场景();
};
}
function 创建TXT_MC(路径, 名称, 文本, 坐标X, 坐标Y, 大小, 框) {
var MC = 路径.createEmptyMovieClip(名称, 路径.getNextHighestDepth());
MC._x = 坐标X;
MC._y = 坐标Y;
MC._xscale = MC._yscale=大小;
var TXT = MC.createTextField("TXT", 0, 0, 0, 0, 0);
TXT.text = 文本;
TXT.selectable = false;
TXT.autoSize = true;
if (框 == true) {
MC.onRollOver = function() {
this.TXT.border = true;
this.onReleaseOutside = this.onRollOut=function () {
this.TXT.border = false;
};
};
}
return MC;
}
this.createEmptyMovieClip("遮照MC", this.getNextHighestDepth());
function 创建游戏场景() {
var 船上成员 = [];
var 左岸 = ["大狮子", "小狮子", "大老虎", "小老虎", "大花豹", "小花豹"];
this.createEmptyMovieClip("左岸MC", this.getNextHighestDepth());
创建河流();
this.createEmptyMovieClip("码头MC", this.getNextHighestDepth());
画方块(码头MC, 0, 348, 94, 50, true);
画方块(码头MC, 454, 348, 94, 50, true);
this.createEmptyMovieClip("提示MC", this.getNextHighestDepth());
左岸MC._y = 100;
左岸MC._x = 20;
for (var i = 0; i
if (i%2 == 0) {
var MC = 创建TXT_MC(左岸MC, 左岸[i], 左岸[i], 0, 40*i, 100, true);
MC.名字 = MC._name;
MC.划船 = true;
MC.方位 = "左岸";
MC.大小 = "大";
} else {
var MC = 创建TXT_MC(左岸MC, 左岸[i], 左岸[i], 0, 40*i, 100, true);
MC.名字 = MC._name;
MC.划船 = false;
MC.方位 = "左岸";
MC.大小 = "小";
}
MC.onPress = function() {
if (船上成员.length == 2) {
提示信息("船上不能再乘座更多的动物了");
}
if (船上成员.length<2 && 船MC.行动 == false && this.方位 == 船MC.状态) {
this._visible = false;
this.方位 = "船上";
船上成员.push(this);
eval("船仓"+船上成员.length).TXT.text = this.名字;
}
};
}
左岸MC["小老虎"].划船 = true;
this.createEmptyMovieClip("船MC", this.getNextHighestDepth());
船MC._y = 360;
船MC._x = 100;
船MC.Y = 0;
船MC.状态 = "左岸";
船MC.行动 = false;
船MC.速度 = 20;
画船(船MC);
创建TXT_MC(船MC, "TXT", "===>>", 40, -2, 100, false);
船MC.onPress = function() {
if (this.行动 == false && 是否能划船(船上成员) && 能否呆船上(船上成员) && 岸上(this.状态)) {
this.行动 = true;
船移动(this);
}
};
创建TXT_MC(this, "船仓1", "", 船MC._x+35, 船MC._y-20, 100, true);
创建TXT_MC(this, "船仓2", "", 船MC._x+35, 船MC._y-40, 100, true);
船仓1.onPress = function() {
if (船MC.状态 == "左岸") {
左岸MC[this.TXT.text]._visible = true;
左岸MC[this.TXT.text]._x = 0;
左岸MC[this.TXT.text].方位 = "左岸";
删除(船上成员, this.TXT.text);
this.TXT.text = 船仓2.TXT.text;
船仓2.TXT.text = "";
}
if (船MC.状态 == "右岸") {
左岸MC[this.TXT.text]._visible = true;
左岸MC[this.TXT.text]._x = 480;
左岸MC[this.TXT.text].方位 = "右岸";
删除(船上成员, this.TXT.text);
this.TXT.text = 船仓2.TXT.text;
船仓2.TXT.text = "";
var n = 0;
for (var i in 左岸MC) {
if (左岸MC[i].方位 == "右岸") {
n++;
if (n == 6) {
提示信息("地球已经不适合你居住"+"\n"+"快去上火星去吧!!");
创建结束画面();
return;
}
}
}
}
};
船仓2.onPress = function() {
if (船MC.状态 == "左岸") {
左岸MC[this.TXT.text]._visible = true;
左岸MC[this.TXT.text]._x = 0;
左岸MC[this.TXT.text].方位 = "左岸";
删除(船上成员, this.TXT.text);
this.TXT.text = 船仓2.TXT.text;
船仓2.TXT.text = "";
}
if (船MC.状态 == "右岸") {
左岸MC[this.TXT.text]._visible = true;
左岸MC[this.TXT.text]._x = 480;
左岸MC[this.TXT.text].方位 = "右岸";
删除(船上成员, this.TXT.text);
this.TXT.text = 船仓2.TXT.text;
船仓2.TXT.text = "";
}
};
返回开始();
}
function 画船(MC) {
MC.lineStyle(0, 0);
MC.moveTo(0, 0);
MC.lineTo(10, 15);
MC.lineTo(100, 15);
MC.lineTo(110, 0);
MC.lineTo(0, 0);
}
function 船移动(MC) {
MC.onEnterFrame = function() {
this._x += this.速度;
船仓1._x += this.速度;
船仓2._x += this.速度;
this.状态 = "航行";
if (this._x>=340) {
this.行动 = false;
this.速度 *= -1;
this.TXT.TXT.text = "<<===";
this.状态 = "右岸";
delete this.onEnterFrame;
}
if (this._x<=100) {
this.行动 = false;
this.速度 *= -1;
this.TXT.TXT.text = "===>>";
this.状态 = "左岸";
delete this.onEnterFrame;
}
};
}
function 是否能划船(数组) {
for (var i = 0; i
if (数组[i].划船 == true) {
return true;
}
}
提示信息("这条船上没有能划船的动物");
return false;
}
function 能否呆船上(数组) {
if (数组.length == 2) {
var TXT0 = 数组[0].名字;
var TXT1 = 数组[1].名字;
if (数组[0].大小 == 数组[1].大小 || TXT0.substring(1, 3) == TXT1.substring(1, 3)) {
return true;
}
} else {
return true;
}
提示信息("船上的大动物会吃掉小动物");
return false;
}
function 岸上(岸) {
//这个算法不好`实在想不出其他的好算法
var 大数组 = new Array();
var 小数组 = new Array();
for (var i in 左岸MC) {
if (左岸MC[i].方位 == 岸) {
if (左岸MC[i].大小 == "大") {
大数组.push(左岸MC[i]._name.substring(1, 3));
}
if (左岸MC[i].大小 == "小") {
小数组.push(左岸MC[i]._name.substring(1, 3));
}
}
}
var 小记数 = 小数组.length;
var 大记数 = 大数组.length;
if (小记数<=0) {
return true;
}
if (大记数<=0) {
return true;
}
var 记数 = 0;
for (var i = 0; i
var 对象 = 小数组[i];
for (var n = 0; n
if (对象 == 大数组[n]) {
记数++;
break;
}
}
}
if (记数 == 小记数) {
return true;
} else {
提示信息("岸上的大动物会吃掉小动物");
return false;
}
}
function 删除(数组, 对象) {
for (var i = 0; i
if (数组[i].名字 == 对象) {
数组.splice(i, 1);
return true;
}
}
}
function 画方块(MC, X, Y, 宽, 高, 填充) {
if (填充 == true) {
MC.beginFill(0xFFFFFF, 100);
}
MC.lineStyle(0, 0);
MC.moveTo(X, Y);
MC.lineTo(X+宽, Y);
MC.lineTo(X+宽, 高+Y);
MC.lineTo(X, 高+Y);
MC.lineTo(X, Y);
MC.endFill();
}
function 创建河流() {
var 河水= "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~";
var MC = 创建TXT_MC(this, "河流", 河水, 0, 365, 100, false);
MC.X = 0;
MC.onEnterFrame = function() {
this._x += Math.cos(this.X)*1;
this.X += 0.1;
};
}
function 提示信息(内容) {
提示MC.clear();
画方块(提示MC, 180, 50, 200, 70);
提示MC.计时 = 0;
提示MC["提示"].removeMovieClip();
提示MC.onEnterFrame = function() {
if (this.计时 == 0) {
this._visible = true;
创建TXT_MC(提示MC, "提示", 内容, 提示MC._x+190, 提示MC._y+70, 115, false);
} else if (this.计时>30) {
this._visible = false;
delete onEnterFrame;
}
this.计时++;
};
}
function 创建结束画面() {
左岸MC.removeMovieClip();
船MC.removeMovieClip();
}
function 返回开始() {
创建TXT_MC(_root, "开始", "重新"+"\n"+"开始", 490, 360, 100, true);
开始.onPress = function() {
loadMovie(_url, _root);
};
}
画方块(遮照MC, 0, 0, 550, 400, true);
_root.setMask(遮照MC);
画方块(this, 0, 0, 548, 398, false);
var 菜单 = new ContextMenu();
菜单.hideBuiltInItems();
var QQ = new ContextMenuItem("QQ:31559783", 实行函数);
QQ.separatorBefore = true;
菜单.customItems.push(QQ);
this.menu = 菜单;
function 实行函数() {
}
智力过河游戏c语言,Flash制作的智力过河小游戏(附代码)相关推荐
- 计算机课玩的小游戏怎么找,能够回味电脑课的小游戏是什么 怎么制作这两个小游戏...
能够回味电脑课的小游戏是什么,怎么制作这两个小游戏.在我的世界里回味已经是很多人的游玩乐趣之一了,因为这个游戏超高的自由度还有各种玩法可以让我们回味童年的种种. 这些小游戏乍一看都不怎么需要技巧 简单 ...
- 数学小天才游戏c语言,家长带孩子玩玩这些小游戏 培养数学小天才
数学可不是只有1+1=2,数学王国里的臣子臣民们可是很多哦,而能够认识数学.善用数学的宝宝,未来的成就才会更大. 小游戏带宝宝走进数学王国 为了让爸妈可以在生活中就能简单建立宝宝的数学概念,我们特别从 ...
- 井字棋小游戏c语言简单编码,井字棋小游戏(C语言)
1 #include 2 #include 3 #include 4 #include 5 #include 6 7 void drawBoard(char *board) //绘制棋盘 8 {9 p ...
- Unity使用MVC架构制作牧师与魔鬼小游戏
Unity使用MVC架构制作牧师与魔鬼小游戏 MVC架构简介 MVC概述 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller) ...
- unity课设小游戏_Unity制作20个迷你小游戏实例训练视频教程
本教程是关于Unity制作20个迷你小游戏实例训练视频教程,时长:20小时,大小:3.8 GB,MP4高清视频格式,教程使用软件:Unity,附源文件,作者:Raja Biswas,共97个章节,语言 ...
- 使用小程序制作一个飞机大战小游戏
此文主要基于微信小程序制作一个飞机大战小游戏,上手即用,操作简单. 一.创建小程序 二.页面实现 三.代码块 一.创建小程序 访问微信公众平台,点击账号注册. 选择小程序,并在表单填写所需的各项信息进 ...
- html5制作端午节游戏,意派Epub360怎么制作一个端午节H5小游戏页面?
六月已经过了三分之一,"粽子节"也马上要到了,每当这时候,又到新媒体运营人和设计师头秃的时刻,在传统的节日里,如何把传统的节日使用互联网元素表现,让更多的年轻人能够参与进来,H5这 ...
- C语言简单的键盘玩扫雷小游戏(完结)
1:这次我们会将前面的代码进行整合,和整理,最终使我们的程序可以有效的运行起来. [1]初始化函数. void GameInit() { //随机数种子 srand((unsigned ...
- HBuilder制作英雄皮肤抽奖小游戏
用HBuilder制作英雄皮肤抽奖小游戏,主要用到"轮播图"和"定时器",至于"轮播图"和"定时器" 是什么,请自行百度 ...
最新文章
- 前序,中序,后序遍历
- C# DataTable的Select()方法不支持 != 判断
- .NET6 中的 PriorityQueue
- wordpress主题Z-blog拓源纯净版
- BZOJ 2820: YY的GCD
- android创建项目,并开发项目。
- 不可能不爱的 XCODE 9:最新功能详尽介绍
- Ant Design Vue
- igs时间和utc_UTC时间与北京时间的差多久?
- 沪牌每月价格预测模型
- 050_Scrapy 爬虫框架 案例四大名著爬取
- tpc1061ti使用说明_昆仑通泰触摸屏TPC1061Ti/TX
- android edittext禁止输入特殊字符,Android edittext 禁止输入特殊字符/或者表情符的方案...
- 云原生|kubernetes|centos下安装部署kubeapps以及简单的使用示例
- Spring Boot使用方法小札(3):应用启动后做一些事
- win 10 安装时候无法格式化分区,错误 0x80070057
- 第5节 树形计算亚式期权价格
- 沈师PTA2021Java编程题复习题库
- 评高级用计算机合格证吗,副教授评审什么情况下可以免计算机合格证
- 一次项目开发中,收获的经验和教训