Sat13 - fpsconvertorv2.1 (as2) - calculateur balistique et temps de charge batterie (airsoft, paintaball, etc...)

Description

Bonjours à tous,

Je dépose ma premiére source, c'est un calculateur balistique et convertisseur de puissances, FPS, M/S, KM/H, Joules.
J'y es aussi intégré un calculateur et minuteur de temps de charge / décharge batterie, avec indication de capacité en mAh et timer, courant de charge mA / A, capactié mAh / Ah.

PS : je sais j'aurais du la faire en AS3 mais je ne suit pas encore capable de "bitté" ce magnifque language...^^

Source / Exemple :


Un Extrait :

//* Fonction du bouton de calcul, Calculateur de puissance.

_root.calcul_bt.onRelease = function() {
	if ( _root.ZoneMps == 1 ){
		Calc_Mps();
	} if ( _root.ZoneKms == 1 ){
		Calc_Kmh();
	} if ( _root.ZoneJoules == 1 ){
		Calc_Joules();
	} if ( _root.ZoneFps == 1 ){
		Calc_Fps();
	}
};

//* Fonction du bouton d'envoie valeur joules vers ZoneS, Calculateur de puissance.

_root.bt_upval.onRelease = function(){
	ZoneS = puiss_n;
	_root.ZoneSval = "JOULES";
	_root.ZoneJoules = 1;
	_root.ZoneMps = 0;
	_root.ZoneKms = 0;
	_root.ZoneFps = 0;
};

//* Fonction de calcul avec valeur depart en Joules, Calculateur de puissance.
function Calc_Joules() {
	
	puiss_n = ZoneS;
	mass_n = Number (ZoneP) / 1000;
	mass_n2 = mass_n * 0.5;
	velo_n2 = puiss_n / mass_n2;
	mps_n = Number (Math.sqrt(velo_n2));
	kmh_n = Number (mps_n) * 3.6;
	fps_n = Number (mps_n) * 3.28083;
	dist_n = (Number (fps_n) * 0.45) * 0.3047995;
};

//* Fonction de calcul avec valeur depart en Feets Par Seconde, Calculateur de puissance.

function Calc_Fps() {	
	fps_n = ZoneS;
	mass_n = Number (ZoneP) / 1000;
	mps_n = Number (fps_n) / 3.28083;
	velo_n2 = mps_n * mps_n;
	mass_n2 = mass_n * 0.5;
	puiss_n = mass_n2 * velo_n2;
	kmh_n = mps_n * 3.6;
	dist_n = (Number (fps_n) * 0.45) * 0.3047995;
};

//* Fonction de calcul avec valeur depart en Metres Par Seconde, Calculateur de puissance.

function Calc_Mps() {
	mps_n = ZoneS;
	mass_n = Number (ZoneP) / 1000;
	velo_n2 = mps_n * mps_n;
	mass_n2 = mass_n * 0.5;
	puiss_n = mass_n2 * velo_n2;
	kmh_n = mps_n * 3.6;
	fps_n = Number (mps_n) * 3.28083;
	dist_n = (Number (fps_n) * 0.45) * 0.3047995;
};

//* Fonction de calcul avec valeur depart en Kilometre Par Heure, Calculateur de puissance.

function Calc_Kmh() {
	kmh_n = ZoneS;
	mass_n = Number (ZoneP) / 1000;
	mps_n = kmh_n / 3600 * 1000;
	velo_n2 = mps_n * mps_n;
	mass_n2 = mass_n * 0.5;
	puiss_n = mass_n2 * velo_n2;
	fps_n = Number (mps_n) * 3.28083;
	dist_n = (Number (fps_n) * 0.45) * 0.3047995;
};

//* Fonction du bouton de calcul du temps, Timer de charge / decharge batterie.

_root.calcul_bt_charge.onRelease = function() {
	Barre_chargeInit();
	Verif_BatteCap();
};

//* Fonction du bouton de déclenchement du timer, Timer de charge / decharge batterie.

_root.calcul_bt_play.onRelease = function(){
	gotoAndStop(3);
};

//* Fonction du bouton d'arrêt du timer, Timer de charge / decharge batterie.

_root.calcul_bt_stop.onRelease = function(){
	killCounter();
	_root.counter = 0;
	gotoAndStop(2);
};

//* Fonction de calcul de la capacité de la batterie Ah vers mAh, Timer de charge / decharge batterie.

function Verif_BatteCap() {
	if ( ZoneCBah == 1) {
	batt_n2 = batt_n * 1000;
	} else {
	batt_n2 = batt_n;
	}
	Verif_BatteCharge();
};

//* Fonction de calcul du courant de charge de la batterie A vers mA, Timer de charge / decharge batterie.

function Verif_BatteCharge() {
	if ( ZoneCCa == 1) {
	charge_n2 = charge_n * 1000;
	} else {
	charge_n2 = charge_n;
	}
	Charge_Batt();
};

//* Fonction de calcul du temps de charge de la batterie avec capacité en mAh et courant de charge en mA, Timer de charge / decharge batterie.

function Charge_Batt() {
	
temps_n = ((Number (batt_n2) / Number (charge_n2)) * 3600000);
_root.countdown = temps_n; 
time_to_string(temps_n);

Barre_chargeInit();

};

//* Fonction de reset du timer, Timer de charge / decharge batterie.

function killCounter() {
	
	_root.counter = 0;
	elapsed_time = 0;
	time_to_string(elapsed_time);
	Barre_chargeInit();
	delete onEnterFrame;
	
};

//* Fonction d'initialisation de la barre de chargemant capacité, Timer de charge / decharge batterie.

function Barre_chargeInit() {
	
if ( _root.ZoneDecharge == 1 ) {
	_root.mc_charge_barre.var_barre_mah = (- batt_n2) + " mAh";
	_root.mc_charge_barre.gotoAndStop(101);
} if ( _root.ZoneDecharge == 0 )  {
	_root.mc_charge_barre.var_barre_mah = batt_n2 + " mAh";
	_root.mc_charge_barre.gotoAndStop(2);
}
};

//* Fonction d'animation et de calcul valeur de la barre de chargemant capacité, Timer de charge / decharge batterie.

function Barre_chargeActiv() {
	
if ( _root.ZoneDecharge == 1 ) {
	imgecour = Math.ceil( elapsed_time / _root.countdown * 100);
	_root.mc_charge_barre.var_barre_mah = ( - ( batt_n2 -((batt_n2 / 100000) * Math.ceil( elapsed_time / _root.countdown * 100000)))) + " mAh";
	_root.mc_charge_barre.gotoAndStop(101-imgecour);
} if ( _root.ZoneDecharge == 0 ) {
	imgecour = Math.ceil( elapsed_time / _root.countdown * 100)+ 1;
	_root.mc_charge_barre.var_barre_mah = ((batt_n2 / 100000) * Math.ceil( elapsed_time / _root.countdown * 100000)) + " mAh";
	_root.mc_charge_barre.gotoAndStop(imgecour);
}
};

//* Fonction de positionnement final de la barre de chargemant capacité, Timer de charge / decharge batterie.

function Barre_chargeFinal() {

if ( _root.ZoneDecharge == 1 ) {
	_root.mc_charge_barre.gotoAndStop(2);
	_root.mc_charge_barre.var_barre_mah = "Empty / " +(- batt_n2) + " mAh";
} if ( _root.ZoneDecharge == 0 ) {
	_root.mc_charge_barre.gotoAndStop(101);
	_root.mc_charge_barre.var_barre_mah = "Full / " + batt_n2 + " mAh";
}
};

//* Fonction de passage valeur temps en Heures / Minutes / Secondes / Milisecondes (! J'ai volotairement mis les miliseconde au 1/10 éme), Timer de charge / decharge batterie.

function time_to_string(time_to_convert) {
elapsed_hours = Math.floor(time_to_convert/3600000); 
remaining = time_to_convert-(elapsed_hours*3600000); 
elapsed_minutes = Math.floor(remaining/60000); 
remaining = remaining-(elapsed_minutes*60000); 
elapsed_seconds = Math.floor(remaining/1000); 
remaining = remaining-(elapsed_seconds*1000); 
elapsed_fs = Math.floor(remaining/10);
_root.calcul_bt_pause.onRelease = function(){
	elapsed_time = 0;
}
if (elapsed_hours<10) { 
hours = "0"+elapsed_hours.toString();
aff_hours.text =  "0"+elapsed_hours.toString();
} else { 
hours = elapsed_hours.toString();
aff_hours.text =  elapsed_hours.toString();
} 
if (elapsed_minutes<10) { 
minutes = "0"+elapsed_minutes.toString();
aff_mins.text =  "0"+elapsed_minutes.toString();
} else { 
minutes = elapsed_minutes.toString(); 
aff_mins.text =  elapsed_minutes.toString();
} 
if (elapsed_seconds<10) { 
seconds = "0"+elapsed_seconds.toString();
aff_secs.text =  "0"+elapsed_seconds.toString();
} else { 
seconds = elapsed_seconds.toString();
aff_secs.text =  elapsed_seconds.toString();
} 
if (elapsed_fs<10) { 
hundredths = "0"+elapsed_fs.toString();
aff_msecs.text = "0"+elapsed_fs.toString();
} else { 
hundredths = elapsed_fs.toString(); 
aff_msecs.text =  elapsed_fs.toString();
} 
return hours+":"+minutes+":"+seconds+":"+hundredths;

};

Conclusion :


Je ne suis qu'un flashouilleur amateur mais j'espére que cette source sera utile à quelqu'un.

Codes Sources

A voir également