Skip to content

Instantly share code, notes, and snippets.

@naosim
naosim / ScreenGamePad.js
Created November 3, 2024 20:53
【microStudio】スマホ用スクリーンゲームパッド
class ScreenGamePad {
UP = false;
DOWN = false;
RIGHT = false;
LEFT = false;
A = false;
B = false;
press = {
UP: false,
DOWN: false,
@naosim
naosim / ChangeEventChecker.js
Created October 15, 2024 21:01
変更を監視する
class ChangeEventChecker {
add(name, checkerFunc) {
this[name] = {checkerFunc, lastValue:undefined, isChanged:false};
return this;
}
check() {
Object.entries(this).forEach((e) => {
const [k, v] = e;
const value = v.checkerFunc();
@naosim
naosim / GamePad.js
Last active October 18, 2024 19:04
【microScript】ゲームパッドのラッパー
class GamePad {
UP = false;
DOWN = false;
RIGHT = false;
LEFT = false;
A = false;
B = false;
press = {
UP: false,
DOWN: false,
@naosim
naosim / GameObjects.js
Created October 11, 2024 22:57
【microStudio】小要素を管理するオブジェクト
class GameObjects {
children = new Set();
constructor() {
this.children = new Set();
}
add(child) {
this.children.add(child);
}
remove(child) {
@naosim
naosim / fromEntries.js
Created October 3, 2024 21:33
fromEntries
const text = "name=naosim,point=10,state=4"
const result = text.split(",").reduce((memo, v) => {
const [key, value] = v.split("=");
return {...memo, [key]:value};
}, {})
console.log(result);
const result2 = Object.fromEntries(text.split(",").map(v => v.split("=")))
console.log(result2);
@naosim
naosim / microStudio-js-cheatcommand.js
Created October 2, 2024 21:17
【microStudio】裏技の実装(コナミコマンド)
class CheatCommand {
cheatCommandDef = "uuddlrlrba" // コナミコマンド
initKeys;
inputKeys;
isCheatCompleted = false;
init() {
this.initKeys = this.cheatCommandDef.split("").map(v => "-").join("");
this.inputKeys = this.initKeys;
}
update() {
@naosim
naosim / microStudio-js-matter.js
Created September 28, 2024 08:48
【microStudio】javascript + matter.js
// https://microstudio.dev/documentation/Matter/
var engine;
var ground;
var box;
init = function() {
engine = Matter.Engine.create();
engine.world.gravity.y = -1;
ground = Matter.Bodies.rectangle(0, -50, 200, 10, {isStatic: true});
Matter.Composite.add(engine.world, ground);
box = Matter.Bodies.rectangle(0, 50, 20, 20);
@naosim
naosim / product-order.md
Created September 16, 2024 21:33
商品と注文モデル
classDiagram
namespace domain-runtime-DeliveredProduct {
class DeliveredProduct["DeliveredProduct
納入商品"] {
  
DeliveredProductId 納入商品ID
OfferSpec.OfferSpecId オファー仕様ID
User.UserId ユーザID
ServiceContract.ServiceContractId サービス契約ID
@naosim
naosim / screenshot-on-chome.js
Created July 23, 2024 20:33
起動中のchromeでカレンダーを表示してスクショする
// chromeを起動する
// "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir=remote-profile
import puppeteer from 'puppeteer';
// Or import puppeteer from 'puppeteer-core';
// Launch the browser and open a new blank page
// const browser = await puppeteer.launch();
const browser = await puppeteer.connect({
browserURL: 'http://127.0.0.1:9222',
@naosim
naosim / post-slack-with-image.js
Created July 23, 2024 20:26
slackに画像を送る
import { IncomingWebhookClient } from 'https://unpkg.com/@slack/webhook@latest/dist/cjs/index.js';
import fs from 'fs';
const url = 'YOUR_SLACK_WEBHOOK_URL'; // Incoming Webhook URL
const channel = '#general'; // 送信先チャンネル
const message = '画像を送信します'; // メッセージ
const filePath = 'image.jpg'; // 送信する画像ファイルのパス
(async () => {