發表文章

吱聲,桌上撿到的滑鼠【創作 (實驗項目) 】

圖片
代號:Δ-001 實驗者:Δ君博士 實驗對象:滑鼠 實驗時間:2018年07月██日 危險程度:無害
特徵:██牌個人電腦用滑鼠與普通家鼠的結合體,尾部呈現A-type插頭,經測試可直接插入標準電腦USB插孔。腹部會以類似發出雷射感應般做變化強度的紅光,背部接近尾部連接處有滑鼠左右點擊鍵與滾輪。不具性別特徵,經DNA鑑定該實驗對象無法得知性別。在胸部前半部體毛上具有與周圍稍深的毛色,顯示出██牌個人電腦的標誌。當初發現於██國行政大樓辦公室五樓的一名公務人員的桌上,因為其隨意啃食列印紙而遭到其他女職員投訴。
行為:實驗對象並不需要進行任何設實行為或任何排泄與排遺行為,其補充能量只需將其尾部插入對應接頭充電即可。搔搔牠腹部的亮紅光處會發出吱吱聲,滾動牠背上的滾輪會使牠無意識地前後行走。當我等實驗室電腦滑鼠損壞時,經Δ君博士認可可使用實驗對象代替滑鼠之用。其複製體將編訂成Δ-002。
使用報告: 【001】Δ君博士審核通過後,我隨即將這小傢伙的尾巴連上我的電腦。抓起來毛毛的、軟呼呼的比我壞掉的普通滑鼠還好用,不過牠時常趁我喝茶時不注意就在桌面上亂跑。 【002】我覺得我們應該跟北部的實驗室借活體列印機來用,這樣組員們就不會搶著要用牠。 【003】很療癒的實驗項目,正如██所說,真該多複製幾隻來用的,說也奇怪這東西居然是無性的。 【004】無法顯示。 【005】████████ 【006】██組員北上帶回的複製體後來在實驗室相當受歡迎,我們下班之後還辦了個滑鼠大賽,利用維基百科頁面點選條目到指定條目,途中只能用實驗項目複製體,以鑑定其性能。

布雷森漢姆直線演算法【C#】

圖片
布雷森漢姆直線演算法(Bresenham's line algorithm)是任何Roguelike遊戲的基礎,它使用光線投射作為玩家視野的方式。它用於繪製兩點之間一直線的近似值。
本文章主要是參考自此網站的教學,主要是讓難以理解英文者學習之用。



本篇文章基礎上以C#作為此演算法的實現。

程式碼大綱(功能方塊): using System; using System.Drawing; using System.Windows.Forms; namespace Bresenham { public partial class Bresenham : Form { public Bresenham() { InitializeComponent(); } Point Start; Point End; int[,] map = new int[50, 50]; private void DrawingPictureBox_MouseDown(object sender, MouseEventArgs e){...} //點擊滑鼠事件 private void DrawingPictureBox_MouseMove(object sender, MouseEventArgs e){...} //滑鼠游標移動處為終點 private void DrawingPictureBox_Paint(object sender, PaintEventArgs e){...} //繪製區 private void Bresenham_Load(object sender, EventArgs e){...} //設定視窗大小與介面大小 } } 在Visual studio中的視窗設計,在From裡加入PictureBox(無人在此命名為DrawingPictureBox)在屬性BackColor設定為DimGray。 在此注意在視窗中,X坐標值沿X軸向右增長,Y坐標值沿Y軸向下增長。

點擊滑鼠事件:private voi…

如何用15個步驟寫出Roguelike(翻譯與改編)【基礎核心概念】

圖片
How to Write a Roguelike in 15 Steps
(如何用15個步驟寫出Roguelike)原文

這是給Roguelike創作者們的粗略製作路線圖。事實上有很多可能的製作方法,沒有任何編程是相同的,這是一個可能性的概述,也許會幫助你規劃你自己的遊戲。
在編程中有個概念,認為數據結構比程式碼更重要:一旦數據結構正確,程式碼能夠較為自然編寫,像是在構建空間訊息、地圖圖塊、屬性列表、角色訊息、怪物/ NPC訊息、道具/標記/聲音/氣味/足跡在地圖上的訊息會很有用。

類型的決定極為重要,包括:與怪物/ NPC之間的衝突、隱形、飛行、墜落、梯度(如爬山)、視線、變身、保存/恢復、地圖圖塊被修改(燃燒、打開通道、傳送、融化、複製、燒焦等)和區域轉換。
Step 1 - Decide to write a game(第1步 - 決定寫一個遊戲) 你們大多數人已經有了這一步,但有些關於第一步的方向提示。開始開發自己的Roguelike遊戲的最佳理由是創建一個你自己喜歡的遊戲。不需四處詢問Roguelike遊戲的定義(你不需要它)。如果你寫的遊戲不被別人認為是Roguelike,但為你玩還是很開心(你成功了)。
不要計劃太多。當然,如果你想在你的遊戲中確定某些東西,你就必須寫出來,以便讓它們有規劃空間。當你編寫設計文檔時,你會做出很多決定。

宅不廢的C語言教學-專題01【推箱子-01】

圖片
本課簡介 緣起於學校的微控制器這堂課助教所給的實驗測試題。

簡介推箱子:
倉庫番(そうこばん),由日本Thinking Rabbit公司於1982年發售,遊戲方法是要求玩家在二維地圖上把箱子推到指定地點。
演示影片

撰寫準備 1.自訂函數
2.#define
3.類別class
前置標頭#include <iostream> #include <math.h> #include <stdlib.h> #include <time.h> #include <conio.h> #include <windows.h>#define M 12 #define N 12 全域變數class Coordination { public: int x; int y; };Coordination hole; static int temp; int dirction;功能方塊void setColor(int color); void boundary(int a[M][N]); void print(int a[M][N]); int newhole(int a[M][N]); int moveperson(int a[M][N]); void Play_Space(int a[M][N], int b[M][N]);

微積分題庫003

$Question:$

$(\sqrt{x}\int_{0}^{\sqrt{x}} e^{xt^2} \mathrm{d}t)'$

不含積分形式

$let:$
$u=\sqrt{x}t$
$\Rightarrow \mathrm{d}u=\sqrt{x}\mathrm{d}t$
$use$ $Leibniz$

$=(\int_{0}^{\sqrt{x}} e^{u^2} \mathrm{d}u)'$

$=\frac{1}{2\sqrt{x}}e^{x}$

最近忙碌,暫時無法修築。【2018.01.17】

本文章為工作日誌。
有鑑於我的筆電在今年元旦時不小心中了廣告病毒還有一些雜七雜八的東西,致此許多電腦建築工程無法持續。
回到原廠電腦公司將C槽重灌、D槽格式化、電池與硬體檢查......總計花我1000元。
我在上學期省吃儉用的的錢就這麼全沒了......
再加上為了修理電腦,我得放棄一些囤積太久的程式軟體及影片資料檔。
實在是太慘了(對我個人而言),很顯然我得更加小心那些來路不明的鬼東西。
今天只是送修而已,工程師說要等到明天或是後天才能完成。
也罷,最近已經很久沒有搞軟體了,整整十六天我都在搞硬體的設計(還有岌岌可危的學校段考)。

微積分題庫002

$Question:$

$\int_{0}^{1} \sqrt{1 - \sqrt{x}} \mathrm{d}x$

$let:$
$u=\sqrt{1 - \sqrt{x}}$
$\Rightarrow x=u^{4} - 2u^{2} + 1$
$\Rightarrow \mathrm{d}x=(4u^{3} - 4u) \mathrm{d}u$

$=\int_{1}^{0} u(4u^{3} - 4u) \mathrm{d}u$

$=\int_{1}^{0} (4u^{4} - 4u^{2}) \mathrm{d}u$

$=\left[ \frac{4}{3}u^{5} + \frac{4}{3}u^{3} \right]_1^0$

$=0 - (\frac{4}{5} - \frac{4}{3})$

$=\frac{8}{15}\left \langle Ans \right \rangle$
\begin{array}{|c|c|} x & u \\ \hline 0&1\\ 1&0\\ \end{array}