Autor Tópico: Interessante Daily_Code  (Lida 1137 vezes)

Offline Marinhomaker

  • Morador
  • *
  • 2/9
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #15 Online: 17 de Maio de 2017, 00:59:45
Fala pessoal, eu "voltei"!

Bom, o @FL me mostrou que está tendo essa gincaninha marota aqui, então eu decidi fazer parte o quanto antes uma vez que sou Scripter também!^^ Eu fiz umas levevíssimas adaptações do eu sistema de voo do Rpg Maker MV.

Eu apena retirei a HUD e melhorei o nome de umas variaveis para não ficar tão pesado ... Toda via a Hud está disponível no código, mas o grafico terá que ser por sua conta se for Scripter e quiser usar!

Ah, se ninguem fizer a minha ideia, enquanto pudermos participar depois eu irei vir com um codigo novinho de teste para estudos(uma vez que esse aqui é antigo e só mostrei ele porque estou afim de participar, mas o pc que estou usando quase que me deixa inapto)

Enfim, ao Script, se você for usar o RMMV para usar ele mesmo você cola na pasta js/plugins e escreve o nome dele de Emerad Neo Jet Pack System!

Plugin:
Spoiler
Código: [Selecionar]
/*:
///////////////////////////////////////////////////////////////// Emerald Neo Jet Pack System /////////////////////////////////////////////////////////////////
@plugindesc Esse é o Emerald Neo Jet Pack System, a neo versão do Emerald Jet Pack System
Com varias novidades interessantes!
@author Marinhomaker

@param EMERALD NEO JET PACK TIME TO LOSE FUEL
@desc Define o valor de Tempo em Frames para se perder 1% de combustível
@default 1800

@param EMERALD NEO JET PACK KEY TO FLY
@desc Define o Botão que faz o personagem voar quando pressionado
@default F

@param EMERALD NEO JET PACK TRIGGERED FLY
@desc Define se o personagem pode voar por apertar o Botão uma vez(se não, você terá que segurar o Botão)
@default Sim

@param EMERALD NEO JET PACK RISING ANIMATION
@desc Define o Id Da Animação de Subida
@default 51

@param EMERALD NEO JET PACK FALLING ANIMATION
@desc Define o Id Da Animação de Descida
@default 54

@param EMERALD NEO JET PACK FLYING MOVEMENT ANIMATION
@desc Define se o jogador se mexe ao voar
@default Sim

@param EMERALD NEO JET PACK FLYING STOPPED MOVEMENT ANIMATION
@desc Define se o jogador se mexe ao ficar parado no vôo
@default Sim

@param EMERALD NEO JET PACK FLYING RHYTHM
@desc Define o ritimo do movimento de animação do Player durante o vôo
@default 5

@param EMERALD NEO JET PACK FLYING SPEEDFUL RHYTHM
@desc Define o ritimo de movimento de animação do Player durante o vôo em velocidade máxima!
@default 5

@param EMERALD NEO JET PACK DEATH TERRAIN TAG
@desc Define a Tag de terreno que mata o Player quando cai nela!
@default 1

@param EMERALD NEO JET PACK DEATH SOUND
@desc Define o som emitido, o painel, o pitch e o volume de quando o Player é morto
@default Explosion2,0,100,100

@param EMERALD NEO JET PACK INPUT EVENTS CONTROL SWITCH
@desc Define a switch que controla se você pode ou não ativar eventos pelo botão
@default 9

@param EMERALD NEO JET PACK JUMP CONTROL SWITCH
@desc Define a switch que controla se você pode ou não pular
@default 10

@param EMERALD NEO JET PACK ENCOUNTERS CONTROL SWITCH
@desc Define a switch que controla se você pode ou não encontrar inimigos pelo mapa
@default 11

@param EMERALD NEO JET PACK RECOVERY FUEL ANIMATION
@desc Define o valor da animação que roda quando se recupera combustível
@default 66

@param EMERALD NEO JET PACK LOSE FUEL ANIMATION
@desc Define o valor da animação que roda quando se perde combustível
@default 71

@param EMERALD NEO JET PACK FUEL HUD BAR
@desc Define a barra, posição x e y da barra no mapa
@default Emerald Neo Jet Pack Hud Bar,690,106

@param EMERALD NEO JET PACK FUEL HUD BAR SKIN
@desc Define a pele da barra, posição x, y e valor original de largura da barra
@default Emerald Neo Jet Pack Hud Bar Skin,694,110,117

@param EMERALD NEO JET PACK FUEL HUD BAR SKIN SET VALUE SPEED
@desc Define o valor de velocidade de mudança da largura da barra
@default 0.03

@param EMERALD NEO JET PACK FLY SWITCH
@desc Define a switch que permite que você voe quando ativada
@default 12

@help Em caso de dúvidas ou bugs é só falar comigo Pelo Fórum do Mundo Rpg Maker no mesmo tópico onde você adiquiriu o Script!
      Sistema: Marinhomaker
  Huds: Marinhomaker
*/
var ENJP_CONFIGS = PluginManager.parameters("Emerald Neo Jet Pack System");
var ENJP_TIME_TO_LOSE_FUEL = Number(ENJP_CONFIGS["EMERALD NEO JET PACK TIME TO LOSE FUEL"] || 1800);
var ENJP_KEY_TO_FLY = String(ENJP_CONFIGS["EMERALD NEO JET PACK KEY TO FLY"] || "F");
var ENJP_TRIGGERED_FLY = String(ENJP_CONFIGS["EMERALD NEO JET PACK TRIGGERED FLY"] || "Sim");
var ENJP_RISING_ANIMATION = Number(ENJP_CONFIGS["EMERALD NEO JET PACK RISING ANIMATION"] || 51);
var ENJP_FALLING_ANIMATION = Number(ENJP_CONFIGS["EMERALD NEO JET PACK FALLING ANIMATION"] || 54);
var ENJP_FLYING_MOVEMENT_ANIMATION = String(ENJP_CONFIGS["EMERALD NEO JET PACK FLYING MOVEMENT ANIMATION"] || "Sim");
var ENJP_FLYING_STOPPED_MOVEMENT_ANIMATION = String(ENJP_CONFIGS["EMERALD NEO JET PACK FLYING STOPPED MOVEMENT ANIMATION"] || "Sim");
var ENJP_FLYING_RHYTHM = Number(ENJP_CONFIGS["EMERALD NEO JET PACK FLYING RHYTHM"] || 5);
var ENJP_FLYING_SPEEDFUL_RHYTHM = Number(ENJP_CONFIGS["EMERALD NEO JET PACK FLYING SPEEDFUL RHYTHM"] || 5);
var ENJP_DEATH_TERRAIN_TAG = Number(ENJP_CONFIGS["EMERALD NEO JET PACK DEATH TERRAIN TAG"] || 1);
var ENJP_DEATH_SOUND = String(ENJP_CONFIGS["EMERALD NEO JET PACK DEATH SOUND"] || "Explosion2,0,100,100");
var ENJP_DEATH_SOUND_COMPLETED_INFORMATION = ENJP_DEATH_SOUND.split(",");
var ENJP_INPUT_EVENTS_CONTROL_SWITCH = Number(ENJP_CONFIGS["EMERALD NEO JET PACK INPUT EVENTS CONTROL SWITCH"] || 9);
var ENJP_JUMP_CONTROL_SWITCH = Number(ENJP_CONFIGS["EMERALD NEO JET PACK JUMP CONTROL SWITCH"] || 10);
var ENJP_ENCOUNTERS_CONTROL_SWITCH = Number(ENJP_CONFIGS["EMERALD NEO JET PACK ENCOUNTERS CONTROL SWITCH"] || 11);
var ENJP_RECOVERY_FUEL_ANIMATION = Number(ENJP_CONFIGS["EMERALD NEO JET PACK RECOVERY FUEL ANIMATION"] || 66);
var ENJP_LOSE_FUEL_ANIMATION = Number(ENJP_CONFIGS["EMERALD NEO JET PACK LOSE FUEL ANIMATION"] || 71);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR = String(ENJP_CONFIGS["EMERALD NEO JET PACK FUEL HUD BAR"] || "Emerald Neo Jet Pack Hud Bar,690,106");
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_COMPLETE_INFORMATION = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR.split(",");
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_BITMAP = String(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_COMPLETE_INFORMATION[0]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_X = Number(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_COMPLETE_INFORMATION[1]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_Y = Number(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_COMPLETE_INFORMATION[2]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN = String(ENJP_CONFIGS["EMERALD NEO JET PACK FUEL HUD BAR SKIN"] || "Emerald Neo Jet Pack Hud Bar Skin,694,110,117");
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_COMPLETE_INFORMATION = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN.split(",");
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_BITMAP = String(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_COMPLETE_INFORMATION[0]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_X = Number(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_COMPLETE_INFORMATION[1]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_Y = Number(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_COMPLETE_INFORMATION[2]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_ORIGINAL_WIDTH = Number(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_COMPLETE_INFORMATION[3]);
var EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_SET_VALUE_SPEED = Number(ENJP_CONFIGS["EMERALD NEO JET PACK FUEL HUD BAR SKIN SET VALUE SPEED"] || 0.03);
var EMERALD_NEO_JET_PACK_FLY_SWITCH = Number(ENJP_CONFIGS["EMERALD NEO JET PACK FLY SWITCH"] || 12);
var _emeraldJetPackDeathSound = {name:ENJP_DEATH_SOUND_COMPLETED_INFORMATION[0],pan:ENJP_DEATH_SOUND_COMPLETED_INFORMATION[1],pitch:ENJP_DEATH_SOUND_COMPLETED_INFORMATION[2],volume:ENJP_DEATH_SOUND_COMPLETED_INFORMATION[3]};
function Emerald_Words_Key_Board_Input_Guide(){
this.initialize.apply(this, arguments);
}
Emerald_Words_Key_Board_Input_Guide.prototype.constructor = Emerald_Words_Key_Board_Input_Guide;
Emerald_Words_Key_Board_Input_Guide.prototype.initialize = function(){
this.initKeys();
};
Emerald_Words_Key_Board_Input_Guide.prototype.initKeys = function(){
   Input.keyMapper[65] = "A";
   Input.keyMapper[66] = "B";
   Input.keyMapper[67] = "C";
   Input.keyMapper[68] = "D";
   Input.keyMapper[69] = "E";
   Input.keyMapper[70] = "F";
   Input.keyMapper[71] = "G";
   Input.keyMapper[72] = "H";
   Input.keyMapper[73] = "I";
   Input.keyMapper[74] = "J";
   Input.keyMapper[75] = "K";
   Input.keyMapper[76] = "L";
   Input.keyMapper[77] = "M";
   Input.keyMapper[78] = "N";
   Input.keyMapper[79] = "O";
   Input.keyMapper[80] = "P";
   Input.keyMapper[82] = "R";
   Input.keyMapper[83] = "S";
   Input.keyMapper[84] = "T";
   Input.keyMapper[85] = "U";
   Input.keyMapper[86] = "V";
};
function Emerald_Neo_Jet_Pack(){
this.initialize.apply(this,arguments);
}
Emerald_Neo_Jet_Pack.prototype.constructor = Emerald_Neo_Jet_Pack;
Emerald_Neo_Jet_Pack.prototype.initialize = function (){
this._keysToPres = new Emerald_Words_Key_Board_Input_Guide();
this._fuel = 100;
this._raisingFlag = false;
this._triggeredButtonToFly = false;
this._timeToLoseFuel = 0;
this._refreshFlag = false;
this._playedRisingAnimation = false;
this._playedFallingAnimation = true;
this._valueToTime = 1;
this._altitude = 0;
this._framesToPressFlyFall = 11;
this._playedSetFuelAnimation = false;
if($gamePlayer !== null && $gamePlayer !== undefined){
this._playerCanWalkAnime = $gamePlayer._walkAnime;
    this._playerCanStopWalkAnime = $gamePlayer._stepAnime;
this._playerMovementRhythm = $gamePlayer._moveFrequency;
this._playerOriginalPassability = $gamePlayer._through;
this._playerOriginalPriority = $gamePlayer._priorityType;
}
};
Emerald_Neo_Jet_Pack.prototype.atualizar = function(){
if(this._framesToPressFlyFall < 11){
this._framesToPressFlyFall += 1;
}
this.checkIsFlying();
    this.checkPlayedRisingFallingAnimation();
    this.checkValueToTime();
    this.checkFuelSettings();
    this.checkFuelExcess();
    this.checkRisingAltitude();
    this.checkMovementAnimation();
this.checkAerealPassability();
this.checkDeathTag();
if(this._playedSetFuelAnimation){
this._playedSetFuelAnimation = false;
}
if(!this.isFlying()){
this._playerCanWalkAnime = $gamePlayer._walkAnime;
    this._playerCanStopWalkAnime = $gamePlayer._stepAnime;
this._playerMovementRhythm = $gamePlayer._moveFrequency;
this._playerOriginalPassability = $gamePlayer._through;
this._playerOriginalPriority = $gamePlayer._priorityType;
}
};
Emerald_Neo_Jet_Pack.prototype.checkPlayedRisingFallingAnimation = function(){
if(this.isFlying() && !this._playedRisingAnimation){
$gamePlayer.requestAnimation(ENJP_RISING_ANIMATION);
this._playedRisingAnimation = true;
this._playedFallingAnimation = false;
}else if(!this.isFlying() && !this._playedFallingAnimation){
$gamePlayer.requestAnimation(ENJP_FALLING_ANIMATION);
this._playedRisingAnimation = false;
this._playedFallingAnimation = true;
}
};
Emerald_Neo_Jet_Pack.prototype.checkFuelSettings = function(){
if(this.isFlying() && this._timeToLoseFuel < ENJP_TIME_TO_LOSE_FUEL){
this._timeToLoseFuel += this._valueToTime;
}else if(this.isFlying() && this._timeToLoseFuel >= ENJP_TIME_TO_LOSE_FUEL){
this._fuel -= 1;
this._timeToLoseFuel -= this._timeToLoseFuel;
this._refreshFlag = true;
}
if(this._fuel <= 0){
this._raisingFlag = false;
this._triggeredButtonToFly = false;
}
};
Emerald_Neo_Jet_Pack.prototype.checkFuelExcess = function(){
if(this._fuel > 100){
this._fuel = 100;
}else if(this._fuel < 0){
this._fuel = 0;
}
};
Emerald_Neo_Jet_Pack.prototype.isFlying = function(){
return this._raisingFlag && $gameSwitches.value(EMERALD_NEO_JET_PACK_FLY_SWITCH);
};
Emerald_Neo_Jet_Pack.prototype.checkIsFlying = function(){
if(ENJP_TRIGGERED_FLY == "Sim"){
if(Input.isTriggered(ENJP_KEY_TO_FLY) && !this._triggeredButtonToFly && this._framesToPressFlyFall >= 10 && !$gameMap.isEventRunning() && $gamePlayer.isNormal()){
this._raisingFlag = true;
this._triggeredButtonToFly = true;
this._framesToPressFlyFall -= this._framesToPressFlyFall;
}
if(Input.isTriggered(ENJP_KEY_TO_FLY) && this._triggeredButtonToFly && this._framesToPressFlyFall >= 10 && !$gameMap.isEventRunning()){
this._raisingFlag = false;
this._triggeredButtonToFly = false;
this._framesToPressFlyFall -= this._framesToPressFlyFall;
}
}else{
if(Input.isPressed(ENJP_KEY_TO_FLY) && !$gameMap.isEventRunning() && this._fuel > 0 && $gamePlayer.isNormal()){
this._raisingFlag = true;
}else{
this._raisingFlag = false;
}
}
};
Emerald_Neo_Jet_Pack.prototype.checkValueToTime = function(){
$gamePlayer.isDashing() ? this._valueToTime = 2: this._valueToTime = 1;
};
Emerald_Neo_Jet_Pack.prototype.checkRisingAltitude = function(){
this.setAltitude();
};
Emerald_Neo_Jet_Pack.prototype.setAltitude = function(){
if(this.isFlying() && this._altitude < 48){
this._altitude += 1;
}else if(!this.isFlying() && this._altitude > 0){
this._altitude -= 1;
}
return this._altitude;
};
Emerald_Neo_Jet_Pack.prototype.checkMovementAnimation = function(){
if(this.isFlying()){
ENJP_FLYING_MOVEMENT_ANIMATION == "Sim" ? $gamePlayer.setWalkAnime(true): $gamePlayer.setWalkAnime(false);
ENJP_FLYING_STOPPED_MOVEMENT_ANIMATION == "Sim" ? $gamePlayer.setStepAnime(true): $gamePlayer.setStepAnime(false);
$gamePlayer.isDashing ? $gamePlayer.setMoveFrequency(ENJP_FLYING_SPEEDFUL_RHYTHM): $gamePlayer.setMoveFrequency(ENJP_FLYING_RHYTHM);
$gamePlayer.setPriorityType(2);
}else{
$gamePlayer.setWalkAnime(this._playerCanWalkAnime);
$gamePlayer.setStepAnime(this._playerCanStopWalkAnime);
$gamePlayer.setMoveFrequency(this._playerMovementRhythm);
$gamePlayer.setPriorityType(this._playerOriginalPriority);
}
};
Emerald_Neo_Jet_Pack.prototype.checkAerealPassability = function(){
this.isFlying() ? $gamePlayer.setThrough(true) : $gamePlayer.setThrough(this._playerOriginalPassability);
};
Emerald_Neo_Jet_Pack.prototype.checkDeathTag = function(){
if(!$gamePlayer.isDebugThrough() && !$gamePlayer._through && $gamePlayer.terrainTag($gamePlayer._x,$gamePlayer._y) == ENJP_DEATH_TERRAIN_TAG && !this.isFlying() && !$gamePlayer.isJumping()){
if($gamePlayer._emeraldMegaDash !== undefined && $gamePlayer._emeraldMegaDash !== null && !$gamePlayer._emeraldMegaDash._emeraldDashing){
if(!this._playedTragicGameOver){
    AudioManager.playSe(_emeraldJetPackDeathSound);
    SceneManager.goto(Scene_Gameover);
    this._playedTragicGameOver = true;
    }
}else if($gamePlayer._emeraldMegaDash === undefined || $gamePlayer._emeraldMegaDash === null){
if(!this._playedTragicGameOver){
    AudioManager.playSe(_emeraldJetPackDeathSound);
    SceneManager.goto(Scene_Gameover);
    this._playedTragicGameOver = true;
    }
}
}
};
Emerald_Neo_Jet_Pack.prototype.recoveryFuel = function(fuelToRecovery,reinitFuelTime){
if(fuelToRecovery > 0){
this._fuel += fuelToRecovery;
}
if(reinitFuelTime){
this._timeToLoseFuel = 0;
}
if(!this._playedSetFuelAnimation){
$gamePlayer.requestAnimation(ENJP_RECOVERY_FUEL_ANIMATION);
this._playedSetFuelAnimation = true;
}
this._refreshFlag = true;
};
Emerald_Neo_Jet_Pack.prototype.loseFuel = function(fuelToLose,reinitFuelTime){
if(fuelToLose > 0){
this._fuel -= fuelToLose;
}
if(reinitFuelTime){
this._timeToLoseFuel = 0;
}
if(!this._playedSetFuelAnimation){
$gamePlayer.requestAnimation(ENJP_LOSE_FUEL_ANIMATION);
this._playedSetFuelAnimation = true;
}
this._refreshFlag = true;
};
var _emeraldGamePlayerJetPackInitialize = Game_Player.prototype.initialize;
var _emeraldGamePlayerJetPackUpdate = Game_Player.prototype.update;
var _emeraldGamePlayerJetPackEventTriggerHere = Game_Player.prototype.checkEventTriggerHere;
var _emeraldGamePlayerJetPackEventTriggerThere = Game_Player.prototype.checkEventTriggerThere;
var _emeraldGamePlayerJetPackEventTriggerTouch = Game_Player.prototype.checkEventTriggerTouch;
var _emeraldGamePlayerJetPackJump = Game_Player.prototype.jump;
var _emeraldGamePlayerJetPackMakeMeetsEncounterConditions = Game_Player.prototype.meetsEncounterConditions;
Game_Player.prototype.initialize = function(){
_emeraldGamePlayerJetPackInitialize.call(this);
this._emeraldNeoJetPack = new Emerald_Neo_Jet_Pack();
};
Game_Player.prototype.update = function(sceneActive){
_emeraldGamePlayerJetPackUpdate.call(this,sceneActive);
this._emeraldNeoJetPack.atualizar();
};
Game_Player.prototype.screenY = function(){
return Game_Character.prototype.screenY.call(this) - this._emeraldNeoJetPack.setAltitude();
};
Game_Player.prototype.checkEventTriggerHere = function(triggers) {
    if($gameSwitches.value(ENJP_INPUT_EVENTS_CONTROL_SWITCH) && this._emeraldNeoJetPack.isFlying()){
        return false;
}else{
        _emeraldGamePlayerJetPackEventTriggerHere.call(this,triggers);
    }
};
Game_Player.prototype.checkEventTriggerThere = function(triggers) {
    if($gameSwitches.value(ENJP_INPUT_EVENTS_CONTROL_SWITCH) && this._emeraldNeoJetPack.isFlying()){
        return false;
    }else{
        _emeraldGamePlayerJetPackEventTriggerThere.call(this,triggers);
    }
};
Game_Player.prototype.jump = function(xPlus,yPlus){
if($gameSwitches.value(ENJP_JUMP_CONTROL_SWITCH) && this._emeraldNeoJetPack.isFlying()){
return false;
}else{
_emeraldGamePlayerJetPackJump.call(this,xPlus,yPlus);
}
};
Game_Player.prototype.meetsEncounterConditions = function(encouter){
if($gameSwitches.value(ENJP_ENCOUNTERS_CONTROL_SWITCH) && this._emeraldNeoJetPack.isFlying()){
return false;
}else{
_emeraldGamePlayerJetPackMakeMeetsEncounterConditions.call(this,encouter);
}
};
var _emeraldJetPackFollowerUpdate = Game_Follower.prototype.update;
Game_Follower.prototype.screenY = function(){
return Game_Character.prototype.screenY.call(this) - $gamePlayer._emeraldNeoJetPack.setAltitude();
};
Game_Follower.prototype.update = function(){
_emeraldJetPackFollowerUpdate.call(this);
if($gamePlayer._emeraldNeoJetPack.isFlying()){
this.setThrough(true);
this.setPriorityType(2);
}else{
this.setThrough(true);
this.setPriorityType($gamePlayer._priorityType);
}
};
function Emerald_Neo_Jet_Pack_Hud_Bar(){
this.initialize.apply(this,arguments);
}
Emerald_Neo_Jet_Pack_Hud_Bar.prototype = Object.create(Sprite.prototype);
Emerald_Neo_Jet_Pack_Hud_Bar.prototype.constructor = Emerald_Neo_Jet_Pack_Hud_Bar;
Emerald_Neo_Jet_Pack_Hud_Bar.prototype.initialize = function(){
Sprite.prototype.initialize.call(this);
this.startJetPackHudBarSettings();
};
Emerald_Neo_Jet_Pack_Hud_Bar.prototype.startJetPackHudBarSettings = function(){
this.bitmap = ImageManager.loadPicture(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_BITMAP,0);
this.x = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_X;
this.y = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_Y;
this.opacity = 255;
};
function Emerald_Neo_Jet_Pack_Hud_Bar_Skin(){
this.initialize.apply(this,arguments);
}
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype = Object.create(Sprite.prototype);
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype.constructor = Emerald_Neo_Jet_Pack_Hud_Bar_Skin;
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype.initialize = function(){
Sprite.prototype.initialize.call(this);
this.startJetPackHudBarSkinSettings();
};
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype.startJetPackHudBarSkinSettings = function(){
this.bitmap = ImageManager.loadPicture(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_BITMAP,0);
this.x = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_X;
this.y = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_Y;
this.width = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_ORIGINAL_WIDTH * this.percentageCalculator($gamePlayer._emeraldNeoJetPack._fuel,1.0);
this.opacity = 255;
this._valueToAnimeSprite = this.percentageCalculator($gamePlayer._emeraldNeoJetPack._fuel,1.0);
};
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype.atualizarHudSkin = function(){
if(this._valueToAnimeSprite < this.percentageCalculator($gamePlayer._emeraldNeoJetPack._fuel,1.0)){
this._valueToAnimeSprite += EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_SET_VALUE_SPEED;
this.width = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_ORIGINAL_WIDTH * this._valueToAnimeSprite;
}
if(this._valueToAnimeSprite > this.percentageCalculator($gamePlayer._emeraldNeoJetPack._fuel,1.0)){
this._valueToAnimeSprite -= EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_SET_VALUE_SPEED;
this.width = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_ORIGINAL_WIDTH * this._valueToAnimeSprite;
}
if(this._valueToAnimeSprite === this.percentageCalculator($gamePlayer._emeraldNeoJetPack._fuel,1.0)){
this.width = EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_SKIN_ORIGINAL_WIDTH * this._valueToAnimeSprite;
}
};
Emerald_Neo_Jet_Pack_Hud_Bar_Skin.prototype.percentageCalculator = function(value,percentage){
var percentageCalcule = value * percentage / 100;
return percentageCalcule;
};
function Emerald_Neo_Jet_Pack_Hud(){
this.initialize.apply(this,arguments);
}
Emerald_Neo_Jet_Pack_Hud.prototype.constructor = Emerald_Neo_Jet_Pack_Hud;
Emerald_Neo_Jet_Pack_Hud.prototype.initialize = function(){
this._allCreated = false;
this._initializedEverySettings = false;
this._framesToUpdateHud = 0;
this.startHud();
};
Emerald_Neo_Jet_Pack_Hud.prototype.startHud = function(){
this._emeraldNeoJetPackHudBar = new Emerald_Neo_Jet_Pack_Hud_Bar();
this._emeraldNeoJetPackHudBarSkin = new Emerald_Neo_Jet_Pack_Hud_Bar_Skin();
this._emeraldNeoJetPackWindowInformation = new Window_Base(EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_X,EMERALD_NEO_JET_PACK_FUEL_HUD_BAR_Y + this._emeraldNeoJetPackHudBar.height,80,60);
this._emeraldNeoJetPackWindowInformation.drawText($gamePlayer._emeraldNeoJetPack._fuel,2,-6,60,1);
};
Emerald_Neo_Jet_Pack_Hud.prototype.atualizarHud = function(classManager){
this._framesToUpdateHud += 1;
this.atualizarHudSettings(classManager);
};
Emerald_Neo_Jet_Pack_Hud.prototype.atualizarHudSettings = function(classManager){
if(this._initializedEverySettings){
this._emeraldNeoJetPackWindowInformation.update();
this._emeraldNeoJetPackHudBar.update();
this._emeraldNeoJetPackHudBarSkin.update();
classManager.addChild(this._emeraldNeoJetPackHudBar);
classManager.addChild(this._emeraldNeoJetPackHudBarSkin);
classManager.addChild(this._emeraldNeoJetPackWindowInformation);
}
if(this._framesToUpdateHud >= 7){
this._emeraldNeoJetPackHudBarSkin.atualizarHudSkin();
this._emeraldNeoJetPackWindowInformation.contents = null;
this._emeraldNeoJetPackWindowInformation.createContents();
this._emeraldNeoJetPackWindowInformation.drawText($gamePlayer._emeraldNeoJetPack._fuel,2,-6,60,1);
this._framesToUpdateHud -= this._framesToUpdateHud;
}
if($gamePlayer._emeraldNeoJetPack._refreshFlag){
this._emeraldNeoJetPackHudBarSkin.atualizarHudSkin();
this._emeraldNeoJetPackWindowInformation.contents = null;
this._emeraldNeoJetPackWindowInformation.createContents();
this._emeraldNeoJetPackWindowInformation.drawText($gamePlayer._emeraldNeoJetPack._fuel,2,-6,60,1);
$gamePlayer._emeraldNeoJetPack._refreshFlag = false;
}
if(!this._initializedEverySettings){
    this.startHud();
this._initializedEverySettings = true;
}
};
var _emeraldSceneMapJetPackInitialize = Scene_Map.prototype.initialize;
var _emeraldSceneMapJetPackUpdate = Scene_Map.prototype.update;
Scene_Map.prototype.initialize = function(){
_emeraldSceneMapJetPackInitialize.call(this);
//this._emeraldNeoJetPackHud = new Emerald_Neo_Jet_Pack_Hud();
};
Scene_Map.prototype.update = function(){
_emeraldSceneMapJetPackUpdate.call(this);
//this._emeraldNeoJetPackHud.atualizarHud(this);
};
var _emeraldJetPackMegaDashControlCompatibility = Emerald_Mega_Dash.prototype.controlMegaDash;
var _emeraldJetPackMegaDashCompatibility = Emerald_Mega_Dash.prototype.megaDash;
Emerald_Mega_Dash.prototype.controlMegaDash = function(){
if($gamePlayer._emeraldNeoJetPack.isFlying()){
switch($gamePlayer.direction()){
    case 2:
    if(!$gameMap.isValid($gamePlayer._x,$gamePlayer._y)){
    $gamePlayer._y -= 1;
    }
    break;
        case 4:
    if(!$gameMap.isValid($gamePlayer._x,$gamePlayer._y)){
    $gamePlayer._x += 1;
    }
        break;
        case 6:
        if(!$gameMap.isValid($gamePlayer._x,$gamePlayer._y)){
    $gamePlayer._x -= 1;
    }
        break;
        case 8:
    if(!$gameMap.isValid($gamePlayer._x,$gamePlayer._y)){
    $gamePlayer._y += 1;
    }
        break;
        }
}else{
_emeraldJetPackMegaDashControlCompatibility.call(this);
}
};
Emerald_Mega_Dash.prototype.megaDash = function(){
if($gamePlayer._emeraldNeoJetPack.isFlying()){
if(Input.isTriggered(this._emeraldMegaDashButton) && this._emeraldMegaDashFrameStand >= EMERALD_MEGA_DASH_PER_FRAME && !this._emeraldDashing && EMERALD_WALKING_FUNCTIONS_CONFIGURATIONS["EMERALD WALKING FUNCTIONS MEGA DASH"] == "Sim" && $gameSwitches.value(EMERALD_WALKING_FUNCTIONS_MEGA_DASH_SWITCHE) && $gamePlayer._vehicleType === "walk"){
    if(EMERALD_WALKING_FUNCTIONS_CONFIGURATIONS["EMERALD WALKING FUNCTIONS MEGA DASH STAMINA"] == "Sim"){
    if(this._emeraldMegaDashStamina >= EMERALD_WALKING_FUNCTIONS_MEGA_DASH_STAMINA_PER_DASH_LOSE){
    if(this._canDash ){
    this._emeraldMegaDashStamina -= EMERALD_WALKING_FUNCTIONS_MEGA_DASH_STAMINA_PER_DASH_LOSE;
        this._emeraldDashing = true;
    this._emeraldMegaDashHudRefreshFlag = true;
                    this._emeraldMegaDashFrameStand -= this._emeraldMegaDashFrameStand;
    }
    }
    }else{
    if(this._canDash ){
    this._emeraldDashing = true;
                this._emeraldMegaDashFrameStand -= this._emeraldMegaDashFrameStand;
    }
    }
    }else if(Input.isPressed(this._emeraldMegaDashButton) && this._emeraldMegaDashFrameStand >= EMERALD_MEGA_DASH_PER_FRAME && !this._emeraldDashing && EMERALD_WALKING_FUNCTIONS_CONFIGURATIONS["EMERALD WALKING FUNCTIONS MEGA DASH"] == "Sim" && $gameSwitches.value(EMERALD_WALKING_FUNCTIONS_MEGA_DASH_SWITCHE) && $gamePlayer._vehicleType === "walk"){
        if(EMERALD_WALKING_FUNCTIONS_CONFIGURATIONS["EMERALD WALKING FUNCTIONS MEGA DASH STAMINA"] == "Sim"){
    if(this._emeraldMegaDashStamina >= EMERALD_WALKING_FUNCTIONS_MEGA_DASH_STAMINA_PER_DASH_LOSE){
    if(this._canDash ){
    this._emeraldMegaDashStamina -= EMERALD_WALKING_FUNCTIONS_MEGA_DASH_STAMINA_PER_DASH_LOSE;
        this._emeraldDashing = true;
    this._emeraldMegaDashHudRefreshFlag = true;
                    this._emeraldMegaDashFrameStand -= this._emeraldMegaDashFrameStand;
    }
    }
    }else{
    if(this._canDash ){
    this._emeraldDashing = true;
                this._emeraldMegaDashFrameStand -= this._emeraldMegaDashFrameStand;
    }
    }
    }else if(this._emeraldMegaDashFrameStand < EMERALD_MEGA_DASH_PER_FRAME){
    this._emeraldMegaDashFrameStand += 1;
    }
    if(this._emeraldDashing ){
    if(!this._playedDashAnimation){
    $gamePlayer.requestAnimation(this._emeraldMegaDashAnimationId);
    this._playedDashAnimation = true;
    }
    switch($gamePlayer.direction()){
    case 2:
    if(this._emeraldMegaDashDistance < EMERALD_MEGA_DASH_DISTANCE){
    $gamePlayer._y += 1;
    for(followerIndex in $gamePlayer.followers){
    $gamePlayer.followers.follower(followerIndex).setThrough(true);
    }
    $gamePlayer.gatherFollowers();
    }
    break;
    case 4:
    if(this._emeraldMegaDashDistance < EMERALD_MEGA_DASH_DISTANCE){
    $gamePlayer._x -= 1;
    for(followerIndex in $gamePlayer.followers){
    $gamePlayer.followers.follower(followerIndex).setThrough(true);
    }
    $gamePlayer.gatherFollowers();
    }
    break;
    case 6:
    if(this._emeraldMegaDashDistance < EMERALD_MEGA_DASH_DISTANCE){
    $gamePlayer._x += 1;
    for(followerIndex in $gamePlayer.followers){
    $gamePlayer.followers.follower(followerIndex).setThrough(true);
    }
    $gamePlayer.gatherFollowers();
    }
    break;
    case 8:
    if(this._emeraldMegaDashDistance < EMERALD_MEGA_DASH_DISTANCE){
    $gamePlayer._y -= 1;
    for(followerIndex in $gamePlayer.followers){
    $gamePlayer.followers.follower(followerIndex).setThrough(true);
    }
    $gamePlayer.gatherFollowers();
    }
    break;
        }
    }
}else if(!$gamePlayer._emeraldNeoJetPack.isFlying()){
_emeraldJetPackMegaDashCompatibility.call(this);
}
};


Opa. Edit rapidão aqui para avisar que o jumento aqui esqueceu de dizer que para o sistema funcionar vocês precisam ativar a switchs 10,11,12 e 13 se não me engano ahsuasuhuhads, parar voar e descer é só apertar F de Fly ;3
« Última modificação: 17 de Maio de 2017, 01:07:31 por Marinhomaker »
 
   Esses usuários gostaram disto: Riven

Offline Riven

  • Morador
  • *
  • 0/9
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #16 Online: 18 de Maio de 2017, 01:22:46
@Marinhomaker
Opa, maravilha, mais um membro na guilda dos códigos. Continue postando, pois isso motiva todos nós a continuarmos atualizando o tópico e levantarmos o nº de posts dessa academia igual a das outras!

Aqui vai  :
[RGSS]
OBS: ESSE SCRIPT entrará em loop, se você não configura-lo ao seu projeto corretamente
Script simples para configurar que eventos/acontecimentos(no sentido rpg, por exemplo: eventos temporários comuns em jogos mmorpg)
ocorra em tempos/HORÁRIOS/HORA/MINUTOS/SEGUNDOS especificos (de acordo com o horário do game).

Para executar, coloque no evento, chamar script:
@tt = TemporadaTimer.new
@tt.inicial
ou (vai depender da funcionalidade que dará a ele, o metodo "inicial" é apenas uma ideia para ter maior controle
@tt = TemporadaTimer.new
@tt.startCount #se optar por chamar este método direto, leia a versão alternativa, abaixo do código:

*É necessário criar um ponto de parada/interrupção
**POIS CASO NÃO O FAÇA ENTRARÁ EM LOOP
***PARA FECHAR a execução em loop, terá que finalizar a terefa
no administrador de tarefa do seu sitema operacional
[windows] alt+ctrl+delete, selecione o projeto sendo executado, e clique nele e finalizar tarefa.
---------
Informações adicionais:
@total_sec % 60  significa segundos
@total_sec / 60 % 60 significa minutos
@total_sec / 60 / 60 significa horas

+ infos: [FAQ]Por que colocou para printar?
R: Você, deve substituir o p "RIVEN" por comandos que você
deseja para que ocorram no horário(também customizável) que você especificar.
----
SOBRE A CONFIGURAÇÃO PADRÃO deste script:
se SEGUNDOS é igual a 1 SEGUNDO então ocorre
Código: [Selecionar]
=begin R I V E N
OBS: ESSE SCRIPT entrará em loop, se você não configura-lo ao seu projeto corretamente
Script para configurar que eventos/acontecimentos(no sentido rpg, por exemplo: eventos temporários comuns em jogos mmorpg)
ocorra em tempos/HORÁRIOS/HORA/MINUTOS/SEGUNDOS especificos (de acordo com o horário do game).
Para executar, coloque no evento, chamar script:
@tt = TemporadaTimer.new
@tt.inicial
ou (vai depender da funcionalidade que dará a ele, o metodo "inicial" é apenas uma ideia para ter maior controle
@tt = TemporadaTimer.new
@tt.startCount #se optar por chamar este método direto, leia a versão alternativa, abaixo do código:

*É necessário criar um ponto de parada/interrupção
**POIS CASO NÃO O FAÇA ENTRARÁ EM LOOP
***PARA FECHAR a execução em loop, terá que finalizar a terefa
no administrador de tarefa do seu sitema operacional
[windows] alt+ctrl+delete, selecione o projeto sendo executado, e clique nele e finalizar tarefa.
---------
Informações adicionais:
@total_sec % 60  significa segundos
@total_sec / 60 % 60 significa minutos
@total_sec / 60 / 60 significa horas

+ infos: [FAQ]Por que colocou para printar?
R: Você, deve substituir o p "RIVEN" por comandos que você
deseja para que ocorram no horário(também customizável) que você especificar.
----
SOBRE A CONFIGURAÇÃO PADRÃO deste script:
se SEGUNDOS é igual a 1 SEGUNDO então ocorre
=end
class TemporadaTimer < Window_PlayTime
 
  def inicial
    verificado = 0
    startCount(verificado)
    end
 
  def startCount(v)
    #super
   
      if @total_sec % 60 == 1 && v != 10
        p "RIVEN" #ATENÇÃO: se deixar apenas isso,vai ficar em um loop eterno
         verificado = 10
        end
  end
end
#R I V E N
#ou: (versão alternativa)
#apenas:
#class TemporadaTimer < Window_PlayTime
#def startCount
#if @total_sec % 60 == 1
#p "RIVEN"
#end
#end
#end




« Última modificação: 18 de Maio de 2017, 01:41:18 por Riven »
Scripter Rpg Maker XP
Twitter: @lucasm4ker
blog: lucasm4ker.wordpress.com
 
   Esses usuários gostaram disto: Marinhomaker

Offline modog

  • Viajante
  • *
  • 0/9
  • Participante do evento: Lua Infectada Tenha 1 ano na comunidade.
    • Ver perfil
    • Portfolio
    • Inventário
Re:Daily_Code
Resposta #17 Online: 25 de Maio de 2017, 12:15:33
Códiguzinho em Lua para passar uma array para números binários.

Código: [Selecionar]
min = 3
max = 5
array = {5, 2, 8, 3, 15}
comp = {}
 
for i = 1, 5 do
if (array[i] + min > max) and (array[i] + max > min) and (min+max > array[i]) then
comp[i] = 1
else
comp[i] = 0
end
io.write(" \n", array[i])
io.write(" - ", comp[i])
end

Snippet que fiz para pegar o valor de um número a partir da sua porcetagem:

Código: [Selecionar]
function porcento(valor, porcetagem)

--resultado = valor*(porcetagem/100)
resultado = valor*porcetagem/100

return resultado

end

print(porcento(602, 50))
  
 
   Esses usuários gostaram disto: Riven

Online FL

  • Redação
  • *
  • 4/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #18 Online: 27 de Maio de 2017, 11:11:28
Código que eu fiz em NASM para resolver a quinta questão do Euler Project. Já peguei prontos os procedures para imprimir corretamente os números.

Código: [Selecionar]
; Picks the first value divisible from 1 to 20
 
SECTION .text
global  _start
 
_start:
mov eax, 20
mov ebx, eax
body:
inc eax
call checkDivisibleNumbers
cmp ecx, 1
jne body
call iprintLF
call quit

;------------------------------------------
; arg eax is the number to be divisible
; arg ebx is the quantity of values to be divisible
; ret ecx is 1 or 0 if all the numbers are successfully divided
checkDivisibleNumbers:
push ebx
push edx
mov ecx, eax
inc ebx
_checkDivisibleNumbersBody:
mov eax, ecx
dec ebx
cmp ebx, 1
je _checkDivisibleNumbersEndSuccess
idiv ebx
cmp edx, 0
je _checkDivisibleNumbersBody
_checkDivisibleNumbersEndFail:
mov eax, ecx
mov ecx, 0
jmp _checkDivisibleNumbersEnd
_checkDivisibleNumbersEndSuccess:
mov eax, ecx
mov ecx, 1
_checkDivisibleNumbersEnd:
pop edx
pop ebx
ret
   
;------------------------------------------
; void iprint(Integer number)
; Integer printing function (itoa)
iprint:
    push    eax
    push    ecx
    push    edx
    push    esi
    mov     ecx, 0
 
divideLoop:
    inc     ecx
    mov     edx, 0
    mov     esi, 10
    idiv    esi
    add     edx, 48
    push    edx
    cmp     eax, 0
    jnz     divideLoop
 
printLoop:
    dec     ecx
    mov     eax, esp
    call    sprint
    pop     eax
    cmp     ecx, 0
    jnz     printLoop
 
    pop     esi
    pop     edx
    pop     ecx
    pop     eax
    ret
 
 
;------------------------------------------
; void iprintLF(Integer number)
; Integer printing function with linefeed (itoa)
iprintLF:
    call    iprint
 
    push    eax
    mov     eax, 0Ah
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; int slen(String message)
; String length calculation function
slen:
    push    ebx
    mov     ebx, eax
 
nextchar:
    cmp     byte [eax], 0
    jz      finished
    inc     eax
    jmp     nextchar
 
finished:
    sub     eax, ebx
    pop     ebx
    ret
 
;------------------------------------------
; void sprint(String message)
; String printing function
sprint:
    push    edx
    push    ecx
    push    ebx
    push    eax
    call    slen
 
    mov     edx, eax
    pop     eax
 
    mov     ecx, eax
    mov     ebx, 1
    mov     eax, 4
    int     80h
 
    pop     ebx
    pop     ecx
    pop     edx
    ret
 
;------------------------------------------
; void sprintLF(String message)
; String printing with line feed function
sprintLF:
    call    sprint
 
    push    eax
    mov     eax, 0AH
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; void exit()
; Exit program and restore resources
quit:
    mov     ebx, 0
    mov     eax, 1
    int     80h
    ret
« Última modificação: 27 de Maio de 2017, 11:19:33 por FL »
 
   Esses usuários gostaram disto: Cristiano Sword Marinhomaker Riven

Offline Eranot

  • Morador
  • *
  • 3/9
  • Ganhador do evento Doces ou Travessuras 3. Participante do evento Doces ou Travessuras 3. Participante do evento: Lua Infectada
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #19 Online: 27 de Maio de 2017, 13:47:02
Programação competitiva também vale?
Resolvendo o problema UVa 394 (https://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=330), é um problema típico de maratonas de programação, onde você recebe um problema e deve escrever um bom algoritmo que o resolva.
O código está em C++, realmente recomendo vocês pelo menos lerem o problema, esse tipo de coisa é ótimo para desafiar sua mente.
Código: [Selecionar]
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <map>

using namespace std;

typedef struct{
    int lower, upper;
}dim;

typedef struct{
    int base;
    int bytes;
    int dimCount;
    dim dimensoes[12];
int c[12];
} m_array;


int cNum(int num, m_array *temp){
if(temp->c[num] != 0) return temp->c[num];

    if(num == temp->dimCount){
    temp->c[num] = temp->bytes;
    return temp->c[num];
    }
   
    temp->c[num] = cNum(num+1, temp) * (temp->dimensoes[num+1].upper - temp->dimensoes[num+1].lower + 1);
   
    return temp->c[num];
}


map<string, m_array> arrays;

int main(){
    int n, r;
    string nome;
    m_array temp;
    int pos[12], address;
   
    scanf("%d%d", &n, &r);
   
    for(int i = 0; i < n; ++i){
    memset(temp.dimensoes, 0, 4*12);
    memset(temp.c, 0, 4*12);
        // NAME BASE BYTES NUM ARRAYS LOWER and UPPER BOUND
        cin >> nome >> temp.base >> temp.bytes >> temp.dimCount;
        for(int d = 1; d <= temp.dimCount; d++)
            cin >> temp.dimensoes[d].lower >> temp.dimensoes[d].upper;
       
        arrays[nome] = temp;
    }
   
    for(int i = 0; i< r; i++){
    address = 0;
    cin >> nome;
    temp = arrays[nome];
    cNum(1, &temp);
   
    for(int j = 1; j <= temp.dimCount; j++){
    cin >> pos[j];
    }
    address = temp.base;
   
    for(int j = 1; j <= temp.dimCount; j++){
    address -= temp.c[j]*temp.dimensoes[j].lower;
    }

for(int j = 1; j <= temp.dimCount; j++){
    address += temp.c[j]*pos[j];
    }
    cout << nome <<'[';
    for(int j = 1; j <= temp.dimCount; j++){
    cout << pos[j];
    if(j != temp.dimCount) cout << ", ";
    }
   
    cout << "] = " << address << endl;
   
    }
   
   
    return 0;
}
Imagine uma sign aqui.
 
   Esses usuários gostaram disto: Riven

Offline Riven

  • Morador
  • *
  • 0/9
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #20 Online: 28 de Maio de 2017, 17:25:51
@FL @modog @Eranot Sim, tudo que for programação está valendo, agradeço a participação.

Vou colocar os meus aqui de hoje:
[HTML+CSS]
Layout que programei para meu blog no blogspot
 
Código: [Selecionar]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="<$BlogLanguageDirection$>">

<head>
  <title><$BlogPageTitle$></title>

  <$BlogMetaData$>

  <style type="text/css">



body {
background:#ADD8E6;
  margin:0;
  padding:20px 10px;
  text-align:center;
  font:x-small/1.5em "Trebuchet MS",Verdana,Arial,Sans-serif;
  color:#333;
  font-size/* */:/**/small;
  font-size: /**/small;
  }


/* Page Structure
----------------------------------------------- */
/* The images which help create rounded corners depend on the
   following widths and measurements. If you want to change
   these measurements, the images will also need to change.
   */
@media all {
  #content {
     width:740px;
    margin:0 auto;
    text-align:left;
background:#E6E6FA;color:white;
    }
  #main {
    width:485px;
    float:left;

    margin:15px 0 0;
    padding:0 0 10px;
    color:#000;
    font-size:97%;
    line-height:1.5em;

    }
  #main2 {
    float:left;
    width:100%;
   
    padding:10px 0 0;
    }
  #main3 {
   
    padding:0;
    }
  #sidebar {
    width:240px;
    float:right;
    margin:15px 0 0;
    font-size:97%;
    line-height:1.5em;
background: #76a0ef;
    }
  }
@media handheld {
  #content {
    width:90%;
    }
  #main {
    width:100%;
    float:none;
 
    }
  #main2 {
    float:none;
    background:none;
    }
  #main3 {
    background:none;
    padding:0;
    }
  #sidebar {
    width:100%;
    float:none;

    }
  }


/* Links
----------------------------------------------- */
a:link {
  color:#258;
  }
a:visited {
  color:pink;
  }
a:hover {
text-decoration:underline; color:#11e578;
  }
a img {
  border-width:0;
  }


/* Blog Header
----------------------------------------------- */
@media all {
  #header {
 background:#3c84cc;
    margin:0 0 0;
    padding:8px 0 0;
    color:#fff;
    }
  #header div {
 
    padding:0 15px 8px;
    }
  }
@media handheld {
  #header {
    background:#456;
    }
  #header div {
    background:none;
    }
  }
#blog-title {
  margin:0;
  padding:10px 30px 5px;
  font-size:200%;
  line-height:1.2em;
  }
#blog-title a {
  text-decoration:none;
  color:#fff;
  }
#description {
  margin:0;
  padding:5px 30px 10px;
  font-size:94%;
  line-height:1.5em;
  }


/* Posts
----------------------------------------------- */
.date-header {
  margin:0 28px 0 43px;
  font-size:85%;
  line-height:2em;
  text-transform:uppercase;
  letter-spacing:.2em;
 
background:#76a0ef;color:black;
  }
.post {
  margin:.3em 0 25px;
  padding:0 13px;
  border:1px dotted #bbb;
  border-width:1px 0;
background:#3c84cc;color:white;
  }
.post-title {
  margin:0;
  font-size:135%;
  line-height:1.5em;
   
  display:block;
  border:1px dotted #bbb;
  border-width:0 1px 1px;
  padding:2px 14px 2px 29px;
  color:black;
  }
a.title-link, .post-title strong {
  text-decoration:none;
  display:block;
  }
a.title-link:hover {
  background-color:#ded;
  color:#000;
  }
.post-body {
  border:1px dotted #bbb;
  border-width:0 1px 1px;
  border-bottom-color:#fff;
  padding:10px 14px 1px 29px;
  }
html>body .post-body {
  border-bottom-width:0;
  }
.post p {
  margin:0 0 .75em;
  }
p.post-footer {
  background:#ded;
  margin:0;
  padding:2px 14px 2px 29px;
  border:1px dotted #bbb;
  border-width:1px;
  border-bottom:1px solid #eee;
  font-size:100%;
  line-height:1.5em;
  color:red;
  text-align:right;
  }
html>body p.post-footer {
  border-bottom-color:transparent;
  }
p.post-footer em {
  display:block;
  float:left;
  text-align:left;
  font-style:normal;
  }
a.comment-link {
  /* IE5.0/Win doesn't apply padding to inline elements,
     so we hide these two declarations from it */
  background/* */:/**/url("https://resources.blogblog.com/blogblog/data/rounders/icon_comment.gif") no-repeat 0 45%;
  padding-left:14px;
  }
html>body a.comment-link {
  /* Respecified, for IE5/Mac's benefit */
   
  padding-left:14px;
  }
.post img {
  margin:0 0 5px 0;
  padding:4px;
  border:1px solid #ccc;
  }
blockquote {
  margin:.75em 0;
  border:1px dotted #ccc;
  border-width:1px 0;
  padding:5px 15px;
  color:#666;
  }
.post blockquote p {
  margin:.5em 0;
  }


/* Comments
----------------------------------------------- */
#comments {
  margin:-25px 13px 0;
  border:1px dotted #ccc;
  border-width:0 1px 1px;
  padding:20px 0 15px 0;
  }
#comments h4 {
  margin:0 0 10px;
  padding:0 14px 2px 29px;
  border-bottom:1px dotted #ccc;
  font-size:120%;
  line-height:1.4em;
  color:#333;
  }
#comments-block {
  margin:0 15px 0 9px;
  }
.comment-data {
  background:url("https://resources.blogblog.com/blogblog/data/rounders/icon_comment.gif") no-repeat 2px .3em;
  margin:.5em 0;
  padding:0 0 0 20px;
  color:#666;
  }
.comment-poster {
  font-weight:bold;
  }
.comment-body {
  margin:0 0 1.25em;
  padding:0 0 0 20px;
  }
.comment-body p {
  margin:0 0 .5em;
  }
.comment-timestamp {
  margin:0 0 .5em;
  padding:0 0 .75em 20px;
  color:#666;
  }
.comment-timestamp a:link {
  color:#666;
  }
.deleted-comment {
  font-style:italic;
  color:gray;
  }
.paging-control-container {
  float: right;
  margin: 0px 6px 0px 0px;
  font-size: 80%;
}
.unneeded-paging-control {
  visibility: hidden;
}


/* Profile
----------------------------------------------- */
@media all {
  #profile-container {
    background:orange url("https://resources.blogblog.com/blogblog/data/rounders/corners_prof_bot.gif") no-repeat left bottom;
    margin:0 0 15px;
    padding:0 0 10px;
    color:yellow;
    }
  #profile-container h2 {
    background:url("https://resources.blogblog.com/blogblog/data/rounders/corners_prof_top.gif") no-repeat left top;
    padding:10px 15px .2em;
    margin:0;
    border-width:0;
    font-size:115%;
    line-height:1.5em;
    color:#234;
    }
  }
@media handheld {
  #profile-container {
    background:#cdc;
    }
  #profile-container h2 {
    background:none;
    }
  }
.profile-datablock {
  margin:0 15px .5em;
  border-top:1px dotted #aba;
  padding-top:8px;
  }
.profile-img {display:inline;}
.profile-img img {
  float:left;
  margin:0 10px 5px 0;
  border:4px solid #fff;
  }
.profile-data strong {
  display:block;
  }
#profile-container p {
  margin:0 15px .5em;
  }
#profile-container .profile-textblock {
  clear:left;
  }
#profile-container a {
  color:#258;
  }
.profile-link a {
  background:url("https://resources.blogblog.com/blogblog/data/rounders/icon_profile.gif") no-repeat 0 .1em;
  padding-left:15px;
  font-weight:bold;
  }
ul.profile-datablock {
  list-style-type:none;
  }


/* Sidebar Boxes
----------------------------------------------- */
@media all {
  .box {
    background:#fff url("https://resources.blogblog.com/blogblog/data/rounders/corners_side_top.gif") no-repeat left top;
    margin:0 0 15px;
    padding:10px 0 0;
    color:#666;
    }
  .box2 {
    background:url("https://resources.blogblog.com/blogblog/data/rounders/corners_side_bot.gif") no-repeat left bottom;
background: blue;
    padding:0 13px 8px;
    }
  }
@media handheld {
  .box {
    background:#fff;
    }
  .box2 {
    background:none;
    }
  }
.sidebar-title {
  margin:0;
  padding:0 0 .2em;
  border-bottom:1px dotted #9b9;
  font-size:115%;
  line-height:1.5em;
  color:white;
background: black;
  }
.box ul {
  margin:.5em 0 1.25em;
  padding:0 0px;
  list-style:none;
  }
.box ul li {
  background:url("https://resources.blogblog.com/blogblog/data/rounders/icon_arrow_sm.gif") no-repeat 2px .25em;
  margin:0;
  padding:0 0 3px 16px;
  margin-bottom:3px;
  border-bottom:1px dotted #eee;
  line-height:1.4em;
  }
.box p {
  margin:0 0 .6em;
  }


/* Footer
----------------------------------------------- */
#footer {
  clear:both;
  margin:0;
  padding:15px 0 0;
  }
@media all {
  #footer div {
    background: #3271e7
url("https://resources.blogblog.com/blogblog/data/rounders/corners_cap_top.gif") no-repeat left top;
    padding:8px 0 0;
    color:#fff;
    }
  #footer div div {
    background:url("https://resources.blogblog.com/blogblog/data/rounders/corners_cap_bot.gif") no-repeat left bottom;
    padding:0 15px 8px;
    }
  }
@media handheld {
  #footer div {
    background:#456;
    }
  #footer div div {
    background:none;
    }
  }
#footer hr {display:none;}
#footer p {margin:0;}
#footer a {color:#fff;}


/* Feeds
----------------------------------------------- */
#blogfeeds {
background:brown;
  }
#postfeeds {
  padding:0 15px 0;
  }
  </style>


</head>



<body>



<!-- Begin #content - Centers all content and provides edges for floated columns -->

<div id="content">



<!-- Blog Header -->

<div id="header"><div>

  <h1 id="blog-title">
    <ItemPage><a href="<$BlogURL$>"></ItemPage>
<$BlogTitle$> <!-- Titulo do Blog -->
<ItemPage></a></ItemPage>
  </h1>
  <p id="description"><$BlogDescription$></p>

</div></div>





<!-- Begin #main - Contains main-column blog content -->

<div id="main"><div id="main2"><div id="main3">

<Blogger>
TWITTER <a href="http://slyrimrpg.blogspot.com/2016/10/blog-post.html#testee">LINK 1</a> <BR><BR>
---------------------------------------------
<BR><BR>
exemplo: <a href="http://slyrimrpg.blogspot.com/2016/10/blog-post.html#testee">LINK 1</a>
exemplo: <a href="http://slyrimrpg.blogspot.com/2016/10/blog-post.html#testee">LINK 1</a>
exemplo: <a href="http://slyrimrpg.blogspot.com/2016/10/blog-post.html#testee">LINK 1</a> exemplo: <a href="http://slyrimrpg.blogspot.com/2016/10/blog-post.html#testee">LINK 1</a> <BR><BR>
--------------------------------------------
<BR><BR>
    <BlogDateHeader>
  <h2 class="date-header"><$BlogDateHeaderDate$></h2>
  </BlogDateHeader>



         <!-- Begin .post -->

  <div class="post"><a name="<$BlogItemNumber$>"></a>

     <BlogItemTitle>
<BlogItemUrl><a href="<$BlogItemUrl$>" title="external link" class="title-link"></BlogItemUrl>
    <h3 class="post-title">
<$BlogItemTitle$>
    </h3>
<BlogItemUrl></a></BlogItemUrl>
    </BlogItemTitle>

         <div class="post-body">

          <p>
      <$BlogItemBody$>
    </p>

        </div>

        <p class="post-footer">


      <em><$I18NPostedByAuthorNickname$> @ <a href="<$BlogItemPermalinkUrl$>" title="permanent link"><$BlogItemDateTime$></a></em> &nbsp;
      <BlogItemCommentsEnabled>
         <a class="comment-link" href="<$BlogItemCommentCreate$>"<$BlogItemCommentFormOnclick$>><span style="text-transform:lowercase"><$I18NNumComments$></span></a>
      </BlogItemCommentsEnabled><BlogItemBacklinksEnabled>
<a class="comment-link" href="<$BlogItemPermalinkUrl$>#links"><span style="text-transform:lowercase"><$I18NLinksToThisPost$></span></a>
</BlogItemBacklinksEnabled>
 <$BlogItemControl$>
    </p>

    </div>

  <!-- End .post -->

        <!-- Begin #comments -->
 <ItemPage>

  <div id="comments">

<BlogItemCommentsEnabled><a name="comments"></a>

        <h4><$I18NNumComments$>:</h4>

        <dl id="comments-block">
          <$CommentPager$>
      <BlogItemComments>

      <dt class="comment-data" id="<$BlogCommentAnchorName$>"><a name="<$BlogCommentAnchorName$>"></a>

        <$I18NAtCommentTimeWithPermalink$>,

        <$I18NCommentAuthorSaid$>

      </dt>

      <dd class="comment-body">

        <p><$BlogCommentBody$></p>
  <$BlogCommentDeleteIcon$>

      </dd>

  </BlogItemComments>
    <$CommentPager$>

    </dl>
<p class="comment-timestamp">
    <$BlogItemCreate$>
    </p>
    <p id="postfeeds"><$BlogItemFeedLinks$></p>
    </BlogItemCommentsEnabled>    
    <BlogItemBacklinksEnabled>
    <a name="links"></a><h4><$I18NLinksToThisPost$>:</h4>
    <dl id="comments-block">
    <BlogItemBacklinks>
        <dt class="comment-title">
        <$BlogBacklinkControl$>
        <a href="<$BlogBacklinkURL$>" rel="nofollow"><$BlogBacklinkTitle$></a> <$BlogBacklinkDeleteIcon$>
        </dt>
        <dd class="comment-body"><$BlogBacklinkSnippet$>
        <br />
        <span class="comment-poster">
        <em><$I18NPostedByBacklinkAuthor$> @ <$BlogBacklinkDateTime$></em>
        </span>
        </dd>
    </BlogItemBacklinks>
    </dl>
    <p class="comment-timestamp"><$BlogItemBacklinkCreate$></p>
    </BlogItemBacklinksEnabled>


<p style="padding-left:20px;">
<a href="<$BlogURL$>">&lt;&lt; <$I18NHome$></a>
    </p>
    </div>

</ItemPage>

  <!-- End #comments -->

</Blogger>



</div></div></div>

<!-- End #main -->









<!-- Begin #sidebar -->

<div id="sidebar">

    <!-- Begin #profile-container -->

<!--   <$BlogMemberProfile$> -->

  <!-- End #profile -->



    <!-- Begin .box -->
<!--Riven Removi desse layout, os ".box" exemplo: o div class="box2"> ficava aqui-->
  <!--<div class="box"><div class="box2"><div class="box3">-->
   
   
 

   


    <MainOrArchivePage>
  <h2 class="sidebar-title"><$I18NArchives$></h2>
    <ul class="archive-list">
      <BloggerArchives>
    <li><a href="<$BlogArchiveURL$>"><$BlogArchiveName$></a></li>
  </BloggerArchives>
      <ArchivePage><li><a href="<$BlogURL$>"><$I18NCurrentPosts$></a></li></ArchivePage>

  </ul>

  </MainOrArchivePage>
       
 
   <!--</div></div></div>-->

  <!-- End .box -->




</div>

<!-- End #sidebar -->









<!-- Begin #footer -->

<div id="footer"><div><div><hr />



  <p>Design, Layout, programmed by Riven, Blog Writer: Riven<!-- This is an optional footer. If you want text here, place it inside these tags, and remove this comment. -->&nbsp;</p>



</div></div></div>

<!-- End #footer -->








</div>

<!-- End #content -->



</body>

</html>


















[Java + HTML]
Estudo de gráficos, applet, desenhando linhas e retângulos na tela:
O Applet:
Código: [Selecionar]
import java.applet.*; //para a funcionalidade Applet
import java.awt.*; //Consiste em classes que permite a Aplicação Java utilizar o ambiente window (janela)
public class Mondrian extends Applet {
//os métodos abaixo são executados (a ordem de execução que o navegador faz é init,start,paint,stop,destroy) pelo navegador após ele carregar o arquivo Mondrian.class no computador, ele invoca esses métodos
public void init(){//Esse método é chamado para inicializar o applet. E ele reescreve o método do pacote applet.
System.out.println(">> init <<");
setBackground(Color.black);
}
public void start(){ //Esse método executa o applet
System.out.println(">> start <<");

}
//pinta quadrados de várias cores
public void paint(Graphics g){ //paint() controla como o applet se parece(aparência). O navegador automaticamente passa em Graphics.
System.out.println(">> paint <<");

g.setColor(Color.orange);
g.fillRect(0,0,90,90);
g.fillRect(250,0,40,190);

g.setColor(Color.blue);
g.fillRect(80,200,220,90);
g.fillRect(100,10,90,80);

g.setColor(Color.lightGray);
g.fillRect(80,100,110,90);
g.fillRect(80,100,110,90);

g.setColor(Color.red);
g.fillRect(200,0,45,45);
g.fillRect(0,100,70,200);

g.setColor(Color.magenta);
g.fillRect(200,55,60,135);

g.setColor(Color.green);
g.drawLine(44,44,130,130);

g.setColor(Color.white);
g.fillOval(100,50,130,130);

g.setColor(Color.green);
g.drawRect(20,20,130,130);

}

public void stop(){//Esse método é chamado quando a página web que o applet está rodando é escondida, como quando o usuário clica em outro site. Ele para a

 
System.out.println(">> stop <<");


}

public void destroy(){ //Esse método libera o que estava sendo manipulado pelo applet.
System.out.println(">> destroy <<");
}
}

E o html para utilizar o comando appletviewer no cmd
Código: [Selecionar]
<html>
<body>
<title>Mondrian</title>
<p>Após compilar o Mondrian.java para Mondrian.class, pelo cmd, utilize o comando appletviewer Mondrian.html para executar o applet e poder vê-lo funcionando</p>
<applet code="Mondrian.class" width=300 height=300>
</applet>

</body>
</html>














« Última modificação: 28 de Maio de 2017, 17:27:29 por Riven »
Scripter Rpg Maker XP
Twitter: @lucasm4ker
blog: lucasm4ker.wordpress.com
 

Offline InterPlay

  • Designer Gráfico
  • Morador
  • *
  • 0/9
    • Ver perfil
    • A Consumação
    • Inventário
Re:Daily_Code
Resposta #21 Online: 30 de Maio de 2017, 11:06:18
Puxa vida... Fiquei impressionado com a habilidade do pessoal.
Cada script mais *federa* do que o outro. E eu aqui tentando codar no Minecraft e não consigo. kkkkkk  :^^':

Eu fiz esse script em lua:

Código: [Selecionar]
local monitor = peripheral.wrap("monitor_2")
local tamMonitor = monitor.getSize()
local texto1 = "DESLIGADO"
local texto2 = "SPAWNANDO"
local redsLig = redstone.getInput("right")
local largTx = math.floor(string.len(texto1) - (tamMonitor / 2))

monitor.setTextScale(2)

if redsLig == true then
  monitor.clear()
  monitor.setTextColor(colors.green)
  monitor.write(texto1)
else
  monitor.clear()
  monitor.setTextColor(colors.red)
  monitor.write(texto2)
end

Mas não está funcionando...  :_ _:
Eu queria que, quando o Bloco do "Advanced Computer" estivesse recebendo sinal de redstone, aparecesse a mensagem "DESLIGADO!" em um monitor que está conectado à network via cabos. Queria que aparecesse em verde.
E também, quando esse mesmo bloco não estivesse recebendo sinal de redstone, o monitor mostrasse "SPAWNANDO!", em vermelho. Tudo muito bem centralizado.

Mas, enfim... É, como foi dito, apenas um treinamento, certo? Caso eu consiga, posto aqui o script atualizado.
« Última modificação: 30 de Maio de 2017, 11:07:58 por InterPlay »
"Há muito mais na realidade do que uma mente humana consegue imaginar"
Paradoxo~
 
   Esses usuários gostaram disto: Riven

Offline Cristiano Sword

  • Morador
  • *
  • 0/9
  • Tenha 2 anos na comunidade. Participante do evento: Lua Infectada
    • Ver perfil
    • Blog de Desenvolvimento da Original Studio
    • Inventário
Re:Daily_Code
Resposta #22 Online: 30 de Maio de 2017, 14:55:35
Estou fazendo pequenos codigos em basic e assembly para o  z80, m68k,psg e yamaha2612.

O Código q faz um cronometro em BASIC e Assembly(z80)

Código: [Selecionar]
1 REM  ************
2 REM * Cronômetro *
3 REM *************


10 POKE 23674,255: POKE 23673,255: POKE 23672, 255
20 LET T=(65536*PEEK 23674+PEEK 23672+256*PEEK 23673)/60
30 PRINT AT 11,12; INT (T/60);":"; INT (T-INT (T/60)*60);"_ _ _ _"
40 GOTO 20
 
"_ _ _ _" = 4 espaços
« Última modificação: 30 de Maio de 2017, 14:55:52 por Cristiano Sword »
“Se eu decidir ser uma idiota,serei uma idiota com acorde próprio” Alexya
Projeto Esplendor 2017
link: http://centrorpg.com/index.php?topic=17111.0
 

Online FL

  • Redação
  • *
  • 4/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #23 Online: 30 de Maio de 2017, 21:33:53
@Riven Wow! Alguém ainda usa Applets!

Código que eu fiz em NASM para resolver a décima questão do Euler Project. Já peguei prontos os procedures para imprimir corretamente os números.

Código: [Selecionar]
; Sum all primes from 1 to 2000000.
 
SECTION .text
global  _start
 
_start:
mov eax, 2000000
mov ebx, eax ; ebx will be the decrease counter
inc ebx ; For the first line
body:
dec ebx

cmp ebx, 1 ; Go to the final, when count is 1
je final

mov eax, ebx ; Initialize check prime arg
call checkPrimeNumber
cmp eax, 1 ; Redo loop when not prime
jne body

add ecx, ebx ; When prime, sum
jmp body
final:
mov eax, ecx ; Move result to print arg.
call    iprintLF
call    quit

;------------------------------------------
; arg eax is the prime number
; ret eax is 1 or 0 if all the numbers are successfully divided
checkPrimeNumber:
; Save values
push ebx
push ecx
push edx
mov ebx, eax ; ebx will be the decrease counter
mov ecx, eax ; ebc will be the number to be divided

; To handle very big values fast, divide big ones to 200.
cmp ecx, 40000
jl _checkPrimeNumberBody
mov ebx, 200
idiv ebx
mov ebx, eax

_checkPrimeNumberBody:
dec ebx ; Decrease counter
cmp ebx, 1
je _checkPrimeNumberEndSuccess

mov eax, ecx ; Put the number to be divided on eax
mov edx, 0 ; Clear remainder
idiv ebx
cmp edx, 0 ; Check if is prime. If isn't, exit procedure as fail.
jne _checkPrimeNumberBody
_checkPrimeNumberEndFail:
mov eax, 0
jmp _checkPrimeNumberEnd
_checkPrimeNumberEndSuccess:
mov      eax, 1
_checkPrimeNumberEnd:
; Restore values
pop edx
pop ecx
pop ebx
ret

;------------------------------------------
; Pass args on eax, ebx.
; Return result on eax.
pow:
push ebx
push ecx
push edx
mov ecx, ebx
mov ebx, eax
cmp ecx, 0
jne _powBody
mov eax, 1
jmp _powEnd
_powBody:
cmp ecx, 1
je _powEnd
dec ecx
mul ebx
jmp _powBody
_powEnd:
pop edx
pop ecx
pop ebx
ret
   
;------------------------------------------
; void iprint(Integer number)
; Integer printing function (itoa)
iprint:
    push    eax
    push    ecx
    push    edx
    push    esi
    mov     ecx, 0
 
divideLoop:
    inc     ecx
    mov     edx, 0
    mov     esi, 10
    idiv    esi
    add     edx, 48
    push    edx
    cmp     eax, 0
    jnz     divideLoop
 
printLoop:
    dec     ecx
    mov     eax, esp
    call    sprint
    pop     eax
    cmp     ecx, 0
    jnz     printLoop
 
    pop     esi
    pop     edx
    pop     ecx
    pop     eax
    ret
 
 
;------------------------------------------
; void iprintLF(Integer number)
; Integer printing function with linefeed (itoa)
iprintLF:
    call    iprint
 
    push    eax
    mov     eax, 0Ah
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; int slen(String message)
; String length calculation function
slen:
    push    ebx
    mov     ebx, eax
 
nextchar:
    cmp     byte [eax], 0
    jz      finished
    inc     eax
    jmp     nextchar
 
finished:
    sub     eax, ebx
    pop     ebx
    ret
 
;------------------------------------------
; void sprint(String message)
; String printing function
sprint:
    push    edx
    push    ecx
    push    ebx
    push    eax
    call    slen
 
    mov     edx, eax
    pop     eax
 
    mov     ecx, eax
    mov     ebx, 1
    mov     eax, 4
    int     80h
 
    pop     ebx
    pop     ecx
    pop     edx
    ret
 
;------------------------------------------
; void sprintLF(String message)
; String printing with line feed function
sprintLF:
    call    sprint
 
    push    eax
    mov     eax, 0AH
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; void exit()
; Exit program and restore resources
quit:
    mov     ebx, 0
    mov     eax, 1
    int     80h
    ret
 
   Esses usuários gostaram disto: Shiroyasha

Offline InterPlay

  • Designer Gráfico
  • Morador
  • *
  • 0/9
    • Ver perfil
    • A Consumação
    • Inventário
Re:Daily_Code
Resposta #24 Online: 01 de Junho de 2017, 15:05:13
Aeeeee!

Consegui! Falei que, quando conseguisse postava aqui de novo! Assisti uns vídeos tutoriais no YouTube e consegui incorporar os princípios aplicados nos dois vídeos em um único script! Veja como ficou:


Código: [Selecionar]
monitor = peripheral.wrap("monitor_2")
textoAtual = ""
monX,monY = monitor.getSize()

function mostraMsg()
  monitor.setBackgroundColor(colors.black)
  monitor.clear()
  monitor.setCursorPos(1,1)
  monitor.setTextScale(2)
  textoCentro(textoAtual, 1, corTexto)
end

function checkRs(sinalRs)
  if sinalRs == true then
    textoAtual = "DESLIGADO!"
    corTexto = monitor.setTextColor(colors.green)
  else
    textoAtual = "SPAWNANDO!"
    corTexto = monitor.setTextColor(colors.red)
  end
end

function textoCentro(textoAtual,linhaDoTxt,corTexto)
  tamPlvr = (string.len(textoAtual))
  tamMonSemPlvr = math.floor(monX - tamPlvr)
  x = math.floor(tamMonSemPlvr / 2)
  monitor.setCursorPos((x + 1.5), linhaDoTxt)
  monitor.write(textoAtual)
end

while true do
  local event = os.pullEvent("redstone")
  checkRs(rs.getInput("right"))
  print(textoAtual)
  mostraMsg()
end

Claro que tbm consegui a ajuda de um gringo, mas, basicamente, ele mudou apenas as linhas 2, 13 e 32.  :Palmas:
O resto estava tudo certo!

O que o script faz é muito simples: Quando uma alavanca está na posição "ligado", o monitor fica mostrando: "DESLIGADO!", caso contrário, fica mostrando "SPAWNANDO!". Isso é para eu saber quando minha máquina especial de matar chefão está ligada, ou não.

Algumas screenshots:

Spoiler
O script no jogo:

O PC que Executa o Script:


O Monitor que Mostra as Mensagens:

Esse monitor fica do lado de fora da sala, por isso ele é necessário.

"Há muito mais na realidade do que uma mente humana consegue imaginar"
Paradoxo~
 

Online FL

  • Redação
  • *
  • 4/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #25 Online: 04 de Junho de 2017, 17:48:48
Código que eu fiz em NASM para resolver a nona questão do Euler Project. Já peguei prontos os procedures para imprimir corretamente os números.

Código: [Selecionar]
SECTION .data
msgEnd db 'End', 0h

SECTION .bss
val1 resb 4
val2 resb 4
val3 resb 4
arg1 resb 4

SECTION .text
global  _start
 
_start:
mov eax, 1000
mov [arg1], eax
call question9
call quit

;------------------------------------------
; Picks the Pythagorean triplet who sum for arg1 and the product.
question9:
mov [val1], byte(0)
_limitForVal1:
mov eax, [arg1]
dec eax ; for fixing value
mov edx, 0
mov ebx, 3
idiv ebx
mov ecx, eax ; limit for val1
_question9DefineFirstValue:
mov ebx, [val1]
inc ebx
mov [val1], ebx
mov [val2], ebx
cmp [val1], ecx
jg _question9End
_question9DefineSecondValue:
add [val2], byte(1)
mov edx, [arg1]
sub edx, [val1]
sub edx, [val2]
mov [val3], edx

cmp [val2], edx
jge _question9DefineFirstValue

call IsPythagoreanNumber
cmp eax, 1
jne _question9DefineSecondValue
_question9Success:
mov eax, [val1]
call iprintLF
mov eax, [val2]
call iprintLF
mov eax, [val3]
call iprintLF
mov eax, [val1]
mov ebx, [val2]
mul ebx
mov ebx, [val3]
mul ebx
call iprintLF
jmp _question9DefineSecondValue
_question9End:
mov eax, msgEnd
call sprint
ret

;------------------------------------------
; arg will be 1 if val1, val2 and val3 are Pythagorean sequence. 0 otherside
IsPythagoreanNumber:
push ebx
push ecx
push edx
mov eax, [val3]
mov ebx, 2
call pow
mov edx, eax

mov eax, [val2]
mov ebx, 2
call pow
mov ecx, eax

mov eax, [val1]
mov ebx, 2
call pow
mov ebx, eax

add ebx, ecx
mov eax, 1
cmp ebx, edx
je _IsPythagoreanNumberEnd ; Jump if has success.
mov eax, 0
_IsPythagoreanNumberEnd:
pop edx
pop ecx
pop ebx
ret

;------------------------------------------
; Pass args on eax, ebx.
; Return result on eax.
pow:
push ebx
push ecx
push edx
mov ecx, ebx
mov ebx, eax
cmp ecx, 0
jne _powBody
mov eax, 1
jmp _powEnd
_powBody:
cmp ecx, 1
je _powEnd
dec ecx
mul ebx
jmp _powBody
_powEnd:
pop edx
pop ecx
pop ebx
ret
   
;------------------------------------------
; void iprint(Integer number)
; Integer printing function (itoa)
iprint:
    push    eax
    push    ecx
    push    edx
    push    esi
    mov     ecx, 0
 
divideLoop:
    inc     ecx
    mov     edx, 0
    mov     esi, 10
    idiv    esi
    add     edx, 48
    push    edx
    cmp     eax, 0
    jnz     divideLoop
 
printLoop:
    dec     ecx
    mov     eax, esp
    call    sprint
    pop     eax
    cmp     ecx, 0
    jnz     printLoop
 
    pop     esi
    pop     edx
    pop     ecx
    pop     eax
    ret
 
 
;------------------------------------------
; void iprintLF(Integer number)
; Integer printing function with linefeed (itoa)
iprintLF:
    call    iprint
 
    push    eax
    mov     eax, 0Ah
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; int slen(String message)
; String length calculation function
slen:
    push    ebx
    mov     ebx, eax
 
nextchar:
    cmp     byte [eax], 0
    jz      finished
    inc     eax
    jmp     nextchar
 
finished:
    sub     eax, ebx
    pop     ebx
    ret
 
;------------------------------------------
; void sprint(String message)
; String printing function
sprint:
    push    edx
    push    ecx
    push    ebx
    push    eax
    call    slen
 
    mov     edx, eax
    pop     eax
 
    mov     ecx, eax
    mov     ebx, 1
    mov     eax, 4
    int     80h
 
    pop     ebx
    pop     ecx
    pop     edx
    ret
 
;------------------------------------------
; void sprintLF(String message)
; String printing with line feed function
sprintLF:
    call    sprint
 
    push    eax
    mov     eax, 0AH
    push    eax
    mov     eax, esp
    call    sprint
    pop     eax
    pop     eax
    ret
 
;------------------------------------------
; void exit()
; Exit program and restore resources
quit:
    mov     ebx, 0
    mov     eax, 1
    int     80h
    ret
 
   Esses usuários gostaram disto: Shiroyasha

Offline Mayleone

  • Professora
  • Morador
  • *
  • 2/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #26 Online: 14 de Junho de 2017, 23:34:34
Mais uma resolução de um exercício das aulas de C# para iniciantes que estou fazendo.
Enunciado: Desenvolva um código que possa calcular as coordenadas do vértice de uma parábola e ou as raízes reais de uma equação quadrática.
O usuário deverá responder o que deseja calcular e caso deseje calcular as coordenadas do vértice da parábola, o programa deverá perguntar se o usuário possui o valor de delta ou não.
No caso das raízes de equações, o programa deverá verificar se delta é maior que zero, igual a zero ou menor que zero, sendo:
delta = 0: Exibir uma única raiz real;
delta > 0: Exibir as duas raízes reais;
delta < 0: Exibir mensagem de erro.

Código: [Selecionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string text, confirm;
            double a, b, c, x1, x2, delta, quadrado, divi1, divi2;
            Console.WriteLine("Escreva o que deseja: V para vértice da função quadrática ou R para raízes de uma equação de 2º grau");
            text = Console.ReadLine();
            if (text == "V" || text == "v")
            {
                    Console.WriteLine("Você possui o delta da equação? Escreva 'sim' ou 'não'");
                    confirm = Console.ReadLine();
                   
                    switch (confirm){
                        case "SIM":
                        case "sim":
                        case "Sim":
                            Console.WriteLine("Digite o valor de delta");
                            delta = Convert.ToDouble(Console.ReadLine());
                         Console.WriteLine("Digite o valor do coeficiente a");
                    a = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("Digite o valor do coeficiente b");
                    b = Convert.ToDouble(Console.ReadLine());
                            x1 = -b/2*a;
                            x2 = - delta/4*a;
                            Console.WriteLine("A coordenada x do vértice é {0} e a coordenada y do vértice é {1}", x1, x2);
                            break;
                        case "NÃO":
                        case"NAO":
                        case "Não":
                        case "Nao":
                        case "nao":
                        case "não":
                    Console.WriteLine("Digite o valor do coeficiente a");
                    a = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("Digite o valor do coeficiente b");
                    b = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("Digite o valor do coeficiente c");
                    c = Convert.ToDouble(Console.ReadLine());
                    delta = ((b * b) - (4*a) * c);
                     x1 = -b/2*a;
                            x2 = - delta/4*a;
                            Console.WriteLine("A coordenada x do vértice é {0} e a coordenada y do vértice é {1}", x1, x2);
                            break;
                    }
                       
            } else if (text == "R" || text == "r") {
                Console.WriteLine("Digite o valor do coeficiente a");
                a = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Digite o valor do coeficiente b");
                b = Convert.ToDouble(Console.ReadLine());
                Console.WriteLine("Digite o valor do coeficiente c");
                c = Convert.ToDouble(Console.ReadLine());
                quadrado = b * b;
                delta = quadrado - (4 * a * c);
                x1 = -b + (Math.Sqrt(delta));
                divi1 = x1 / (2 * a);
                x2 = -b - (Math.Sqrt(delta));
                divi2 = x2 / (2 * a);
                if (delta == 0)
                {
                    Console.WriteLine("A raiz da equação é {0} e delta é {1}", divi1, delta);
                }
                else if (delta > 0)
                {

                    Console.WriteLine("Primeira raiz é: {0}. Segunda raíz é: {1} e delta é {2}", divi1, divi2, delta);
                }
                else
                    Console.WriteLine("Não existe raiz real");
            }
            Console.ReadKey();
        }
    }
}


OBS: O uso de algumas variáveis obsoletas, como por exemplo "divi1" é proposital para explicação da aula pros iniciantes.

Offline Mayleone

  • Professora
  • Morador
  • *
  • 2/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #27 Online: 16 de Junho de 2017, 18:26:33
Agora trago um código de uma calculadora simples (que só faz as 4 operações básicas mesmo) porque eu estava testando o windowsform do visual studio e as variáveis públicas:

Código: [Selecionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        }
        private void Form1_Load(object sender, EventArgs e)
        {
       
        }
        public class Global
        {
            public static string texto1 = " ", texto2 = " ";
            public static int var1 = 0, var2 = 0, op = 0, entrada = 0;

        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (Global.entrada == 0)
            {
                Global.texto1 += "7";
            }
            else
            {
                Global.texto2 += "7";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "8";
            }
            else
            {
                Global.texto2 += "8";
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "9";
            }
            else
            {
                Global.texto2 += "9";
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "4";
            }
            else
            {
                Global.texto2 += "4";
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "5";
            }
            else
            {
                Global.texto2 += "5";
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "6";
            }
            else
            {
                Global.texto2 += "6";
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "1";
            }
            else
            {
                Global.texto2 += "1";
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "2";
            }
            else
            {
                Global.texto2 += "2";
            }
        }

        private void button9_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "3";
            }
            else
            {
                Global.texto2 += "3";
            }
        }

        private void button10_Click(object sender, EventArgs e)
        {
              if (Global.entrada == 0)
            {
                Global.texto1 += "0";
            }
            else
            {
                Global.texto2 += "0";
            }
        }

        private void button12_Click(object sender, EventArgs e)
        {
            if (Global.entrada == 0)
            {
                Global.entrada = 1;
                Global.op = 1;

            }
        }

        private void button13_Click(object sender, EventArgs e)
        {
            if (Global.entrada == 0)
            {
                Global.entrada = 1;
                Global.op = 2;

            }
        }

        private void button14_Click(object sender, EventArgs e)
        {
            if (Global.entrada == 0)
            {
                Global.entrada = 1;
                Global.op = 3;

            }
        }

        private void button15_Click(object sender, EventArgs e)
        {
            if (Global.entrada == 0)
            {
                Global.entrada = 1;
                Global.op = 4;

            }
        }

        private void button11_Click(object sender, EventArgs e)
        {
         

            if (Global.entrada >= 1)
            {
                Global.var1 = Convert.ToInt32(Global.texto1);
                Global.var2 = Convert.ToInt32(Global.texto2);
                for (int contador = 1; contador <=2; contador ++){

                    switch (Global.op)
                    {
                        case 1:
                            MessageBox.Show(Convert.ToString(Global.var1 + "+" + Global.var2 + "=" + (Global.var1 + Global.var2)));
                            Global.op = 5;
                            break;

                        case 2:
                            MessageBox.Show(Convert.ToString(Global.var1 + "-" + Global.var2 + "=" + (Global.var1 - Global.var2)));
                            Global.op = 5;
                            break;

                        case 3:
                            MessageBox.Show(Convert.ToString(Global.var1 + "x" + Global.var2 + "=" + (Global.var1 * Global.var2)));
                            Global.op = 5;
                            break;

                        case 4:
                            MessageBox.Show(Convert.ToString(Global.var1 + "/" + Global.var2 + "=" + (Global.var1 / Global.var2)));
                            Global.op = 5;
                            break;

                        case 5:
                            Global.texto1 = " ";
                            Global.texto2 = " ";
                            Global.var1 = 0;
                            Global.var2 = 0;
                            Global.entrada = 0;
                            Global.op = 0;
                            break;
                    }
                }

            }
        }
        }
        }
       
       
       
       
       
       
   

 
 
   Esses usuários gostaram disto: Crixus

Offline Mayleone

  • Professora
  • Morador
  • *
  • 2/9
  • Tenha 1 ano na comunidade.
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #28 Online: 17 de Junho de 2017, 16:14:24
Mini-game de jogo da velha em c# (precisa do visual studio pra rodar):

Código: [Selecionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public class Global
        {
            public static bool turno = false, close = false, vencedor=false;
            public static int x_w = 0, o_w = 0, velha = 0, turnos = 0, A = 0, B = 0, C = 0, D = 0, E = 0, F = 0, G = 0, H = 0, I = 0;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.A == 0 && Global.close == false)
            {
                this.button1.Text = "X";
                Global.turnos++;
                Global.A = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.A == 0 && Global.close == false)
            {
                this.button1.Text = "O";
                Global.turnos++;
                Global.A = 2;
                checando();
                Global.turno = false;
            }

        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.B == 0 && Global.close == false)
            {
                this.button2.Text = "X";
                Global.turnos++;
                Global.B = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.B == 0 && Global.close == false)
            {
                this.button2.Text = "O";
                Global.turnos++;
                Global.B = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.C == 0 && Global.close == false)
            {
                this.button3.Text = "X";
                Global.turnos++;
                Global.C = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.C == 0 && Global.close == false)
            {
                this.button3.Text = "O";
                Global.turnos++;
                Global.C = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.D == 0 && Global.close == false)
            {
                this.button4.Text = "X";
                Global.turnos++;
                Global.D = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.D == 0 && Global.close == false)
            {
                this.button4.Text = "O";
                Global.turnos++;
                Global.D = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.E == 0 && Global.close == false)
            {
                this.button5.Text = "X";
                Global.turnos++;
                Global.E = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.E == 0 && Global.close == false)
            {
                this.button5.Text = "O";
                Global.turnos++;
                Global.E = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button6_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.F == 0 && Global.close == false)
            {
                this.button6.Text = "X";
                Global.turnos++;
                Global.F = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.F == 0 && Global.close == false)
            {
                this.button6.Text = "O";
                Global.turnos++;
                Global.F = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button7_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.G == 0 && Global.close == false)
            {
                this.button7.Text = "X";
                Global.turnos++;
                Global.G = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.G == 0 && Global.close == false)
            {
                this.button7.Text = "O";
                Global.turnos++;
                Global.G = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.H == 0 && Global.close == false)
            {
                this.button8.Text = "X";
                Global.turnos++;
                Global.H = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.H == 0 && Global.close == false)
            {
                this.button8.Text = "O";
                Global.turnos++;
                Global.H = 2;
                checando();
                Global.turno = false;
            }
        }

        private void button9_Click(object sender, EventArgs e)
        {
            if (Global.turno == false && Global.I == 0 && Global.close == false)
            {
                this.button9.Text = "X";
                Global.turnos++;
                Global.I = 1;
                checando();
                Global.turno = true;
            }
            if (Global.turno == true && Global.I == 0 && Global.close == false)
            {
                this.button9.Text = "O";
                Global.turnos++;
                Global.I = 2;
                checando();
                Global.turno = false;
            }
        }

        private void checando()
        {
                // Player 1 (X) checando vitória nas horizontais:
                if (Global.A == 1 && Global.B == 1 && Global.C == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                   
                }
                if (Global.D == 1 && Global.E == 1 && Global.F == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                if (Global.G == 1 && Global.H == 1 && Global.I == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                // Player 1 (X) checando vitória nas verticais:
                if (Global.A == 1 && Global.D == 1 && Global.G == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                if (Global.B == 1 && Global.E == 1 && Global.H == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                if (Global.C == 1 && Global.F == 1 && Global.I == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                // Player 1 (X) checando vitória nas diagonais:
                if (Global.A == 1 && Global.E == 1 && Global.I == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }
                if (Global.C == 1 && Global.E == 1 && Global.G == 1)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 1 venceu!");
                    Global.x_w++;
                    cleanAll();
                }

                // ESPAÇO PARA LINHAS **

                // Player 2 (o) checando vitória nas horizontais:

                if (Global.A == 2 && Global.B == 2 && Global.C == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.D == 2 && Global.E == 2 && Global.F == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.G == 2 && Global.H == 2 && Global.I == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                // Player 2 (O) checando vitória nas verticais:
                if (Global.A == 2 && Global.D == 2 && Global.G == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.B == 2 && Global.E == 2 && Global.H == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.C == 2 && Global.F == 2 && Global.I == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                // Player 2 (O) checando vitória nas diagonais:
                if (Global.A == 2 && Global.E == 2 && Global.I == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.C == 2 && Global.E == 2 && Global.G == 2)
                {
                    Global.close = true;
                    Global.vencedor = true;
                    MessageBox.Show("Jogador 2 venceu!");
                    Global.o_w++;
                    cleanAll();
                }
                if (Global.vencedor == false && Global.turnos == 9)
                {
                    Global.close = true;
                    MessageBox.Show("Empate");
                    Global.velha++;
                    cleanAll();
                }
        }

        private void cleanAll()
        {
            Global.A = 0;
            Global.B = 0;
            Global.C = 0;
            Global.D = 0;
            Global.E = 0;
            Global.F = 0;
            Global.G = 0;
            Global.H = 0;
            Global.I = 0;
            button1.Text = " ";
            button2.Text = " ";
            button3.Text = " ";
            button4.Text = " ";
            button5.Text = " ";
            button6.Text = " ";
            button7.Text = " ";
            button8.Text = " ";
            button9.Text = " ";
            button10.Text = "Jogar de novo";
            Global.turno = false;
            Global.turnos = 0;
            Global.vencedor = false;
            label4.Text = Convert.ToString(Global.x_w);
            label5.Text = Convert.ToString(Global.o_w);
            label6.Text = Convert.ToString(Global.velha);
        }

        private void button10_Click(object sender, EventArgs e)
        {
            if (Global.o_w != 0 || Global.x_w != 0 || Global.velha != 0)
            {
                Global.close = false;

            }
        }

    }
}
 
   Esses usuários gostaram disto: Joseph Poe

Online Pgaf100

  • Soldado
  • *
  • 3/9
  • Tenha 1 ano na comunidade. Clã vencedor do evento: Lua Infectada 2017. Participante do evento: Lua Infectada Participante do evento: Complete o Bestiário. Participante do evento: Halloween 2016
    • Ver perfil
    • Inventário
Re:Daily_Code
Resposta #29 Online: 25 de Junho de 2017, 12:21:46
Eu modifiquei o script da Scene_Title para randomizar a imagem da tela de title(muito parecido com o que acontece no Red Dead Redemption) sempre que a Scene_Title for iniciada :P
Ele é na minha opinião meio difícil de mexer, mas acho que se vocês analisarem um pouco poderão mexer nele de boas XD

Código: [Selecionar]
#==============================================================================
# ** Scene_Title
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de título.
#==============================================================================

class Scene_Title < Scene_Base
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  #--------------------------------------------------------------------------
  def start
    super
    $Titlevar = rand(3)
    SceneManager.clear
    Graphics.freeze
    create_background
    create_foreground
    create_command_window
    play_title_music
  end
  #--------------------------------------------------------------------------
  # * Aquisição da velocidade de transição
  #--------------------------------------------------------------------------
  def transition_speed
    return 20
  end
  #--------------------------------------------------------------------------
  # * Finalização do processo
  #--------------------------------------------------------------------------
  def terminate
    super
    SceneManager.snapshot_for_background
    dispose_background
    dispose_foreground
  end
  #--------------------------------------------------------------------------
  # * Criação do plano de fundo
  #--------------------------------------------------------------------------
  def create_background
    if $Titlevar <= 1
    @sprite1 = Sprite.new
    @sprite1.bitmap = Cache.title1("Book")
    center_sprite(@sprite1)
    end
    if $Titlevar >= 2
    @sprite2 = Sprite.new
    @sprite2.bitmap = Cache.title1("Sword")
    center_sprite(@sprite2)
    end
  end
  #--------------------------------------------------------------------------
  # * Criação do primeiro plano
  #--------------------------------------------------------------------------
  def create_foreground
    @foreground_sprite = Sprite.new
    @foreground_sprite.bitmap = Bitmap.new(Graphics.width, Graphics.height)
    @foreground_sprite.z = 100
    draw_game_title if $data_system.opt_draw_title
  end
  #--------------------------------------------------------------------------
  # * Desenho do nome do jogo.
  #--------------------------------------------------------------------------
  def draw_game_title
    @foreground_sprite.bitmap.font.size = 48
    rect = Rect.new(0, 0, Graphics.width, Graphics.height / 2)
    @foreground_sprite.bitmap.draw_text(rect, $data_system.game_title, 1)
  end
  #--------------------------------------------------------------------------
  # * Disposição do plano de fundo
  #--------------------------------------------------------------------------
  def dispose_background
    if $Titlevar <= 1
    @sprite1.bitmap.dispose
    @sprite1.dispose
    end
    if $Titlevar >= 2
    @sprite2.bitmap.dispose
    @sprite2.dispose
    end
  end
  #--------------------------------------------------------------------------
  # * Disposição do primeiro plano
  #--------------------------------------------------------------------------
  def dispose_foreground
    @foreground_sprite.bitmap.dispose
    @foreground_sprite.dispose
  end
  #--------------------------------------------------------------------------
  # * Movimento do sprite para o meio da tela
  #     sprite : sprite a ser movido
  #--------------------------------------------------------------------------
  def center_sprite(sprite)
    sprite.ox = sprite.bitmap.width / 2
    sprite.oy = sprite.bitmap.height / 2
    sprite.x = Graphics.width / 2
    sprite.y = Graphics.height / 2
  end
  #--------------------------------------------------------------------------
  # * Criação da janela de comando
  #--------------------------------------------------------------------------
  def create_command_window
    @command_window = Window_TitleCommand.new
    @command_window.set_handler(:new_game, method(:command_new_game))
    @command_window.set_handler(:continue, method(:command_continue))
    @command_window.set_handler(:shutdown, method(:command_shutdown))
  end
  #--------------------------------------------------------------------------
  # * Fechamento da janela de comando
  #--------------------------------------------------------------------------
  def close_command_window
    @command_window.close
    update until @command_window.close?
  end
  #--------------------------------------------------------------------------
  # * Comando [Novo Jogo]
  #--------------------------------------------------------------------------
  def command_new_game
    DataManager.setup_new_game
    close_command_window
    fadeout_all
    $game_map.autoplay
    SceneManager.goto(Scene_Map)
  end
  #--------------------------------------------------------------------------
  # * Comando [Continuar]
  #--------------------------------------------------------------------------
  def command_continue
    close_command_window
    SceneManager.call(Scene_Load)
  end
  #--------------------------------------------------------------------------
  # * Comando [Sair]
  #--------------------------------------------------------------------------
  def command_shutdown
    close_command_window
    fadeout_all
    SceneManager.exit
  end
  #--------------------------------------------------------------------------
  # * Executar música de título
  #--------------------------------------------------------------------------
  def play_title_music
    $data_system.title_bgm.play
    RPG::BGS.stop
    RPG::ME.stop
  end
end

Eu ia explicar, mas acho que só se analisarem vão entender bem como funciona :P btw eu testei e ele funcionou bem, tanto no projeto de treino quanto no meu projeto principal.
OBS: Eu usei Titles de RTP, mas isso não muda o fato que exportei as imagens para a pasta Titles do projeto.
 
   Esses usuários gostaram disto: Mayleone Riven

Estes usuários estão vendo este tópico:
0 Membros e 1 Visitante