Skip to content

Instantly share code, notes, and snippets.

View patrickporto's full-sized avatar

Patrick Porto patrickporto

View GitHub Profile
{
"id": "swade-core-rules-ptbr",
"title": "Savage Worlds Edi\u00e7\u00e3o Aventura Regras B\u00e1sicas",
"description": "<p><i>Savage Worlds</i> \u00e9 a base de todos os jogos da Pinnacle;</p><p>A vers\u00e3o atual \u00e9 <i>Savage Worlds Edi\u00e7\u00e3o Aventura</i>, ou \u201cSWADE\u201d.</p><p><i>Savage Worlds</i> tem tudo que voc\u00ea precisa para jogar narrativamente ou com miniaturas, com regras r\u00e1pidas, simples e ainda compreens\u00edveis para tudo, de combate at\u00e9 Tarefas Dram\u00e1ticas, Persegui\u00e7\u00f5es e Interl\u00fadios. A \u00eanfase \u00e9 em menos anota\u00e7\u00f5es para a Mestre, ent\u00e3o ela pode, de forma r\u00e1pida e f\u00e1cil, criar mundos e aventuras para qualquer cen\u00e1rio e focar nos jogadores e suas a\u00e7\u00f5es para manter a a\u00e7\u00e3o e a hist\u00f3ria fluindo.</p>",
"author": "Retropunk Publica\u00e7\u00f5es",
"authors": [],
"url": "https://retropunk.com.br/loja/591-savage-worlds-edicao-aventura-modulo-de-regras-para-foundry-vtt.html",
"
@patrickporto
patrickporto / MerchantMacro.js
Created October 10, 2021 14:48
fvtt-merchant-macro
const i18n = {
"MERCHANT.Buy": "Comprar",
"MERCHANT.Sell": "Vender"
}
class Merchant {
constructor({
merchant,
player,
merchantExchange,
@patrickporto
patrickporto / machine.js
Last active April 7, 2020 15:14
Generated by XState Viz: https://xstate.js.org/viz
// Available variables:
// - Machine
// - interpret
// - assign
// - send
// - sendParent
// - spawn
// - raise
// - actions
@patrickporto
patrickporto / machine.js
Last active April 3, 2020 22:40
Generated by XState Viz: https://xstate.js.org/viz
const postCardMachine = Machine({
id: "postCard",
type: "parallel",
states: {
publishing: {
initial: "placeholder",
states: {
operation: {
initial: "listing",
states: {
@patrickporto
patrickporto / classes-es6.js
Created September 11, 2018 14:28
Classes (EcmaScript 6)
class Person {
constructor(name) {
this.name = name;
}
saysHello() {
return "Hello, my name is " + this.name;
}
}
@patrickporto
patrickporto / classes-es5.js
Last active September 11, 2018 14:28
Classes (EcmaScript 5)
function Person(name) {
this.name = name;
}
Person.prototype.saysHello = function () {
return "Hello, my name is " + this.name;
};
function Employee(name, title) {
Person.call(this, name);
// Estratégia 1
const cubos = []
cubos[0] = []
cubos[0][0] = []
cubos[0][0][0] = "cubo 1"
cubos[0][0][1] = "cubo 2"
cubos[0][0][2] = "cubo 3"
// [...]
// Estratégia 2
#!/usr/bin/env python
import os
import sys
if __name__ == '__main__':
sys.path.append('..')
try:
from bookkeeping.cli import execute_from_command_line
except ImportError as exc:
raise ImportError(
@patrickporto
patrickporto / pre-commit
Created January 11, 2018 19:47
git hook for update the library version
#!/bin/sh
VERSION=$(git describe --always --tag)
sed -i "s/version='.*'/version='0.1.2'/g" setup.py
git add setup.py
@patrickporto
patrickporto / desafio-mobile.md
Last active February 20, 2018 00:01
Este é um desafio adequado para Desenvolvedor Mobile da área de Banking.

Carteira Virtual

O App Mobile precisa fornecer carteiras virtuais de criptomoedas. Todo cliente possui ao se cadastrar recebe R$ 100.000,00 (cem mil reais) em conta para comprar Bitcoins e Britas. A cotação da criptomoeda Brita é equivalente ao dólar e pode ser consultada na API do Banco Central enquanto que a cotação do Bitcoin pode ser consultada na API do Mercado Bitcoin.

Sobre as operações financeiras de criptomoedas, é correto afirmar que:

  • O cliente pode vender suas criptomoedas ou trocar uma pela outra.

  • O cliente precisa saber o saldo discriminado por cada moeda.