块语言编程游戏最后一关怎么过

我的 块语言编程游戏最后一关怎么过  我来答 3个回答 #热议# 你觉得同居会更容易让感情变淡吗? 19My3Z 2020-02-27 知道答主 回答量:12 采纳率:100% 帮助的人:4007 我也去答题访问个人页 关注 展开全部 var cs1 = 0;var cs2 = 180; while(true){ var random = Math.random()*...
块语言编程游戏最后一关怎么过
var cs1 = 0;
var cs2 = 180;

while(true){
var random = Math.random()*360;
move(random);
shut(random);
}

function move(random){
swim(cs1);
}

function shut(random){
if(scan(cs1,20)<=70){
if(scan(cs2,20)<=70){
cs2 = cs1-15;
cannon(cs1-5,scan(cs1-10,10))
}else{
cs1 += 5;
cs2 = cs1-15;
cannon(cs1-5,scan(cs1-10,10))
}
}else if(scan(cs2,20)<=70){
cs1 -= 5;
cs2 = cs1-15;
cannon(cs1-5,scan(cs1-10,10))
}else{
cs1 += 20;
}
}

————————————————
版权声明:本文为CSDN博主「猫儿不哭」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:

/* sniper */
/* strategy: since a scan of the entire battlefield can be done in 90 */
/* degrees from a corner, sniper can scan the field quickly. */

/* external variables, that can be used by any function */
var corner = 0; /* current corner 0, 1, 2, or 2 */
var sc = 0; /* current scan start */

var range; /* range to target */

/* initialize the corner info */
/* x and y location of a corner, and starting scan degree */
var c1x = 2, c1y = 2, s1 = 0;
var c2x = 2, c2y = 98, s2 = 270;
var c3x = 98, c3y = 98, s3 = 180;
var c4x = 98, c4y = 2, s4 = 90;
var closest = Infinity;
new_corner(); /* start at a random corner */
var d = damage(); /* get current damage */
var dir = sc; /* starting scan direction */

while (true) { /* loop is executed forever */
while (dir < sc + 90) { /* scan through 90 degree range */
range = scan(dir, 2); /* look at a direction */
if (range <= 70) {
while (range > 0) { /* keep firing while in range */
closest = range; /* set closest flag */
cannon(dir, range); /* fire! */
range = scan(dir, 1); /* check target again */
if (d + 15 > damage()) /* sustained several hits, */
range = 0; /* goto new corner */
}
dir -= 10; /* back up scan, in case */
}

dir += 2; /* increment scan */
if (d != damage()) { /* check for damage incurred */
new_corner(); /* we're hit, move now */
d = damage();
dir = sc;
}
}

if (closest == Infinity) { /* check for any targets in range */
new_corner(); /* nothing, move to new corner */
d = damage();
dir = sc;
} else { /* targets in range, resume */
dir = sc;
}
closest = Infinity;
}

/* new corner function to move to a different corner */
function new_corner() {
var x, y;

var rand = Math.floor(Math.random() * 4); /* pick a random corner */
if (rand == corner) /* but make it different than the */
corner = (rand + 1) % 4;/* current corner */
else
corner = rand;
if (corner == 0) { /* set new x,y and scan start */
x = c1x;
y = c1y;
sc = s1;
}
if (corner == 1) {
x = c2x;
y = c2y;
sc = s2;
}
if (corner == 2) {
x = c3x;
y = c3y;
sc = s3;
}
if (corner == 3) {
x = c4x;
y = c4y;
sc = s4;
}

/* find the heading we need to get to the desired corner */
var angle = plot_course(x,y);

/* start drive train, full speed */

/* keep traveling until we are within 15 meters */
/* speed is checked in case we run into wall, other robot */
/* not terribly great, since were are doing nothing while moving */

while (distance(getX(), getY(), x, y) > 15)
drive(angle, 100);

/* cut speed, and creep the rest of the way */

while (distance(getX(), getY(), x, y) > 1)
drive(angle, 20);

/* stop drive, should coast in the rest of the way */
drive(angle, 0);
} /* end of new_corner */

/* classical pythagorean distance formula */
function distance(x1, y1, x2, y2) {
var x = x1 - x2;
var y = y1 - y2;
return Math.sqrt((x * x) + (y * y));
}

/* plot course function, return degree heading to */
/* reach destination x, y; uses atan() trig function */
function plot_course(xx, yy) {
var d;
var x,y;
var curx, cury;

curx = getX(); /* get current location */
cury = getY();
x = curx - xx;
y = cury - yy;

/* atan only returns -90 to +90, so figure out how to use */
/* the atan() value */

if (x == 0) { /* x is zero, we either move due north or south */
if (yy > cury)
d = 90; /* north */
else
d = 270; /* south */
} else {
if (yy < cury) {
if (xx > curx)
d = 360 + Math.atan_deg(y / x); /* south-east, quadrant 4 */
else
d = 180 + Math.atan_deg(y / x); /* south-west, quadrant 3 */
} else {
if (xx > curx)
d = Math.atan_deg(y / x); /* north-east, quadrant 1 */
else
d = 180 + Math.atan_deg(y / x); /* north-west, quadrant 2 */
}
}
return d;
}

/* rabbit */
// rabbit runs around the field, randomly and never fires; use as a target.

/* go - go to the point specified */
function go (dest_x, dest_y) {
var course = plot_course(dest_x, dest_y);
while (distance(getX(), getY(), dest_x, dest_y) > 5) {
drive(course, 25);
}
while (speed() > 0) {
drive(course, 0);
}
}

/* distance forumula. */
function distance(x1, y1, x2, y2) {
var x = x1 - x2;
var y = y1 - y2;
return Math.sqrt((x * x) + (y * y));
}

/* plot_course - figure out which heading to go. */
function plot_course(xx, yy) {
var d;
var curx = getX();
var cury = getY();
var x = curx - xx;
var y = cury - yy;

if (x == 0) {
if (yy > cury) {
d = 90;
} else {
d = 270;
}
} else {
if (yy < cury) {
if (xx > curx) {
d = 360 + Math.atan_deg(y / x);
} else {
d = 180 + Math.atan_deg(y / x);
}
} else {
if (xx > curx) {
d = Math.atan_deg(y / x);
} else {
d = 180 + Math.atan_deg(y / x);
}
}
}
return d;
}

while (true) {
// Go somewhere in the field.
var x = Math.random() * 100;
var y = Math.random() * 100;
go(x, y);
}

/* counter */
/* scan in a counter-clockwise direction (increasing degrees) */
/* moves when hit */

var range;
var last_dir = 0;

var res = 2;
var d = damage();
var angle = Math.random() * 360;
while (true) {
while ((range = scan(angle, res)) != Infinity) {
if (range > 70) { /* out of range, head toward it */
drive(angle, 50);
var i = 1;
while (i++ < 50) /* use a counter to limit move time */
;
drive (angle, 0);
if (d != damage()) {
d = damage();
run();
}
angle -= 3;
} else {
while (!cannon(angle, range))
;
if (d != damage()) {
d = damage();
run();
}
angle -= 15;
}
}
if (d != damage()) {
d = damage();
run();
}
angle += res;
angle %= 360;
}

/* run moves around the center of the field */
function run() {
var i = 0;
var x = getX();
var y = getY();

if (last_dir == 0) {
last_dir = 1;
if (y > 51) {
drive(270, 100);
while (y - 10 < getY() && i++ < 50)
;
drive(270, 0);
} else {
drive(90, 100);
while (y + 10 > getY() && i++ < 50)
;
drive(90, 0);
}
} else {
last_dir = 0;
if (x > 51) {
drive(180, 100);
while (x - 10 < getX() && i++ < 50)
;
drive(180, 0);
} else {
drive(0, 100);
while (x + 10 > getX() && i++ < 50)
;
drive(0, 0);
}
}
}

/* rook.r - scans the battlefield like a rook, i.e., only 0,90,180,270 */
/* move horizontally only, but looks horz and vertically */

/* move to center of board */
if (getY() < 50) {
while (getY() < 40) /* stop near center */
drive(90, 100); /* start moving */
} else {
while (getY() > 60) /* stop near center */
drive(270, 100); /* start moving */
}
drive(0, 0);
while (speed() > 0)
;

/* initialize starting parameters */
var d = damage();
var course = 0;
var boundary = 99;
drive(course, 30);

/* main loop */
while(true) {
/* look all directions */
look(0);
look(90);
look(180);
look(270);

/* if near end of battlefield, change directions */
if (course == 0) {
if (getX() > boundary || speed() == 0)
change();
}
else {
if (getX() < boundary || speed() == 0)
change();
}
}

/* look somewhere, and fire cannon repeatedly at in-range target */
function look(deg) {
var range;
while ((range = scan(deg, 4)) <= 70) {
drive(course, 0);
cannon(deg, range);
if (d + 20 != damage()) {
d = damage();
change();
}
}
}

function change() {
if (course == 0) {
boundary = 1;
course = 180;
} else {
boundary = 99;
course = 0;
}
drive(course, 30);
}

var west = false;
while (true) {
x();
deg();
}

function x(){
for(var i = 0; i <= 360; i += 20){
if(scan(i, 20) <= 70){
cannon(i, scan(i, 20));
}
}
}

function deg(){
if (west) {
if (getX() > 25) {
swim(180, 100);
} else {
west = false;
swim(0, 0);
}
} else {
if (getX() < 75) {
swim(0, 100);
} else {
west = true;
swim(0, 0);
}
}
}2020-02-27
var L1, L2, L3, LO, sign, x, X1, X2, X3, X4;
L1=0;
L2=0;
L3=0;
LO=0;
x = 0;
X4 = 0;
sign = 0;
while (true) {
if (x >= 270) {
X1 = x - 270;
} else {
X1 = x + 90;
}
if (x >= 180) {
X2 = x - 180;
} else {
X2 = x + 180;
}
if (x >= 90) {
X3 = x - 90;
} else {
X3 = x + 270;
}
if (getX() <= 10) {
swim(0);
}
if (getX() >= 90) {
swim(180);
}
if (getY() >= 90) {
swim(270);
}
if (getY() <= 10) {
swim(90);
}
if (LO == 1) {
if (x >= 90) {
swim(x - 90);
} else {
swim(270 + x);
}
} else if (L1 == 1) {
if (X1 >= 90) {
swim(X1 - 90);
} else {
swim(270 + X1);
}
} else if (L2 == 1) {
if (X2 >= 90) {
swim(X2 - 90);
} else {
swim(270 + X2);
}
} else if (L3 == 1) {
if (X3 >= 90) {
swim(X3 - 90);
} else {
swim(270 + X3);
}
X4 = 0;
sign = 1;
} else {
X4 += 1;
if (X4 <= 30) {
x += 3;
} else if (X4 <= 60) {
x += 5;
} else {

x += 8;
}
}
if(scan(x)<=20)
{
swim(X2);
LO = 0;
cannon(x, scan(x));
}
if (scan(x) <= 70 && scan(x) >= 20) {
cannon(x, scan(x));
LO = 1;
} else {
LO = 0;
}
if(scan(X1)<=20)
{
swim(X3);
L1 = 0;
cannon(X1, scan(X1));
}
if (scan(X1) <= 70 && scan(X1) >= 20) {
cannon(X1, scan(X1));
L1 = 1;
} else {
L1 = 0;
}
if(scan(X2)<=20)
{
swim(x);
L2 = 0;
cannon(X2, scan(X2));
}
if (scan(X2) <= 70 && scan(X2) >= 20) {
cannon(X2, scan(X2));
L2 = 1;
} else {
L2 = 0;
}
if(scan(X3)<=20)
{
swim(X1);
L3 = 0;
cannon(X3, scan(X3));
}
if (scan(X3) <= 70 && scan(X3) >= 20) {
cannon(X3, scan(X3));
L3 = 1;
} else {
L3 = 0;
}
}
我的代码,你可以研究一下。每次都是半血以上过关,过关率百分之百
(横向移动规避灵感来源于星盟冲突,规避远射类武器,没玩过可以无视这一行)2017-12-07
荒原珠.珍稀
兔女郎
薄纱外套
星河袜圈
吊带网袜
筝迹.黑
兔女郎头饰
豪门耳环
翅影披风
骨牙项链
金属手圈
十字架手链
柳钉手套
薄荷烟
真皮钱包
白色腰带
梦纱
玫瑰花
白领单肩包
曼珠沙华
兔球球
月千重
月香渺
技能最好满级,我也是试了几次就得到s了2017-03-09
mengvlog 阅读 84 次 更新于 2025-09-10 18:47:46 我来答关注问题0
  •  武汉誉祥科技 blockly游戏乌龟攻略(blockly游戏音乐攻略)

    在进入游戏前,游戏玩家需要先熟悉游戏界面。界面中有许多音乐工具和选项,包括乐器、音符和节奏等等。游戏玩家需要了解每个工具的作用和用法,这样才能更好地创作出自己的音乐作品。同时,游戏玩家还需要了解游戏中的任务和目标,这样才能更好地完成挑战。2. 掌握基本音乐知识 游戏玩家需要掌握一些基本的音乐...

  •  阿暄生活 编程通关游戏怎么做的 编程通关游戏

    一、选择编程语言 推荐语言:对于初学者,建议选择Python或JavaScript等易于学习和理解的编程语言。这些语言不仅语法简洁,而且拥有丰富的资源和社区支持。二、确定游戏规则与目标 明确规则:首先,需要明确游戏的规则和目标。这将决定游戏的整体框架和玩家需要完成的任务。设定关卡:设计多个关卡,每个关卡都有特...

  •  深空见闻 如何用编程做个马里奥游戏

    实现步骤:首先,需要掌握C语言的基础语法和EasyX图形库的使用方法。然后,根据马里奥游戏的需求,设计并实现游戏的各种元素,如马里奥角色、敌人、关卡、道具等。最后,进行游戏逻辑的编写和调试,确保游戏的正常运行。2. 使用Python 简介:Python是一种简单易学的编程语言,适合用于游戏开发。实现方法:可以...

  •  翡希信息咨询 青少年编程学什么?

    一、编程思维的培养 青少年编程教育强调的是寓教于乐,通过编程游戏启蒙、可视化图形化编程软件,培养学生的编程思维,即一种高效解决问题的思维方式。这种思维方式不仅限于编程领域,还可以应用于学习、生活和工作的各个方面。二、不同年龄段的学习内容 7-9岁孩子 学习内容:这个年龄段的孩子可以开始接触...

  •  翡希信息咨询 11个最适合孩子学习编程的编程游戏(二)

    11个最适合孩子学习编程的编程游戏(二)RoboZZle(机器人)游戏介绍:RoboZZle是一个通过放置命令块来编程机器人的游戏,它不直接教授特定的编程语言,而是通过一系列有趣的挑战来教授编程概念。特点:游戏从简单开始,逐步引入子例程、递归等关键编程概念。适合各年龄段的孩子,甚至成年人也会喜欢其逻辑谜题...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部