<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/doima/">
    <title>ミニプロジェクト2007</title>
    <link>http://w.atwiki.jp/doima/</link>
    <atom:link href="https://w.atwiki.jp/doima/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>ミニプロジェクト2007</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-02-02T00:10:01+09:00</dc:date>
    <utime>1170342601</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/8.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/6.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/doima/pages/15.html">
    <title>プログラム解説</title>
    <link>https://w.atwiki.jp/doima/pages/15.html</link>
    <description>
      *プログラムの構造
-授業で習ったパターンを利用した、オーソドックスなものである。オブジェクト指向的な作りではないが、それはまだ完全に制作者が理解していないからである。プログラムでは最初に使用する変数を定義する。主人公の画像、敵キャラの画像等を読み込み、位置を管理する変数、入力に使用する変数などを設定する。
-その後public void init()で画像読み込みやスレッドを動かせるようにする。画像読み込みにはMediaTrackerを用いている。
-public void paint(Graphics g)で画像の表示をする。ここで画像の表示の一括管理をしている。
-public void run()では敵を動かしている。スレッドを用いている。
-public void keyPressed(KeyEvent ke)でユーザーからの入力を管理している。
*個々の説明
**当たり判定
-当たり判定は主人公の位置を把握する関数と、敵キャラの位置を把握する関数を作ることで実現している。実際にダメージを受けるときは、
			if(enemy1status == true){
			enemy1position-=1;
			if(enemy1pose == 0){
				enemy1pose =1;
			}else{enemy1pose=0;}
			if(Math.abs(enemy1position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy1position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
のようなものを利用している。
またこっちから攻撃するときは、攻撃用のグラフィックにあわせ、その範囲内に敵がいれば敵が消えるようになっている。
				if(heropose==2 || heropose==3){
					if(enemy1position*32-heroposition+4*32&gt;=0 &amp;&amp; enemy1position*32-heroposition+4*32&lt;=3*32 ){
						enemy1status=false;
				}
				}
				if(heropose==0 || h    </description>
    <dc:date>2007-02-02T00:10:01+09:00</dc:date>
    <utime>1170342601</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/14.html">
    <title>Version1.0.0</title>
    <link>https://w.atwiki.jp/doima/pages/14.html</link>
    <description>
      *2/1
-完成版。


import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.event.*;





public class mini_pro extends Applet implements KeyListener, Runnable{
	Font font = new Font(&quot;serif&quot;, Font.BOLD, 24);
	Image	background, textbox, attack, attack2;
	Image hero[ ]=new Image[4];
	Image object[ ]=new Image[4];
	Image enemy1[ ]=new Image[3];
	Image enemy2[ ] = new Image[3];
	Image enemy3[ ] = new Image[3];
	Image enemy4[ ] = new Image[3];
	Image enemy5[ ] = new Image[3];
	Image lifepics[ ] = new Image[3];


	
	//背景を動かす変数
	int back;
	int objectback;
	//キャラクターの位置を示す変数
	int position=0;
	//文章のための変数
	String string=&quot;&quot;;
	boolean shown=false;
	boolean wait=false;
	boolean attackshown=false;
	boolean freeze = false;
	
	int heropose=0;
	int heroposition=0;
	int life = 3;
	
	boolean enemy1status = true;
	int enemy1position = 30;
	int enemy1pose=0;
	boolean enemy2status = true;
	int enemy2position = 50;
	int enemy2pose=0;
	boolean enem    </description>
    <dc:date>2007-02-01T23:57:23+09:00</dc:date>
    <utime>1170341843</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/13.html">
    <title>アプレット</title>
    <link>https://w.atwiki.jp/doima/pages/13.html</link>
    <description>
      http://web.sfc.keio.ac.jp/~t06620md/minipro/example1.html    </description>
    <dc:date>2007-02-01T23:53:22+09:00</dc:date>
    <utime>1170341602</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/12.html">
    <title>Version0.5.0</title>
    <link>https://w.atwiki.jp/doima/pages/12.html</link>
    <description>
      *1/31
-暫定完成版
--敵キャラを増やした
--当たり判定はまだおかしい


import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.event.*;





public class mini_pro extends Applet implements KeyListener, Runnable{
	Font font = new Font(&quot;serif&quot;, Font.BOLD, 24);
	Image	background, textbox, attack, attack2;
	Image hero[ ]=new Image[4];
	Image object[ ]=new Image[4];
	Image enemy1[ ]=new Image[3];
	Image enemy2[ ] = new Image[3];
	Image enemy3[ ] = new Image[3];
	Image enemy4[ ] = new Image[3];
	Image enemy5[ ] = new Image[3];
	Image lifepics[ ] = new Image[3];


	
	//背景を動かす変数
	int back;
	int objectback;
	//キャラクターの位置を示す変数
	int position=0;
	//文章のための変数
	String string=&quot;&quot;;
	boolean shown=false;
	boolean wait=false;
	boolean attackshown=false;
	boolean freeze = false;
	
	int heropose=0;
	int heroposition=0;
	int life = 3;
	
	boolean enemy1status = true;
	int enemy1position = 30;
	int enemy1pose=0;
	
	boolean enemy2status = true;
	int enemy2position = 40;    </description>
    <dc:date>2007-02-01T01:56:52+09:00</dc:date>
    <utime>1170262612</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/11.html">
    <title>製作記</title>
    <link>https://w.atwiki.jp/doima/pages/11.html</link>
    <description>
      **1/9
-11日の発表に間に合うように開発開始。とりあえず横スクロールする画面を作るということで、簡単に描いた絵を入力とともに動かしてみる。何度か試行錯誤してみて、どうにか右移動のみ可能なものが出来上がった。

**1/10
-ウィンドウを固定化することに成功。これで画像の枚数をごまかすことが出来た。移動も左への移動が可能となった。画面上にモノを配置し、反応するようにした。

**1/11
-発表。先生に指摘された点をいくつか修正する。

**1/16~17
-諸事情により製作停止。左端、右端にいくと背景のスライドがとまるようにした。また敵を配置するも、画像が表示されないというエラー。ファイル形式が実は違っていたので、それを修正して問題解決。攻撃もできるようにした。

**1/18
-発表。当たり判定の設定があまりうまく行かず、失敗した状態での発表。

**1/29
-製作再開。当たり判定の修正に終始するも、なかなかうまくいかず。

**1/31
-最終調整。敵キャラを複数配置。ジャンプはまた変数が煩雑になるので実装をやめた。当たり判定はいまだうまくいかず。

**2/1
-最終編集。バスの中で神降臨。当たり判定の問題が解決。いくつかの機能はけずったものの、完成版を作ることが出来た。    </description>
    <dc:date>2007-02-01T23:58:22+09:00</dc:date>
    <utime>1170341902</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/10.html">
    <title>パワポ</title>
    <link>https://w.atwiki.jp/doima/pages/10.html</link>
    <description>
      http://web.sfc.keio.ac.jp/~t06620md/minipro.htm    </description>
    <dc:date>2007-02-01T01:23:18+09:00</dc:date>
    <utime>1170260598</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/9.html">
    <title>使用方法</title>
    <link>https://w.atwiki.jp/doima/pages/9.html</link>
    <description>
      *操作方法
-←→　左移動、右移動
-↓　調べる
-ENTER　攻撃

*やること
-とにかく右に行って襲い来るコウモリの大群を倒して洞窟までたどり着く。    </description>
    <dc:date>2007-02-01T01:12:07+09:00</dc:date>
    <utime>1170259927</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/8.html">
    <title>Version0.2.0</title>
    <link>https://w.atwiki.jp/doima/pages/8.html</link>
    <description>
      *Version0.2.0
**変更点
-非常に多岐にわたる
--プログラムの改善
--画面上にものを配置
--ものに対する反応
--端まで行くと背景ではなくキャラクターがスライドするようになる
--攻撃の画像表示(当り判定は未実装)

import java.awt.*;
import java.applet.*;
import java.util.*;
import java.awt.event.*;

public class mini_pro extends Applet implements KeyListener{
	Font font = new Font(&quot;serif&quot;, Font.BOLD, 24);
	Image	background, textbox, at;
	Image hero[ ]=new Image[4];
	Image object[ ]=new Image[4];

	
	//背景を動かす変数
	int back;
	int objectback;
	//キャラクターの位置を示す変数
	int position;
	//文章のための変数
	String string=&quot;&quot;;
	boolean shown=false;
	boolean wait=false;
	boolean attackshown=false;
	
	int heropose=0;
	int heroposition=0;
	
    public void init() {

        background = getImage(getCodeBase(),&quot;background.png&quot;);
		for (int i=0; i&lt;hero.length; i++){
		hero[i] = getImage(getCodeBase(), &quot;chara&quot;+i+&quot;.png&quot;);
		}
		for (int i=0; i&lt;hero.length; i++){
			object[i] = getImage(getCodeBase(), &quot;object&quot;+i+&quot;.png&quot;);
		}
		textbox = getImage(getCodeBase(), &quot;textbox.    </description>
    <dc:date>2007-01-17T16:07:38+09:00</dc:date>
    <utime>1169017658</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/7.html">
    <title>Version0.1.1</title>
    <link>https://w.atwiki.jp/doima/pages/7.html</link>
    <description>
      null
air consigns.nationalist afflictions defaulting:zonally Romulus instigators tutorial dived whittled [http://www.housebit.com/21567/  holiday home insurance ] http://www.housebit.com/21567/ sideways:partake [http://www.housebit.com/12694/  commercial property insurance ] http://www.housebit.com/12694/ dependently?proceeding Thorstein Vishnu,litigation [http://www.housebit.com/13177/  cumberland county nc flood insurance rate maps citizen property insurance ] http://www.housebit.com/13177/ sacrament Jansenist [http://www.housebit.com/24240/  texas flood insurance ] http://www.housebit.com/24240/ affiliated pseudoinstruction [http://www.housebit.com/12178/  home owner insurance rate ] http://www.housebit.com/12178/ lustful simpleness battling [http://www.housebit.com/00820/  homeowner insurance florida ] http://www.housebit.com/00820/ ethereally betrayer quicksand powerless [http://www.housebit.com/10684/  home beneficial life insurance ] http://www.housebit.com/10684/ predicating l    </description>
    <dc:date>2007-09-08T21:34:18+09:00</dc:date>
    <utime>1189254858</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/6.html">
    <title>Version0.1.0</title>
    <link>https://w.atwiki.jp/doima/pages/6.html</link>
    <description>
      *Version0.1.0
-1/9作成
-とりあえず作ってみた初期バージョンである。
&gt;import java.awt.*;
&gt;import java.applet.*;
&gt;import java.util.*;
&gt;import java.awt.event.*;
&gt;
&gt;public class mini_pro extends Applet implements KeyListener{
&gt;	Image	background, background2, hero;
&gt;	int back;
&gt;	int heropose=0;
&gt;	
&gt;    public void init() {
&gt;        background = getImage(getCodeBase(),&quot;background.jpg&quot;);
&gt;		background2 = getImage(getCodeBase(),&quot;background.jpg&quot;);
&gt;		hero = getImage(getCodeBase(), &quot;chara1.png&quot;);
&gt;		addKeyListener(this);
&gt;    }
&gt;	
&gt;    public void paint (Graphics g) {
&gt;		g.drawImage(background, 0-back,0, this);
&gt;		g.drawImage(background2, 640-back, 0, this);
&gt;		g.drawImage(hero, 40, 350, this);
&gt;    }
&gt;	//入力チェック
&gt;	public void keyPressed(KeyEvent ke){
&gt;		int keycode = ke.getKeyCode();
&gt;		if (keycode == KeyEvent.VK_RIGHT) {
&gt;			//背景を動かす
&gt;			back += 40;
&gt;			if (back&gt;=640) {
&gt;				back=0;
&gt;			}
&gt;			//キャラクターのポーズを変える
&gt;			 if (heropose == 0) {
&gt;				 hero=getImage(getCodeBase(), &quot;chara2.png&quot;)    </description>
    <dc:date>2009-06-07T12:09:21+09:00</dc:date>
    <utime>1244344161</utime>
  </item>
  </rdf:RDF>
