【CryptoZombie】ゾンビファクトリー|レッスン1

プログラミング

ゾンビファクトリーレッスン1

ゾンビのキャラクターを作る。

  • 作ったゾンビの兵士はファクトリーのデータベースで管理されるぞ
  • ファクトリーでは新しいゾンビを作れるぞ
  • 個々のゾンビは、ランダムにユニークな外見になるぞ
  • 機能を追加して、人間や他のゾンビを攻撃できる能力を身につけることができるようなることも可能

ゾンビの外見は「ゾンビDNA」によって決まるのだ。ゾンビDNAは簡単なもので、16桁の整数である。

Aゾンビ『“8356281049284737”』

実際のDNAと同じように、それぞれの数字の部分は対応するゾンビの部分と一致するようにしてある。最初の2桁の数字はゾンビの頭。次の2桁はゾンビの目の部分。

可変長配列とは

プログラミングにおいて、可変長配列(かへんちょうはいれつ、英語: variable-length array: VLA)とは、コンパイル時ではなく実行時に長さが決定される自動記憶期間の配列データ構造。

固定長配列とは

固定長配列の要素番号は 0 〜 n-1 で、個々の配列要素が 0 〜 n-1 の番号順に符号化。全要素が同一のデータ型であっても、要素のサイズが異なることがあります。たとえば、文字列の固定長配列の場合、要素のデータ型はすべて string 型ですが、個々の要素の長さは異なります。

状態変数

状態変数(State Variable)とは、各時刻におけるシステムの内部状態を表現する変数のこと。

動的システムの数学的「状態」を記述するために使用される変数のセットの1つ。システムの状態は、システムに影響を与える外力がない場合の将来の動作を決定するために、システムについて十分に説明。結合された1階微分方程式で構成されるモデルは、状態変数形式であると言われる。

例)

機械システムでは、機械部品の位置座標と速度が典型的な状態変数です。これらを知っているとシステム内のオブジェクトの将来の状態を判断することができます。

熱力学では状態変数は、内部エネルギー、エンタルピー、エントロピーなどの状態関数の独立変数です。例としては、温度、圧力、体積などがあります。熱と仕事は状態関数ではなく、プロセス関数。

電子/電気回路ではノードの電圧と回路内のコンポーネントを流れる電流は通常、状態変数です。どの電気回路でも、状態変数の数は、インダクターとコンデンサーである(独立した)ストレージ要素の数に等しくなります。インダクタの状態変数はインダクタを流れる電流であり、コンデンサの状態変数はコンデンサの両端の電圧。

生態系モデルでは、植物、動物、資源(栄養素、有機物)の個体数(または濃度)が典型的な状態変数。

符号なし整数: uint

uintというのは、符号なし整数のデータ型で負数ではない。intと uintはそれぞれ 32 ビットの符号付/符号無し整数を表す型。範囲はintが -2,147,483,648 から 2,147,483,647。uint が 0 から 4,294,967,295 。

この範囲で足りない場合には Number を使うことになります。int/uint を使用したほうが Number よりも演算速度は速いため int/uint で用が足りる場合はこちらを選ぶのがよい。

Numberとは。実数。倍精度浮動小数点。有効桁数訳15桁。整数値で52ビットまで。

数式演算

・加算(足し算): x + y

・減算(引き算): x – y,

・乗算(掛け算): x * y

・除算(割り算): x / y

剰余(余り): x % y (例えば、13 % 5 は 3になる。なぜかというと、13を5で割ると、余りが3だからだ.)Solidityは指数演算子もサポートしている。(例 “xのy乗”、 x^y):

※(uint x = 5 ** 2; // 5^2 = 25 と同様)

構造体

構造体はプログラミング言語におけるデータ型の一つ。1つもしくは複数の値をまとめて格納できる型。それぞれのメンバー(フィールド)に名前が付いている点、またメンバーの型が異なっていてもよい点が配列と異なる。

C/C++やC#などでstructとしてサポートされているほか、Visual Basic/VBAのユーザー定義型Typeや、PascalやAdaのrecord型も構造体に相当する。

文字列型 は【string type】 String型。文字列型とは、多くのプログラミング言語やデータベース管理システム(DBMS)に用意されている基本データ型の一つで、文字列を格納するためのもの。

構造体の配列を利用してデータベースを作成することができる。

Solidityのバージョンを入力

Solidityのソースコードは全て”version pragma”で始める。Solidityのコンパイラのバージョン(etc:pragma solidity ^0.4.19;)を宣言するもの。

Contract

コントラクトを開始するための骨組みを作るためにはcontract{}を使う。

まとめ

ゾンビのDNAとは機械語のこと。一般的にプログラミング言語は私たちが認識する言語でありスマートコントラクトにするためには機械語にする必要がある。機械語とは、コンピュータのマイクロプロセッサ(CPU/MPU)が直接解釈・実行できる命令コードの体系人間が直に読み書きしやすい形式ではない。

なのでプログラムを組んで機械語に翻訳するための学習ゲームである。

タイトルとURLをコピーしました