public class Day31 {
public static void main(String[] args) {
Animal ch=new Chicken("喔喔","芦花鸡","虫子","打鸣");
Animal du=new Chicken("嘎嘎","斑嘴鸭","小鱼虾","游泳");
AnimalActionscript(ch);
AnimalActionscript(du);
}
}
//父类
abstract class Animal{
protected String name,type,hobby,skill;;
protected Animal(String name,String type,String hobby,String skill){
thisname=name;
thistype=type;
thishobby=hobby;
thisskill=skill;
};
protected void nameFun(){
Systemoutprintln("我叫:"+name+"是一只"+type+"!");
}
protected void hobbyFun(){
Systemoutprintln("我喜欢吃:"+hobby+"!");
}
protected void skillFun(){
Systemoutprintln("我会:"+skill+"!");
}
}
//子类1鸡
class Chicken extends Animal{
public Chicken(String name,String type,String hobby,String skill){
super(name,type,hobby,skill);
}
}
//子类2鸭
class Duck extends Animal{
public Duck(String name,String type,String hobby,String skill){
super(name,type,hobby,skill);
}
}
//调用类;
class AnimalAction{
public static void script(Animal an){
annameFun();
anhobbyFun();
anskillFun();
}
}
在Skill中,PCB设计中的PCB元件(Cell)是非常常见的一种元件类型。在PCB设计中,有时候需要将PCB元件中的某些颜色进行锁定,以防止颜色被误 *** 作更改。以下从多个角度解答Skill写的PCB元件锁定颜色的问题。
首先,从技术实现上来看,在Skill中实现PCB元件锁定颜色的方法是通过使用pcell()函数的lcolor属性来实现的。该属性可以用来设置PCB元件的颜色,以及锁定元件的颜色,从而防止其被误 *** 作更改。因此,从技术实现的角度来看,Skill写的PCB元件锁定颜色的方法是可行的。
其次,从应用场景来看,Skill写的PCB元件锁定颜色方法主要适用于那些需要保证元件颜色稳定不变的场景。例如,在PCB设计中,有些元件的颜色是与其功能相关的,一旦颜色被更改,就会影响元件的功能。在这种情况下,使用Skill写的PCB元件锁定颜色方法可以保证元件的颜色不被误 *** 作更改,从而保证元件的正常功能。
第三,从使用便捷性来看,Skill写的PCB元件锁定颜色方法也是比较便捷的。PCB元件的颜色是直接影响到PCB设计的视觉效果的,因此需要经常进行调整。如果每次调整都要重新设置颜色,就会增加设计的复杂度。使用Skill写的PCB元件锁定颜色方法可以一劳永逸地设置元件的颜色,不需要重复设置,从而提高了设计的效率。
最后,从稳定性和可维护性来看,Skill写的PCB元件锁定颜色方法也是相对稳定和易于维护的。一旦元件颜色被设置为锁定状态,就不会被误 *** 作更改,保证了元件的稳定性。同时,Skill是一种非常成熟和稳定的编程语言,可以保证程序的可维护性和稳定性。
综上所述,Skill写的PCB元件锁定颜色方法是一种可行的、适用于特定场景的方法。它可以保证元件的颜色稳定不变,提高了设计的效率和稳定性。但需要根据具体的设计需求来选择是否使用该方法。
如何设置allegro的快捷键(ZT)
修改变量文件,设置自定义快捷键。
Allegro可以通过修改env文件来设置快捷键,这对于从其它软件如protle或PADS迁移过来的用户来说,可以沿用以前的 *** 作习惯,还是很有意义的。
先说一下Allegro的变量文件,一共有2个,一个是用户变量,一个是全局变量。
用户变量文件的位置,通过系统环境变量设置:系统属性-高级-环境变量,其中的Home值就是env所在目录。要注意的是,这里也有两个变量,一个 是用户变量一个是系统变量,在用户变量里设置了Home之后就不需要在系统变量里再设置了,如果同时设置的话,会以用户变量的为准而忽略系统变量。比如我 在用户变量里设置的Home目录为d:\temp,那么env文件就位于d:\temp\pcbenv内。
如果没有在系统属性里设置Home变量的路径,那么对于XP,会自动在C:\documents and settings\用户文件夹\pcbenv内产生env文件。对于2000,pcbenv目录位于C盘根目录下。
全局变量的位置,固定为软件安装目录内,比如我的就是:d:\cadence\spb_157\share\pcb\text内。
通常建议修改用户变量env文件,而不要修改全局变量env文件,至于为什么,我也不知道:)
另外,这2个env文件,用户变量的优先级更高,就是说如果2个文件中的设置出现冲突,那么以用户变量env文件为准。
好了,搞清楚env文件的位置后,我们就可以来修改了。
用户变量env文件,是类似于下面的格式:
source $TELENV
### User Preferences section
### This section is computer generated
### Please do not modify to the end of the file
### Place your hand edits above this section
###
set autosave_time = 15
set autosave
我们要设置的快捷键必须放置在### User Preferences section之前。
设置快捷键指令格式 :
alias 快捷键 执行的命令
例:alias Del delete
我的部分快捷键:
alias Pgup zoom in
alias Pgdown zoom out
alias End redisplay
alias Insert add connect
alias Home zoom fit
alias Del delete
funckey ‘ ‘ iangle 90
扩展技巧:
关于快捷键可替代的命令,并不仅限于一级菜单中原已有快捷键的命令,对于有多级菜单的命令,比如Display-Show rats-Net(点亮单个网络),我们也可以用快捷键代替:alias F9 rats net。这个命令"rats net"会在你执行后出现在右下角cmd:的后面。这样可快捷的命令就随你设置了。
===========================================================================
★Allegro中的快捷键设置说明★
首先说明一下环境变量文件(evn文件),环境变量文件有两个,它们分别在系统盘的根目录下的pcbevn目录中(比如系统在C盘,那么evn文件将在c:\pcbevn下)和程序安装路径下(如Cadence 设计系统程序安装在D:\Cadence 下,则evn 文件将在
D:\Cadence\PSD_151\share\pcb\text目录下),前者是本地变量文件,后者是全局变量文件(系统自动建立,即为默认设置)。在本地变量文件中,主要存放的用户参数设置值(Setup->User Preferences如库文件所在的路径等)。在全局变量文件中主要描述的是:应用程序的工作路径和系统的快捷键定义等等。在启动一个应用程序时,应用程序会根据环境变量中的参数进行初始化。
Cadence系统是一个比较开放的系统,它给用户留了比较多的定制空间。在Allegro中我们可以用alias或funckey命令来定义一个快捷键,以代替常用的设计命令。要使定义的快捷键产生作用,我们有两种方式来定义:
1、在命令窗口直接定义,但这样定义的快捷键只能在当前设计中使用,如果重新启动设计时,快捷键将会失效。命令格式如下:
alias shortkey Keyboard Commands
funckey shortkey Keyboard Commands
注意:1)如果直接键入alias或funckey命令然后回车,系统将会d出所有快捷键列表,这相当于执行Tools->Utilities->Aliases/Function keys命令。
2)alias命令不能用来定义字母,原因是字母键要用来输入命令行。但是funckey命令可以用来定义单个字母为快捷键,它比alias命令更为强大,alias能定义的它都能定义,但是字母被定义成某快捷键后,该字母就不能用来输入键盘命令了。
3)Allegro 中的所有键盘命令(Keyboard Commands )列表可以通过执行Tools->Utilities->Keyboard Commands 命令来查看,这些命令都可以设置成快捷键。
2、在本地环境变量文件中直接定义,这样定义的命令将长期有效。本地的环境变量文件是evn文件(c:\pcbevn),我们可以对它进行编辑。我们的alias命令可以在第二行开始写(第一行是:source $TELENV),例如我们以前在Protel 或PowerPCB 中常用的放大、缩小命令就可以如下定义:
alias Pgdown zoom out
alias Pgup zoom in
另外我们经常用alias命令来定义以下几个常用的shortkey:
alias ~R angle 90(旋转90 度)
alias ~F mirror(激活镜相命令)
alias ~Z next(执行下一步命令)
alias End redisplay(刷新屏幕)
alias Del Delete(激活删除命令)
alias Home Zoom fit(全屏显示)
alias Insert Define grid(设置栅格)
下面我们将常用的几个命令或快捷键做一个说明:
一、常用键盘命令在allegro中有很多键盘命令,它是通过键盘输入来激活或执行相关的命令。键盘
命令基本上包含了大部分的菜单命令。下面列举几个常用的键盘命令。 1、x 100:Y 坐标不变,X方向移动100 个单位值(以设定的原点为参考点) 2、y 100:X 坐标不变,Y方向移动100 个单位值 3、x 100 100:移动到(100,100)坐标处 pick 命令与上面的x 或y 命令功能相同,只是在执行pick 命令时会d出一个窗口,输入想要的
坐标值就可以,与上面相对应,pick 命令也提供三种模式:pick 、pickx 和picky 。4、mirror :激活镜相命令(本命令是先激活,后选择要镜相的对象)。5、rotate :激活旋转命令(本 *** 作要先选取对象,后执行该命令)6、angle 90: 旋转90 度(本 *** 作要先选取对象,后执行该命令)
二、常用快捷键alias F2 done :结束当前命令alias F3 oops :取消前一次 *** 作alias F4 cancel :取消当前命令alias F5 show element :激活“属性显示”命令alias F6 add connect :执行布线命令alias F7 vertex :激活“增加倒角”命令alias F8 zoom points :点取放大alias F9 zoom fit :满屏显示alias F10 zoom in :放大窗口alias F11 zoom out :缩小窗口alias F12 property edit :激活“属性编辑”命令funckey + subclass -+ :切换到下一层funckey - subclass --:切换到上一层
# F1 is normally reserved by the system for Help so we don't use it
alias F12 toggle
alias F11 zoom out
alias F10 zoom in
alias F9 add connect
alias F8 oops
alias F7 cancel
alias F6 property edit
alias F5 show element
alias F4 pop swap
alias F3 set acon_oldcmd
alias F2 unset acon_oldcmd
alias Del slide
alias Insert custom smooth
alias Home zoom fit
alias End redisplay
alias Pgup rotate
alias Pgdown move
alias ~N new
alias ~O open
alias ~S save
alias ~X cup
alias ~G Define grid
alias ~R show measure
alias ~L mirror
alias ~A save_as
alias ~E change
funckey + subclass -+
funckey - subclass --
#---------------------------------------------------------------------------------------------------
# Script Aliases Description
#---------------------------------------------------------------------------------------------------
alias g1 "replay gp1" # sets grid to 01 mil
alias g3225 "replay gp3225"
alias g532 "replay gp532"
alias g25 "replay gp25"
#--------------------------------------------------------------------
# OTHER ALIASES
alias edps padedit
alias rps "replace padstack"
alias unplrp report unplaced
alias x pick
alias y pick l
alias ix ipick
alias iy ipick 0
alias reopen 'open -q $module'
# autoroam
alias sar set pcb_autoroam
alias uar unset pcb_autoroam
alias reopen 'open -q $module'
alias bubset 'settoggle shove_mode Off "Hug preferred" "Shove preferred"; options bubble_space $shove_mode'
alias ~B bubset
alias smoothset 'settoggle smooth_mode Off Minimal Full; options smooth_level $smooth_mode'
alias ~C smoothset
#--------------------------------------------------------------------
# COMMAND DEFAULTS
# allow slide to work on arcs by default
set slide_arcs
# Compatibility aliases
alias window zoom
alias hilite hilight
alias dehilite dehilight
alias pickx pick
alias picky pick l
alias ipickx ipick
alias ipicky ipick 0
source -q $ALLEGRO_SITE/siteenv
### User Preferences section
### This section is computer generated
### Please do not modify to the end of the file
### Place your hand edits above this section
###
set autosave_time = 10
set autosave
set scriptpath = C:\pcbenv\scripts
set clippath =
set devpath = F:\work\cadence\allegro\lib\devices\
set padpath = F:\work\cadence\allegro\lib\pad\
set psmpath = F:\work\cadence\allegro\lib\symbols\
set display_nodynamicarcwidth
set display_nohilitefont
unset display_nolinewidth
unset display_noskeletal_draw
unset bug_solaris_hlt_lines
set display_nocolor_dynamics
unset display_raster_ops
set display_backingstore = on
set display_nosaved_geometry = size
set display_manual_colorpriority
unset display_drcfill
set gloss_pad_shape
unset no_dynamic_zoom
set no_zoom_to_object
set no_dragpopup
set noswapripup
set logic_edit_enabled
unset no_shape_fill
set new_shape_fill_nt
set pcb_cursor = infinite
//===============================================================================
protel老手 初学allegro自定义的一些类protel快捷键
嘿嘿,自成为老手估计要被n多人鄙视了,不过好歹用protel也7年了快,不老也不小吧
最近因为项目的需要,必须学习cadence了,硬着头皮看了两天教程了,目前不是很烦allegro了,hehe
学会了定义快捷键,但是因为不熟悉cadence中的相应命令所以只定义了一点
funckey mm move 移动物体
funckey xa dehilight 取消点亮
funckey sn hilight 点亮
funckey l mirror 镜像放置物体
funckey g Define grid 定义栅格
funckey pl add line 画线(非连接线)
funckey pt add connect 画连接线
funckey ps add text 添加字符
funckey tp color 定义颜色
alias Pgdown zoom out
alias Pgup zoom in
alias Space angle 90 无效???
alias ~Z oops 上一步
alias End redisplay
alias Del Delete
alias Home Zoom fit
alias Esc cancel
funckey rm show measure 显示距离
funckey dk define xsection 定义叠层结构
都是针对protel中习惯的快捷键定义的,还有很多没有定义,例如隐藏所有鼠线 nha,但是不知道cadence中隐藏所有鼠线的文字命令是什么所以没法写
类似的显示所有鼠线nsa
在鼠标已有命令的情况下取消所有点亮eea,在cadence中也不知道怎么表示
protel引进网表 DN cadence ??
查看plane分割DI ??
修改polygen的边界EMV ??
。。。。。。。。。。。。。。。。。。。
还有很多了,protel最大的好处就是键盘快捷命令多而且一幕了然,真希望cadence中能定义到所有的protel命令,这样protel转cadence估计也就是1周的事情了,哈哈,我说的是PCB布线,不包括SI等应用啊。
大侠您好:
04月23日
1、qixue参数,判断当前奇穴,支持ID判断
qixue:青歌-轻弃 当前奇穴有青歌和轻弃
qixue:焚玉|青歌 当前奇穴是焚玉或青歌
2、saura和nosaura参数
saura参数基本使用和aura参数是一样的,不同地方是saura这个参数会判断气场归属是否为自己
主要是用于剑纯判断气场归属是自己,然后方便爆气场的
02月24日
添加var宏,可以简单的定义开关
例:
/if [条件]
/var [on] 测试
/if [条件]
/var [off] 测试
/end
/skill [v_测试] 技能
12月26日
开关添加默认状态
#var name:XXX,default:on
#var name:XXX1,default:off
#skillbox XXX:on,XXX:off,横扫六合
/skill [横扫六合] XXXX 当横扫六合的开关为开启的时候,释放XXXX
/skill [横扫六合:off] XXXX 当横扫六合的开关为关闭的时候,释放XXXX
/skill [横扫六合:on] XXXX 当横扫六合的开关为开启的时候,释放XXXX
toggle宏,可以开关定义的参数和技能开关
/toggle [条件] var_参数1,var_参数2,技能1
只开
/toggle [var_参数:off] var_参数
只关
/toggle [var_参数] var_参数
11月29日
1、添加select宏,根据条件选择最近的NPC
/select [XXX] NPC名称
添加otaing和nootaing根据事件本地判断读条状态,避免读条状态延迟
添加tmaxlife判断目标最大血量值
修改tlife参数,当值为0-1的时候判断血量百分比,大于1的时候判断实际血量值
修改otaction/ota可以判断所有类型读条
10月19日
skilltest参数,测试技能是否可以对目标释放,也就是技能栏图标是不是亮的
skilltest:XXX-XXX
skilltest:xxx|xxx
/if宏的改进,支持/if语法嵌套,为了防止出错最好是在首行加入/resetif
9月30日
tnpcs判断目标范围内可攻击NPC数量,格式同npcsptd千机变到目标的距离/skill [ptd>25,nolastota:千机变] 千机变psd千机变到自己的距离/skill [psd>15,nolastota:千机变] 千机变
7月30日
threat 判断仇恨,范围0-1
例子:threat>05
npcs 判断范围内可攻击NPC数量,格式:npcs:距离>人数
例子:npcs:4>2
nolastota,lastota 判断上一次读条
/skill [nombuff:钟林毓秀,nolastota:钟林毓秀] 钟林毓秀
7月26日
一、添加宏设置功能,这个界面你在宏里面使用了相关语句才会显示
#var name:测试,desc:测试啊,icon:133
#skillbox 暗藏杀机,千机变
/skill [var_测试] 天绝地灭
主要就是两种开关功能
1、自定义开关,相等于自定义参数,使用是“var_名字”
格式:#var name:名字,desc:描述,icon:图标
desc和icon是可选,不用也没关系,icon可以是数字和任意的技能名称。所有宏里面,同时存在的只能有一个相同名字的
例子:
#var name:爆发
#var name:爆发1,desc:爆发1
#var name:爆发2,icon:定军
#var name:爆发3,icon:133
#var name:爆发4,icon:123,desc:爆发开关
2、技能开关,决定宏里面的技能执行,关掉设置界面上面的开关。技能就无法执行
#skillbox 技能1,技能2
二、puppet参数
添加了类型和剩余存在时间判断
puppet 或 puppet:毒刹 或 puppet:重弩<3
7月19日
1、otaction/ota 支持读条数值状态判断,ota:1,0是不读条 1是普通读条 2是引导读条
2、添加tstatus和tnotatatus参数
3、Buff参数支持ID判断,例:buff:123>5 ,nobuff:123等
4、技能不放在技能栏上,也可以执行,后撤等特殊技能可以正常释放了
5、添加config before:[xxx] 同名参数 /if [xxx] /elseif [xxx]
6、添加config before:null 同名参数/else /end
7、添加"/end [xx]“终止宏 同名参数/return [xxxx],/end宏比/return多一个清理预判断的功能
8、改进/item宏,可以换装备
9、添加括号子句功能,可以减少不必要的重复参数判断
支持无限括号子句嵌套
一个条件支持多个括号子句
子句支持"或"分组
例子:
/skill [(noaura:碎星辰;aura:碎星辰<3),qidian<6,distance<20] 碎星辰
7月5日
aura/qichang判断对自己有效的气场aura:生太极-吞日月 或 aura:破苍穹<3|生太极<3支持“或”“ 且” 判断,数字为剩余气场时间判断noaura/noqichang判断无气场noaura:生太极-吞日月支持“ 且” 判断
6月28日
1、添加end和item宏
结束宏的运行,它下面的语句不会运行
/end [条件]
使用物品
/item [条件] 物品名
2、otaction的改进,添加同名参数ota
otaction不带参数,就是判断所有读条状态
otaction:技能名>进度,这个技能只支持普通读条技能,进度判断支持>,<,=,>=,<=
4月19日
添加cbuff连续取消功能和外部扩展接口
/cbuff [条件] 名字1,名字2
可以外部调用三个接口
RegisterMacroParam(func,) 注册参数
MacroTestCondition(szCondition) --szCondition判断条件[]中间的内容
MacroCompare(sRel,nS,nD) --sRel运算符,nS实际的数值,nD宏中的数值
1、MacroCompare例子
function tm(sParam,f) --sParam,f是参数内容
local player=GetClientPlayer()
local skill=playerGetKungfuMount()
if not skill or skilldwMountType ~= 10 then
return false
end
if playernMaxEnergy > 0 then
return MacroCompare(f,playernCurrentEnergy,tonumber(sParam))
else
return false
end
end
2、RegisterMacroParam例子
--[[
sParam是参数的内容
例子:
1、nobuff:测试1|测试2
sParam=测试1|测试2
f=:
2、rage>90
sParam=90
f=>
]]
local function param_talk(sParam,f)
local player=GetClientPlayer()
playerTalk(PLAYER_TALK_CHANNELNEARBY,"",{{type="text",text=sParam}})
return true --返回true条件成立
end
RegisterMacroParam(param_talk,"talk","说话","说")
3、MacroTestCondition例子
local function macro_talk(szCmd)
local player=GetClientPlayer()
local nChannel=PLAYER_TALK_CHANNELNEARBY
local _,_,szOption,szContent=stringfind(szCmd,"%s[\[](+)[\]]%s(+)")
szContent=szContent or szCmd
if not szOption or MacroTestCondition(szOption) then
playerTalk(nChannel,"",{{type="text",text=szContent}})
end
end
AppendCommand("talk",macro_talk)
插件的infoini要加上宏扩展依赖
dependence=Moon_macro
附近的说话插件是一个例子
调用:
/talk [fight] 南宫教主,千秋万载,一统江湖
/skill [talk:普度四方,拯救众生] 普渡四方
说话7z(708 Bytes, 下载次数: 741)
4月14日
1、改进参数处理,提高容错率
2、所有的对比参数都支持:>,<,>=,<=,=
3、扩充宏字节上线到2048
4、nocd和cd支持或和且判断
参数的改动比较大,有问题请及时反馈,QQ群:105346262
3月1日
添加moonhit和sunhit
moonhit,判断[幽月轮]下一次命中目标是第几段,支持>,<,=,<=,>=
sunhit,判断[赤日轮]下一次命中目标是第几段,支持>,<,=,<=,>=
例子:
/skill [fullmoon;fullsun] 净世破魔击
#满日或满月,使用净世破魔击
/config before:[moonhit<3,sunhit<3]
/skill 银月斩
/skill 烈日斩
/config before:null
#下一次用幽月轮或赤日轮都不是第三段,使用银月斩和烈日斩
/skill [moon>sun;moonhit>1] 幽月轮
#月魂大于日灵 或 幽月轮下一次使用是第2段 或 第3段,就用幽月轮
/skill [sun>moon;sunhit>1] 赤日轮
#参考上一条
/skill 赤日轮
#最后默认技能赤日轮,日系优先复制代码12月14日
添加条件或分组
例子:
/skill [5>4,5>2;5>6,5<2] 技能
上面的条件会被分出2组
1、5>4,5>2 判断为真
2、5>6,5<2 判断为假
然后有一组为真,那么条件判断成功
>
如帮助到您,还望采纳
以上就是关于java题目,求助大神了全部的内容,包括:java题目,求助大神了、skill写的pcell怎样lockcolor、如何修改Allegro菜单,如何将SKILL命令加入Allegro菜单等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)