电脑的烟花及编程码
就是就是
这方面用c麻烦死了
还是学学flash吧
简单得多
有c的基础
actionscript也不难学
编程求助:求两道题目的JAVA代码
可能你会觉得我在把问题变得复杂化,但是请看下去:
(请将代码中的````换成一个tab符)
首先我们定义一个异常类: UnExpectedNumberException
表示所接收到的数字是我们不想要的,类如,我们只对正数进行平方根处理,
但是传入的是一个负数,于是我们可以抛出这个异常
// UnExpectedNumberException.java
//package cn.plause.test.narcissus;
public final class UnExpectedNumberException extends Exception {
````private static final long serialVersionUID = 3080196113722623423L;
````private static final String MESSAGE_FMT = "Number should bigger than %s and *** aller than %s";
````public UnExpectedNumberException(int min, int max) {
````````super(String.format(MESSAGE_FMT, min, max));
````}
}
接下来,我们再定义一个接口:NumberAcceptor (你可以理解为数字接受器)
该接口只有一个 *** :
public boolean accept(Integer number) /* throws UnExpectedNumberException */;
该 *** 接受一个参数Integer number,如果实现该接口的类认为
这个number是他需要的或者相信的或者什么其他的东西的话就会返回true,否则false.
// NumberAcceptor.java
//package cn.plause.test.narcissus;
public interface NumberAcceptor {
````public boolean accept(Integer number) /* throws UnExpectedNumberException */;
}
这个接口具有通用性,今天你可能使用它判断一个数是否是水仙花数,明天说不定会用它
来判断一个数是不是镜像数(3443就是一个镜像数)或者什么其它的数字。
下面我们回到重点,因为前面跟水仙花数的逻辑判断一点也没有搭上边。
我们知道,按照一般的逻辑就是这样
for (i = 100; i 1000; i++) {
````如果 i 是一个水仙花数则打印 i
}
而按照一般的判断一个水仙花数的逻辑就是这样的
i / 100 得到百位,
i % 100 / 10 得到十位,
i % 10 得到个位。
然后把这百、十、个位分别立方相加得到一个和,
再将这个和同 i 相比较,如果相等则是水仙花,否则不是。
其实我们还有另一种逻辑的:
一个数 153,如果把它看成是一个字符串的话就是 "153",
字符串的之一个字符是 '1',第二个是 '5',第三个是 '3'。
为什么不直接 1 * 3 + 5 * 3 + 3 * 3 呢?
可能你会说 '1' != 1,
那么 '1' - '0' 呢?!
'1' 的ASC码是 31,'0'的ASC码是30,
显示有 '1' - '0' = 1, '8' - '0' = 8
所以我们可以直接 ('1' - '0') * 3 + ('5' - '0') * 3 + ('3' - '0') * 3
注意,本人并不是想说明别人的算法是不正确的,只是想说清楚我的算法。
请看最重要的类:
(怕大家调试不方便,所以把异常去掉了)
// NarcissusNumber.java
//package cn.plause.test.narcissus;
public final class NarcissusNumber {
````/**
```` * 计算一个数字的每一位的立方和。
```` * 这个 *** 不只是能算出 3 位数的水仙花数。
```` */
````public static int pow(Integer number) {
````````String digits = number.toString();
````````int total = 0;
````````/*
```````` * 字符 '9' - '0' = 9, '8' - '0' = 8
```````` * 以此类推……
```````` */
````````for (int i = 0; i digits.length(); i++) {
````````````total += (int) Math.pow(digits.charAt(i) - '0', 3);
````````}
````````return total;
````}
````public static void main(String[] args) {
````````/* 新建一个数字接受器对象 */
````````NumberAcceptor narcissusNA = new NumberAcceptor() {
````````````/* 实现NumberAcceptor接口中的accept *** */
````````````public boolean accept(Integer number) /* throws UnExpectedNumberException */ {
````````````````// 三位数的水仙花数肯定是大于100小于1000的数
````````````````if (! (number 100 number 1000)) {
````````````````````/* throw new UnExpectedNumberException(100, 1000); */
````````````````}
````````````````// 如果这个整数的每一位的立方和与其本身相等,则其是水仙花数
````````````````return pow(number) == number;
````````````}
````````};
````````// 你可以把这个循环的初始条件与结束条件更改以使本程序算出多位水仙花数
````````for (int i = 101; i 1000; i++) {
````````````// 如果是水仙花数,则打印这个整数
````````````if (narcissusNA.accept(i)) {
````````````````System.out.println(i);
````````````}
````````}
````}
}
希望不要嫌麻烦。
第二个: 个人所得税,这个没有什么扩展性,所以简单写了
public final class TaxUtils {
````public static double calculatePersonalTax(int wage) {
````````if (wage = 1000) { // 没有超过 1000 不用给钱
````````````return 0d;
````````}
````````int diff = wage - 1000;
````````// 不知道超过40000的怎么算
````````if (diff 40000) {
````````````return -1d;
````````}
````````if (diff 20000) { // 超出 20000
````````````return diff * 0.25d;
````````} else if (diff 5000) { // 超出 5000
````````````return diff * 0.20d;
````````} else if (diff 2000) { // 超出 2000
````````````return diff * 0.15d;
````````} else if (diff 500) { // 超出 500
````````````return diff * 0.10d;
````````} else { // 超出小于 500
````````````return diff * 0.05d;
````````}
````}
````public static void main(String[] args) {
````````System.out.println(calculatePersonalTax(30000));
````}
}
《我的世界手机版》1.2烟花代码是什么
我的世界手机版1.2烟花代码是什么?我的世界烟花是新增的物品,玩家们不是很清楚它的代码。下面小编为大家分享。
我的世界手机版1.2烟花代码
这里的烟花指的是烟花火箭,其数据值DEC: 401 HEX: 191 BIN: 110010001。
实体id为:fireworks_rocket
如果在指令中要用到烟花火箭,只要输入上方的实体id就可以了。
表白烟花代码
天天敲代码的朋友,有没有想过代码也可以变得很酷炫又浪漫?今天就教大家用Python模拟出绽放的烟花,工作之余也可以随时让程序为自己放一场烟花秀。
python炫酷烟花表白源代码
这个有趣的小项目并不复杂,只需一点可视化技巧,100余行Python代码和程序库Tkinter,最后我们就能达到下面这个效果:
学完本教程后,你也能做出这样的烟花秀。
整体概念梳理
我们的整个理念比较简单。
我们这里通过让画面上一个粒子分裂为X数量的粒子来模拟爆炸效果。粒子会发生"膨胀”,意思是它们会以恒速移动且相互之间的角度相等。这样就能让我们以一个向外膨胀的圆圈形式模拟出烟花绽放的画面。经过一定时间后,粒子会进入"自由落体”阶段,也就是由于重力因素它们开始坠落到地面,仿若绽放后熄灭的烟花。
c语言放烟花代码
# define PI 3.14
#includegraphics.h
#includestdio.h
#includestdlib.h
#includebios.h
#includemath.h
#includetime.h
#includealloc.h
#includeconio.h
#includedos.h
#includestring.h
void star(int x,int y);
void drawstar();
void Putstar(void);
void starflower();
int main()
{
int gdriver=DETECT;
int gmode=0;
initgraph(gdriver,gmode,"c:\\tc20\\bgi");
drawstar();
starflower();
getch();
closegraph();
return 0;
}
void star(int x,int y)
{
int i,a;
int n=5;
int x1[5],y1[5],x2[5],y2[5];
setcolor(YELLOW);
for(i=0;i5;i++)
{
x1[i]=x+n*cos(i*72*PI/180);
y1[i]=y+n*sin(i*72*PI/180);
x2[i]=x+n/2*cos(i*72*PI/180+PI/5);
y2[i]=y+n/2*sin(i*72*PI/180+PI/5);
}
for(i=0;i5;i++)
{
a=i+1;
if(a4) a=0;
line(x1[i],y1[i],x2[i],y2[i]);
line(x2[i],y2[i],x1[a],y1[a]);
}
}
void Putstar(void)
{
int seed=1858;
int i,dotx,doty,h,w,color,maxcolor;
w=getmaxx();
h=getmaxy();
srand(seed);
for(i=0;i100;++i)
{dotx=i+random(w-1);
doty=1+random(h-1);
color=random(h-1);
setcolor(color);
putpixel(dotx,doty,color);
circle(dotx+1,doty+1,1);
}
srand(seed);
}
void drawstar()
{
int a[]={70,280,230,440,140,110,180,90,500,360};
int b[]={50,27,88,99,100,37,67,98,60,78},i;
setfillstyle(1,14);
for(i=0;i10;i++)
{
star(a[i],b[i]);
floodfill(a[i],b[i],YELLOW);
}
Putstar();
}
void starflower()
{
int i=0,j,n=60,n1=2;
int x=200,y=200,size=100;
int cover=0;
int delay1=20;
int wid,hei;
int px,py;
int color=9;
while(!kbhit())
{
if(isize)
{
for(j=0;jn;j++)
{
px=x+i*cos(j*360/n*PI/180);
py=y+i*sin(j*360/n*PI/180);
putpixel(px,py,rand()%16);
putpixel(px-1,py,color);
putpixel(px,py+1,color);
putpixel(px+1,py-1,YELLOW);
putpixel(px,py-1,YELLOW);
putpixel(px+1,py,RED);
putpixel(px+1,py+1,RED);
}
}
if(isizecoversize)
{
setcolor(BLACK);
circle(x,y,cover++);
delay1=20;
}
if(cover==size)
{
i=0;
x=50+rand()%550;
y=rand()%400;
cover=0;
color=rand()%16;
size=50+rand()%250;
delay1=40;
clearviewport();
drawstar();
}
i+=n1;
delay(delay1);
}
}