魔兽世界三部曲--全图色自动钓鱼的实现思路(三)

2 篇文章 0 订阅
2 篇文章 0 订阅

最近比较忙,抽空完成第三步自动钓鱼,话不多说,先上图:

实现的思路:

1、选择监控区域,监视鱼漂是否在范围内,没在就重新抛竿

2、场景和鱼漂的颜色多种多样,设置一个取鱼漂色的方法,加上颜色偏移上下波动,基本就比较准确了

3、我是通过水花来判断是否中鱼,水花是白色的,但有时候也不是纯白的,计算捕捉到的颜色点数来判断

4、设置钓鱼宏

/cast 闪光的小珠
/cast 夜色虫
/cast 明亮的小珠
/use 鱼竿
/use 16
/cast 钓鱼

OK,到此为止,有兴趣的同学可以尝试一下,以上纯做技术探讨,严谨用于商业和非法途径,否则后果自负。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你解答这个问题。使用flex和bison可以方便地生成语法分析器代码。下面是一个简单的例子,演示如何使用这两个工具来实现语法分析。 首先,我们需要定义一个语法规则文件。例如,我们可以创建一个名为“mygrammar.y”的文件,并在其中定义我们的语法规则。以下是一个简单的示例: ``` %{ #include <stdio.h> %} %token NUMBER %token PLUS MINUS TIMES DIVIDE %% expression: NUMBER | expression PLUS expression | expression MINUS expression | expression TIMES expression | expression DIVIDE expression %% int main(void) { yyparse(); return 0; } int yyerror(char *s) { printf("Error: %s\n", s); return 0; } ``` 在上面的代码中,我们定义了一个表达式的语法规则,其中可以包含数字、加号、减号、乘号和除号。接下来,我们需要使用bison将该文件转换成C代码。在终端中运行以下命令: ``` bison -d mygrammar.y ``` 该命令将生成两个文件:mygrammar.tab.c和mygrammar.tab.h。接下来,我们需要使用flex来为我们的语法规则生成一个词法分析器。我们可以创建一个名为“mylexer.l”的文件,并在其中定义我们的词法规则。以下是一个简单的示例: ``` %{ #include "mygrammar.tab.h" %} %% [0-9]+ { yylval = atoi(yytext); return NUMBER; } [+/*-] { return yytext[0]; } \n { return 0; } . { yyerror("Invalid character"); } %% int yywrap(void) { return 1; } ``` 在上面的代码中,我们定义了一个词法规则,其中可以包含数字和加号、减号、乘号和除号。现在,我们需要使用flex将该文件转换成C代码。在终端中运行以下命令: ``` flex mylexer.l ``` 该命令将生成一个名为“lex.yy.c”的文件。现在,我们可以将这三个文件(mygrammar.tab.c、mygrammar.tab.h和lex.yy.c)编译成一个可执行文件。在终端中运行以下命令: ``` gcc -o myparser mygrammar.tab.c lex.yy.c -lfl ``` 现在,我们已经成功地创建了一个语法分析器。我们可以使用以下命令运行它: ``` ./myparser ``` 该语法分析器将等待用户输入一个表达式,并输出该表达式的语法树。例如,如果我们输入“1+2*3”,该程序将输出以下内容: ``` $ ./myparser 1+2*3 $ ``` 希望这个例子能够帮助你更好地了解如何使用flex和bison实现语法分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值