忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


2024/11/23 22:45 |
アイデア
ポーカーのルールを参考に、魔法を使うゲーム。

カードの組み合わせによって魔法が発動!

攻撃手段は魔法しかない。
PR

2009/03/04 11:53 | Comments(0) | TrackBack() | 未選択
何がおかしいんだよ、、、

#include <stdafx.h>
using namespace std;

void start_msg();
void setcolor(int n);
int maxdt (int a, int b);

int main()
{
 int m;

 start_msg();
 setcolor(2);
 m = maxdt(100, 200);
 cout << "max=" << m << '\n';
 setcolor(7);

 return 0;
}

void start_msg()
{
 cout << "program start\n";
}

//文字色変更関数 n=0~7:黒赤緑黄青紫水白
void setcolor(int n)
{
 if (n<0 || 7<n)
  return;
 cout << "\33[3" << n << "m";
}

int maxdt(int a, int b)
{
 if (a > b)
  return a;
 else
  return b;
}

*****
文字色変更ができない。
多分
cout << "\33[3" << n << "m";
ここがおかしいんだと思うんだが、どう直せばいいのかわからない。
本にはこう書いてあるんだが、さっぱりだ。
ぐぐってみても、どうすればいいかなんてないみたい。

にやそー、教えてくれー。


2009/02/26 10:56 | Comments(0) | TrackBack() | プログラム
090225
090225.jpg鉛筆でやった後に、ボールペンで線入れしてみたが、やっぱ微妙だわな。
うーん、どうも頭身がおかしかったり、胴長になってしまってたりするような。
ぶっちゃければ下手。いやぶっちゃけなくても下手だな。
見る向きによって描けたり描けなかったり、まずはどこからでも描ける様になりたい。

どこに気をつけて描けば改善するだろう。。。
胴の立体感を掴むことか。
あと、胴の反らし方、捻り方とか。
全体を捉えてから描いてみたりしないと上達しなさそうだな。

こうやって線入れすると、線が少なくなるから、ごまかしがきかないってのはよくわかった。
やり続けてみます。

明日もアップロードできるかなぁ。

今度からは、下書きの線は消さずに、線入れは違う色を使ってやってみる。

2009/02/26 00:35 | Comments(0) | TrackBack() | 絵の練習
まずは胴体から
下手なりにちゃんと続けてます。

一昨日とあまり変わらないものの、
自分なりに描きやすい方法がひとつ見つかった。

全身を描くときは、顔から描くのではなく、
胴体から描くという方法だ。

胴体から描いて、そこに腕をつけ脚をつけ顔をつける。

正面か、横か、背面か、俯瞰なのか仰瞰なのか、
まず胴体を描いてからだと、他のパーツも、まだ描きやすい。

まだ雑にも全体を描けないから、雑にどんな全体でも描けるようになりたい。
余裕が出てきたら、身体のラインや手足の指の線を丁寧に描けるようになりたい。
最終的には、ある程度捨象されてはいるが、
ちゃんとしたデッサンになっているのを目指している。

あと、女性の胸を胸らしく描けないのを何とかしたい。
肩幅の広さで男女の区別を付けてるものの、もっとわかりやすくしたいしw

2009/02/25 22:45 | Comments(0) | TrackBack() | 絵の練習
作ってみたいものリスト

プログラミングで作りたいものを考えておこう。
何かしらの目的がないと、
何も作れないし、
何も学んだことにならない。

具体的なものでなくてもいいから、書いておく。

サイン波生成ソフト。
三角波生成ソフト。
矩形波生成ソフト。
のこぎり波生成ソフト。

とりあえず音を作るソフトか。簡単そうなの。難しいかもだが。

他はいまは思いつかないので、思いついたら書き足す。


2009/02/25 22:09 | Comments(0) | TrackBack() | プログラム
ヘッダ部分?

iostreamについて

iostreamとは?
<iostream>ライブラリはいくつかの標準オブジェクトを自動的に定義する。

cin
標準入力

cout
標準出力

cerr
標準エラー出力

clog
バッファを使うcerr

抽出子(入出力演算子)

>>
入力演算子
例)cin >> 変数
※>>を使用するのはcinのみっぽい。他は<<でOK。

<<
出力演算子
例)cout << 変数

*****
using namespace std; について
***
namespace
プログラム要素(関数やクラスなど)を一纏めにするためのもの。
「名前空間」と訳されてる。
いまはまだよくわからんが、例

名前としてこの OKWeb /教えて! goo のカテゴリーを参考にすると、
次のようになります。

namespace education {
   class economy;
   void literature();
}

namespace society {
   class economy;
   double energy ();

 すると、名前は上から順に、
   education::economy
   education::literature
   society::economy
   society::energy
になります。
 効用としては、名前の衝突が避けられます。たとえば、
   education::economy
   society::economy
は全く別のものてす。

***
std
C++標準ライブラリ用の名前空間名。
名前空間を使うと、正式な名前は長くなり、
プログラムの読みやすさを損なうことがあります。
これを避けるために、using 宣言と using ディレクティブがあります。

***
using
using 宣言をすると、それ以後そのスコープでは
名前空間名を省略することができます。
例えば、using 宣言がなければ、
   std::string str;
   std::cout << "Hellow, world! << std::endl;
と書かなければ、標準準拠のコンパイラではエラーになりますが、
( endl を実行すると、改行してフラッシュする)

(A)using std::string
(A)using std::cout
(A)using std::endl

と宣言すると、std:: を省略して、

(B)string str;
(B)cout << "Hellow, world! << endl;

と使えるようになります。
  using ディレクティブを使うと、その名前空間のプログラム要素は、
全て名前空間名を省略することができるようになります。例えば、

using namespace std;

と宣言すると、いちいち(A)を全て書かなくても(B)が書ける
(コンパイル・エラーにならない)ようになります。

using ディレクティブを使うと名前が衝突する可能性が増えるので、
新たにコーディングする場合は使うべきではないそうです。
名前空間がなかった昔の C++ のソースを標準準拠のコンパイラに
かけるときなどに、限定して使うことが推奨されています。

以上の説明は、概略のものです。
特に、名前空間名をいつ省略できるか、
省略した場合どのように解釈されるかについては注意が必要です。

*****
using namespace std;
これが名前空間のstdを使うって宣言なのはわかった。
でも、stdの名前空間内に入ってるものって何なのかがよくわからない。

まだわからなくてもいいのかな。いいということにしとこう。


2009/02/25 20:40 | Comments(0) | TrackBack() | プログラム
データ型のまとめ(C++)

間違ってるとことかあったら、教えてください。

基本データ型
関数や変数などを定義する際は、すべてデータ型を指定する必要がある。
既存の関数もすべてデータ型が指定されている。
データ型は大まかには、論理型、整数型、浮動小数点型、文字型などに分類される。

論理型
bool
二者択一の表現をする論理型。boolean type
定数として、true,falseが使える。
前者は値1(真)に相当。後者は値0(偽)に相当。

整数型/文字型
int
整数を表現する型。整数型。integer type
表現範囲はマシン環境に依存。

long int
longと略記できる。32ビット環境ではlong型変数を使う場面は多くない。
なので、そんなに重要じゃない?

char
ASCII文字ひとつを表現できる型。文字型。(整数型)
特別に文字を扱うための便利な機能を持っているわけではない。
int型と機能上は同じ性質を持つ。表現する範囲が異なっているだけ。
文字列の最後には文字コード0が置かれる。

unsigned
整数型の変数の頭に"unsigned"を付けることで、
表現範囲の符号をなくす。
つまり、負の数の表現ができなくなるが、
正の数の表現範囲が倍に増えるということ。
unsigned char/unsigned intなど

浮動小数点型
float,double
小数の表現が可能な型
floatは7桁までの小数に有効。
doubleは15桁までの小数に有効。

*****
string
文字列処理のできる型。
基本データ型ではなくユーザー定義型ということに注意のようだ。

*****
その他の型
ビギナー編には載ってないので後々理解していけばいいのかな?
これより下は後回しで!
***
列挙型
 列挙型は、表意的な文字を整数値で表す特殊な型です。enum キーワードを使って宣言し、要素(定数)は{}で囲んで定義します。
書式: enum 型名 { 要素リスト } 変数1, 変数2, ... ;

enum primarycolor {red, green, blue} ;      // 宣言の基本形
enum primarycolor {red, green, blue} pricolor1; // 宣言と同時に変数を宣言
enum {red, green, blue} procolor1, pricolor2;  // 列挙体名を省略


 上記の様にすると、最初の要素から順に、0( = red), 1( = green), 2( = blue) の整数値が当てられます。

*****
複合型
 複数のデータ型を持った特殊なデータ型も利用できます。これには、構造体、共用体などがあります。構造体は struct 、共用体は union を使って宣言します。なお、これらの内容については 別章「構造体篇」を参照してください。

// 構造体
/* 複数のデータ型のデータを
    一つのデータとしてまとめる */
struct Member {
    int id ;
    char name[64] ;
} ;

// 共用体
/* 同じメモリ領域にあるデータを
    別のデータ型として認識させる */
union MojiData {
    char moji[4] ;
    int numeric ;
} ;

 また、クラスを使うとより応用範囲が広がります。変数や定数、関数など、データ型や異なるスコープの様々なデータを一箇所に集めて処理することができます。なお、この内容については別章「クラス篇」を参照してください。
// クラス : 様々なデータや関数をひとまとめにする
class Card {
    char name[10] ;       // 変数
    int  figure ;            // 変数
    void setprop() ;       // 関数
} ;

******
typedef
 typedef キーワードを使って新しい型を定義することができます。
下記の例では、unsigned char 型の uchar 型を定義しています。
以降、uchar 型として変数や関数を定義することが可能になります。
書式: typedef データ型 型名 ;

typedef unsigned char uchar ; // uchar型の作成

 構造体なども同様に新しい型として定義することができます。
struct tagPoint {
    int X;
    int Y;
} ;
typedef struct tagPoint Point ;        // Point型の作成


2009/02/25 19:47 | Comments(0) | TrackBack() | プログラム
コンパイルのメモ

VC++での話。

//1-1
//文字列を出力する
#include <stdafx.h>
using namespace std;

int main()
{
 cout << "Hello, C++\n";

 return 0;
}



*****
たとえばこれをデバッグしようとするときに、しておくこと。
#include <stdafx.h>の<stdafx.h>の中に、予め
#include <iostream>を入れておくこと。
ヘッダーファイルをちゃんと編集しとくこと、だな。

何か、林晴比古さんの書いたソース例そのままの写しではちゃんとコンパイルされない。
ヘッダの部分は別に手を加えないと、できないっぽい。

ちょっと、VC++の扱い方がよくわかってないっぽい。


2009/02/25 18:07 | Comments(0) | TrackBack() | プログラム
C++の定数表現

数値定数
8進数 0(ゼロ)を先頭に付ける
 011, 0345
16進数 0xまたは0Xを先頭に付ける
 0xab,0X2BCD
10進数 上記以外の整数値
 6800,8086
指数 eまたはEを付ける
 5e2(=500),6E3(=6000)
小数値 小数点を用いる
 1.34,25.89

*****
文字定数
' 'で1文字囲むと文字定数になる。

エスケープ文字
\a 警報音(alert)
\t タブコード(tab)
\n 改行(new line)
\ooo 8進数ooo
\xhh 16進数hh
\0 文字コード0

*****
文字列定数
" "で文字列を囲って、定数として表現する。

記号定数
#defineを用いて、数字を意味のある名前で扱うようにするための仕組み。
例)
#define DTSIZE 1240
#define MAXDATA 4802
#define basedt 3.45

const定数
C++では「プログラムの安全性を高める」という目的から、#define記号定数をあまり用いなくなっている。代わりにC++ではconst型変数を「名前付き定数」として用いることが多い。
例)
const int maxdata = 4802
const double basedt = 3.45


2009/02/25 17:39 | Comments(0) | TrackBack() | プログラム
参考
http://happy7.ehoh.net/Hero.rar

これが参考にしてる企画書。実際にゲームにもなってる。

桝田省治って人のHPに色々企画についてとか書いてあって、そっから企画書を自分なりに真似して書かせてもらってる。

こんくらい簡潔で、わかりやすい企画作れるようになろう。。。

2009/02/25 08:06 | Comments(0) | TrackBack() | ゲームの企画

<<前のページ | HOME | 次のページ>>
忍者ブログ[PR]