原创 Java設計模式之從[魔獸世界副本]分析原型(Prototype)模式

  “副本”是網絡遊戲任務的一種形式,它最初出現於無盡的任務,現在運用得最有名的就是魔獸世界的副本了,我們將它稱爲副本任務。副本任務一般是一個隊伍的人一起闖關的,假設有隊伍A、隊伍B、隊伍C,分別對同一個副本任務發出挑戰,他們在副本任務中

原创 C# Java 內部類之間的比較

C# Java 內部類之間的比較   一、引言  嚴格來說,C#並沒有“內部類”這個概念,它應該叫做“嵌套類” (Nested Class)。下面先看一段Cclass Outer {     void Print()     {    

原创 Java設計模式之從[反恐精英控制檯]分析單例(Singleton)模式

  所謂單例模式(Singleton),就是保證一個類僅有一個實例,並提供一個訪問它的全局訪問點的模式。   玩過反恐精英的同學應該都知道,遊戲當中是有個控制檯的,我們可以通過按`鍵(波浪線鍵)調出這個控制檯。控制檯的目的是爲了方便開發人

原创 C# 繼承、接口與多態

C# 繼承、接口與多態   我在這裏想談一談在C#中的繼承(繼承於基類或接口)和多態(如方法的覆寫)。繼承和多態是面向對象編程中兩個重要的特性,這種特性和編程語言本身是沒多大關係的,因此我先會用非編程的思維來談一談我對它們的認識,然後再談

原创 Java設計模式之從[星際爭霸1]分析抽象工廠模式

  抽象工廠模式是創建型模式之一。創建型模式有工廠模式(抽象工廠、工廠方法)、生成器模式、單體模式、原型模式四種。下面我來簡單分析一下抽象工廠模式。   抽象工廠模式的定義是創建一個提供一系列相關或相互依賴對象的接口,而無需指定它們具體的

原创 VB.NET 構造矩陣類

本類我是用VB.NET編寫的類,不管用什麼語言,算法都類似,註釋寫得都挺詳盡的了,而且我也通過了調試。 Public Class Matrix     Private matrix(,) As Double '定義矩陣變量     Pri

原创 C++使用回溯法生成數獨

數獨,應該不用我說明吧,是一個9*9的矩陣,矩陣裏的每一個數字都是1~9中的一個。在每一行、每一列每個數字只能出現一次,另外,在每一個九宮格里每個數字也只能出現一次。 我曾經在網上看過一種“假”的數獨生成法,生成的數獨其實是有規律的

原创 C# 用回溯遞歸解決“八皇后”問題

C# 用回溯遞歸解決“八皇后”問題   在很早以前,我曾經用C++寫過一篇使用回溯法來生成隨機數獨的博客。這一次,考慮到這是一系列關於C#的博客,所以利用C#的一些特點,來解決著名的“八皇后”問題。   一、問題概述   問題概述搬自百度

原创 Java設計模式之從[Dota的武器創建]分析生成器(Builder)模式

  Dota可謂是當下最流行的遊戲之一,玩家分爲兩隊,分別是天輝(近衛)和夜魘(天災),每隊5個人,通過補刀、殺敵獲取經驗和金錢,金錢可用來購買強大的武器,最終推倒敵方基地則獲勝。我們現在考慮一個最簡單的武器組成元素:武器是由武器名、攻擊

原创 C# 之泛型

C# 之泛型 一、何爲泛型   C#泛型的說明抄自MSDN: 泛型是 2.0 版 C# 語言和公共語言運行庫 (CLR) 中的一個新功能。泛型將類型參數的概念引入 .NET Framework,類型參數使得設計如下類和方法成爲可能:這些類

原创 C# 類、結構與擴展方法

C# 類、結構與擴展方法 我並非C#大神,只是用了這麼久C#,會對這門語言有着一些自己的簡介。爲了總結一下自己對C#的認識,也爲了能夠和大家一起分享學習C#的過程,我打算把我的各種各樣的理解寫出來。 在今後這一系列博客中,我主要總結的是一

原创 一、Swift 語法概述

  Swift是Apple最新推出的語言,用於編寫iOS和OS X程序,與C語言和Objective-C兼容。本系列的文章中的一些例子,都來自於蘋果官方的GUIDE: The Swift Programming Language,有興趣的

原创 Java設計模式之從[星際爭霸的兵種升級]分析觀察者(Observer)模式

  觀察者模式定義對象的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都會得到通知並被自動更新。   一個簡單的例子是,在星際爭霸的蟲族中有一個初級單位叫做跳狗(Zergling),玩家可以在研究中心爲它升級“腎上腺

原创 Java設計模式之從[遊戲中的兵種狀態轉換]分析狀態(State)模式

  假設我們正在做一個即時戰略遊戲,我們設計一個兵種,他在剛剛生產出來的時候是步兵,但是他可以切換武器,第一次切換會變成弓箭手,第二次切換會變成舉着盾牌的裝甲兵,第三次切換則又變成了步兵……如何實現這個切換的機制?我們一開始會想到,在步兵

原创 Java設計模式之從[暗黑破壞神存檔點]分析備忘錄(Memento)模式

  在大部分遊戲中,都有一個“存檔點”的概念。例如,在挑戰boss前,遊戲會在某個地方存檔,如果玩家挑戰boss失敗,則會從這個存檔點開始重新遊戲。因此,我們可以將這個“存檔點”當成是一個備忘錄,我們將此時玩家所有的狀態保存下來,以便之後