2015年3月7日土曜日

エラー error C2146: 構文エラー についての考察

ゲームを作っているときにこのようなエラーが発生しました。

error C2146: 構文エラー : ';' が、識別子 'ch' の前に必要です。
error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません


C++の文法事項に問題ないと思いきや…あったんですねー RouterMan様の記事に書かれてました。

http://routermanblog.blogspot.jp/2013/09/error-c2146-xxx.html


エラー前は

chara.h----------------------

#include "define.h"
#include <list>

RTS.h-----------------------

#include "chara.h"
#include "map.h"
#include <list>

chara.cpp--------------------
#include "chara.h"
#include <time.h>
#include <stdlib.h>


エラー改善後(char.h の #include "define.h"を削除)

chara.h----------------------

#include <list>

RTS.h-----------------------

#include "chara.h"
#include "map.h"
#include <list>

chara.cpp--------------------
#include "chara.h"
#include "define.h"
#include <time.h>
#include <stdlib.h>


どうも define.h の双方向インクルードしてたみたいですね。

2015年1月8日木曜日

Vimのすごさに気付いたかも…

 よく映画とかドラマで出てくるハッカーってカッコいいですよね。スタバでMacBookAirもっていてプログラミングしてるとか痺れますわ。自分もせっかく情報系の学科に在籍しているので少しは映画に出てくるハッカーみたいになりたいと日々思います。

 というわけなので、それに近づける方法の一つが Vim です!

Vimは最初は使いづらいですが慣れてくると年収や彼女ができるぐらいに便利なエディタらしいです。確かに使いづらいですが、慣れてくると 「あっVimのほうがいいかも。」 と思ってっきました。

一応、Linux上ではありませんがWindows上のCygwinでのVimの様子を下記に示します。




今後の自分の使うVimの環境のため、設定ファイルである.vimrcファイルの一部を貼らせてください。

------------<.vimrc>-------------------

set backspace=indent,eol,start

set tabstop=4
set shiftwidth=4

set number

set ruler

syntax on

filetype plugin indent on

set hlsearch

set showcmd

set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8


---------------------------------------


機能として、1行目からバックスペース、タブ幅、行番号、カーソル位置、ファイルの種類による文法に着目した色づけ(C,C++,Latexなど)、C言語などのソースファイルならではの中括弧によるインデント、検索結果をハイライト、コマンド表示、文字コード関係です。

設定を変えるだけで、今までお気に入りだったエディタより使いやすくなりました。慣れてコマンドをどんどん覚えれば開発効率が上がるかも。

Vimを知ったのは中学の頃だったのですが、遊びたい盛りだったのでVimの練習なんてあほらしく感じられました。意外と簡単に冬休みのレポートで使っていくうちに上達できましたね。
 YouTubeを見てると魔法のようにVimでソースコードなどを作る達人がごろごろいます。

私みたいな思いを持っている人でプロの方が映画とかに出てくるハッカーになろうとしてカッコいいユーザーインターフェースを日々開発してる方もいらっしゃいます。



全然関係ないですが、筋トレっていいですね!おわりっ!!

2015年1月4日日曜日

やっぱ3日坊主はだなと感じる毎日と分かったことを投下します。

~3日坊主の人は何回も何十回何百回も3日坊主を繰り返せばよい~

-------------<分かったこと>-----------------


---<vim>---

Vimでの他ソフトからVimへのコピペは以下のコマンドを用いる

"*p

これでVimにクリップボードの内容を貼り付けられる。

また、

"*yy

でvimの文章をvimの他のソフトで利用できるようにクリップボードにヤンクされる。


表を作るときは横を基にした表ではなく、縦に数字を並べていく縦を基にした表を考慮す
るとよい。

vimの.vimrcというファイルを(ホームディレクトリに?)作成し以下のものを書き込むとバックスペースに困らない。
set backspace=indent,eol,start

---<Latex>---

latexでコマンドがとなり合わせになっているときはコマンド同士を半角スペースで
空ける。例)\hline \end{tabular}

ここに表を示す。罫線を越えた方法である。

\begin{table}[h]
\begin{center}
\caption{Aレジスタの内容とFレジスタが表すフラグの内容}
\begin{tabular}{c|c|c|c|c|c}

%\hline
\bhline{1pt}
Fレジスタの & \multicolumn{5}{c}{Aレジスタの値}  \\ \cline{2-6}
フラグの内容 &  66  &  65  &  66  &  88  &  F5   \\ \hline
S & 1 & 0 & 0 & 0 & 1 \\ \hline
Z & 0 & 1 & 0 & 0 & 0 \\ \hline
PV & 0 & 0 & 0 & 1 & 0 \\ \hline
C & 1 & 0 & 0 & 0 & 0 \\ \hline

\end{tabular}
\label{table_2_1}
\end{center}
\end{table}


上記は見ずらい。というわけで表を作るときは横を基にした表ではなく、縦に数字を並べていく縦を基にした表を考慮するとよい。

\begin{table}[h]
\begin{center}
\caption{Aレジスタの値とFレジスタの値}
\begin{tabular}{c|c}

%\hline
\bhline{1pt}

  Aレジスタの値   &   Fレジスタの値   \\ \hline
60H & BBH \\ \hline
65H & 42H \\ \hline
66H & 02H \\ \hline
88H & 26H \\ \hline
F5H & 82H \\ \hline

\end{tabular}
\label{table_2_1}
\end{center}
\end{table}




2014年12月9日火曜日

ユニティーちゃんのリボン揺らしてみた

 Unityは物理エンジンが備わっているので、3Dブロック崩しと同様にほぼプログラムを書かなくても当たり判定などができます。今回は入門サイトの最後のセクションにあたるユニティーちゃんのリボンを揺らしてみました。正直、画像で示してもよくわからないと思うので、前々回のページの入門サイトを見ていただいた方がわかりやすいと思います。

 入門サイトの最後のセクションが終わったということなので、ユニティーちゃんの髪の毛を現実世界と同じように揺らしてみるなど挑戦してゆきます。

ちなみに、Unityとは関係ないですが去年の夏休みに作っていたRPGの作りかけです。



2014年12月8日月曜日

ユニティーちゃんが笑顔でダッシュ!

 未だに、歩いているときや走っているときに氷の上にいるような感じなんですがこれは入門サイトでやることが終わったら修正することにしました。
 今回はユニティーちゃんを笑顔で走らすということを目標としました。モーション処理においてレイヤーを用いることにより、ながら処理、つまり、モーションの並列処理を行うことができます。







 Unityとは関係ありませんが、懐かしめの曲です。まだ、生まれてませんが…。







2014年12月7日日曜日

ユニティーちゃんを大空の下で走らせることができた!!

 やっと、ユニティーちゃんを大空の下で走らせることができました!!これはユニティーちゃんを使って2日目でここまでできたとは、Unity恐るべしです(・0・;) 




ユニティちゃんIdle状態


移動する際に人間ぽく視点とコンクリートがマッチしていなく、コンクリート上で歩いているのに氷の上で滑っているような歩き方になってしまいましたが…。




ユニティーちゃんRun状態




ライセンスについて

ユニティちゃんライセンス
この記事内で使われたモデルデータ(ユニティちゃん)は、『ユニティちゃんライセンス』で提供されています

2014年12月6日土曜日

地面を動かしたい…

 なんとかユニティーちゃんを歩かせ、待機状態にすることができました。しかし、地面が動きません!!なんとか調べて動かせるように使いこなせるようになれればいいと思います。
入門サイトのソースコードの変数名やメソッド名はだいたい分かった気がしますが、なにをどのように動いているのかさっぱりです。ユニティーとは関係ないですが、プログラミングを上達するにはとりあえずひたすらコードを書けとのことで、また、このように技術ブログを毎日継続更新する必要があるとのことでした。結構、私はそのどちらも力をさっぱり入れていなかったので、バイトでひっひっひひーーー言いながらやるのはやりがいがあるかもと自分の限界に挑戦するのも悪くないと最近ひしひしと感じてきています。

とりあえず、今日のスクショです↓



 今のところは出だしなので、技術的な詳しいことは書きづらいので勘弁してください。

Unityだけでなく去年の夏から秋にかけて作っていたRPGの作りかけの報告もしてきます。





ライセンスについて

ユニティちゃんライセンス
この記事内で使われたモデルデータ(ユニティちゃん)は、『ユニティちゃんライセンス』で提供されています