カテゴリー
Visual Basic

Visual Basicでhighlighting code blockを使ってみると…。

#include <stdio.h>
int main(){
    puts("Hello");
    return 0;
}
dim a as integer
a = 100
print a
dim a as integer
a = 100
print a

highlighting code blockを使ってますが、デフォルトでの設定以外では、free契約のWordPressでは出来ないようです。何故かというと、サーバーにアクセスできないようですので。その結果、Visual Basicでは使えないということです。別に試したところでは、VS2022以上の使用感は実現されていないようです。上に載せているように、コードだけであれば問題ないように思います。

カテゴリー
Python

Pythonのソースをアップしてみる

import tkinter

# 解読関数
def decode_line(event):
    global current_line, bgimg, lcharimg, ccharimg, rcharimg
    if current_line >= len(scenario):
        return;
    # 1行読み込み
    line = scenario[current_line]
    current_line = current_line + 1
    line = line.replace("\\n", "\n").strip()
    params = line.split(" ")
    # 分岐
    if line[0] != "#":
        message["text"] = line
        return
    elif params[0] == "#back":
        canvas.delete("all")
        bgimg = tkinter.PhotoImage(file=params[1])
        canvas.create_image(450, 230, image=bgimg)
    elif params[0] == "#putChar":
        if params[2] == "L":
            canvas.delete("left")
            lcharimg = tkinter.PhotoImage(file=params[1])
            canvas.create_image(200, 160, image=lcharimg, tag="left")
        elif params[2] == "R":
            canvas.delete("right")
            rcharimg = tkinter.PhotoImage(file=params[1])
            canvas.create_image(700, 160, image=rcharimg, tag="right")
        else:
            canvas.delete("center")
            ccharimg = tkinter.PhotoImage(file=params[1])
            canvas.create_image(450, 160, image=ccharimg, tag="center")
    elif params[0] == "#branch":
        message.unbind("<Button-1>")
        btn = tkinter.Button(text=params[2], width=20)
        branch.append(btn)
        btn["command"] = lambda : jump_to_line(int(params[1])-1)
        btn.place(x=300, y=60+int(params[1])*60)
        jumplabel.append(params[3])
        if params[4] == "n":
            return
    elif params[0] == "#jump":
        label = params[1].strip()
        # ジャンプ先を探す
        for l in range(len(scenario)):
            if scenario[l].strip() == "## " + label:
                current_line = l
                decode_line(None)
                return
    elif params[0].strip() == "#end":
        message["text"] = "終わり"
        message.unbind("<Button-1>")
        current_line = 999999999
    # 再帰呼び出し
    decode_line(None)

# ジャンプ関数
def jump_to_line(branchID):
    global current_line
    # ボタンを消す
    for btn in branch:
        btn.place_forget()
        btn.destroy()
    branch.clear()
    label = jumplabel[branchID]
    jumplabel.clear()
    message.bind("<Button-1>", decode_line)
    # ジャンプ先を探す
    for l in range(len(scenario)):
        if scenario[l].strip() == "## " + label:
            current_line = l
            decode_line(None)
            return

# ウィンドウ作成
root = tkinter.Tk()
root.title("よろしくアドベンチャー")
root.minsize(900, 460)
root.option_add("*font", ["メイリオ", 14])
# キャンバス作成
canvas = tkinter.Canvas(width=900, height=460)
canvas.place(x=0, y=0)
# メッセージエリア
message = tkinter.Label(width=70, height=5, wraplength=840,
    bg="white", justify="left", anchor="nw")
message.place(x=28, y=284)
message["text"] = "クリックしてスタート"

# ファイル読み込み
scenario = []
file = open("img8/scenario.txt", "r", encoding="utf-8")
while True:
    line = file.readline()
    scenario.append(line)
    if not line:
        file.close()
        break

# 現在の行数
current_line = 0
# イベント設定
message.bind("<Button-1>", decode_line)
# 画像
bgimg = None
lcharimg = None
ccharimg = None
rcharimg = None
# 選択肢
branch = []
jumplabel = []

root.mainloop()
inserted by FC2 system