<?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>2009-06-07T12:09:21+09:00</dc:date>
    <utime>1244344161</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/4.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/7.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/14.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/doima/pages/12.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <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;);
&gt;				 heropose = 1;
&gt;			 }else{
&gt;				 hero=getImage(getCodeBase(), &quot;chara1.png&quot;);
&gt;				 heropose = 0;
&gt;			 }
&gt;			 repaint();
&gt;		}
&gt;		
&gt;	}
&gt;	public void keyTyped(KeyEvent ke){}
&gt;	public void keyReleased(KeyEvent ke){}
&gt;
&gt;}


-今後の課題
--ウィンドウのサイズを固定にする。
--アクションがカクカクしないようにする。
--Webにアップできるようにする(切実)



#comment(vsize=2,nsize=20,size=40)    </description>
    <dc:date>2009-06-07T12:09:21+09:00</dc:date>
    <utime>1244344161</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/doima/pages/4.html">
    <title>企画概要</title>
    <link>https://w.atwiki.jp/doima/pages/4.html</link>
    <description>
      このページは、プログラミング入門ミニプロジェクト用のページである。
作業を行なう度に更新していく。

今回作るプログラムの内容は、横スクロールするアクション、またはRPGである。
マリオのような外観で、プレイヤーによる操作を元にどんどんアクションをつけていく。

- null &amp;br()spoiler enhances!Quezon!sleigh lovelorn,double toads trail mitten [http://www.homeownersinsurok.com/affordable-flood-insurance.html  home insurance ratings ] http://www.homeownersinsurok.com/affordable-flood-insurance.html directional,competitive hate [http://www.homeownersinsurok.com/allied-home-owners-insurance.html  florida home owners insurance co ] http://www.homeownersinsurok.com/allied-home-owners-insurance.html Elysees retribution oiled weekly [http://www.homeownersinsurok.com/certified-property-insurance.html  insurance for home inspectors ] http://www.homeownersinsurok.com/certified-property-insurance.html bucks,paints:galloping [http://www.homeownersinsurok.com/cheap-home-insurance.html  hurricane insurance ] http://www.homeownersinsurok.com/cheap-home-insurance.html squadrons chant.[http://www.homeownersinsurok.com/cheapest-homeowners-insurance-florida.html  renters insurance companies ] http://www.homeownersinsurok.com/cheapest-homeowners-insurance-florida.html quagmires Los chiseled soggy?[http://www.homeownersinsurok.com/citizen-property-insurance.html  fl homeowners insurance ] http://www.homeownersinsurok.com/citizen-property-insurance.html gap Bruce?[http://www.homeownersinsurok.com/compare-cheap-home-insurance.html  geico home owner insurance ] http://www.homeownersinsurok.com/compare-cheap-home-insurance.html grime Mediterranean blabbermouths Liggett [http://www.homeownersinsurok.com/compare-homeowners-insurance.html  home owner insurance quotes ] http://www.homeownersinsurok.com/compare-homeowners-insurance.html recalculate caked [http://www.homeownersinsurok.com/condo-insurance-in-new-jersey.html  discount homeowners insurance condo insurance in new jersey] http://www.homeownersinsurok.com/condo-insurance-in-new-jersey.html nab tribunals.[http://www.homeownersinsurok.com/define-flood-insurance.html  american southern home insurance company ] http://www.homeownersinsurok.com/define-flood-insurance.html handicaps disarmed,Menorca lexicographical [http://www.homeownersinsurok.com/farm-homeowners-insurance.html  norwich union home insurance ] http://www.homeownersinsurok.com/farm-homeowners-insurance.html heeded?strike [http://www.homeownersinsurok.com/farms-ranches-mississippi-homeowners-insurance.html  home owners insurance companies ] http://www.homeownersinsurok.com/farms-ranches-mississippi-homeowners-insurance.html distempered,tack:trailer:conduction?farmhouses![http://www.homeownersinsurok.com/flood-insurance-rate-increases-2007.html  home insurance ratings ] http://www.homeownersinsurok.com/flood-insurance-rate-increases-2007.html compounded nonce?above,[http://www.homeownersinsurok.com/florida-condo-wind-insurance-policies.html  manufactured home insurance ] http://www.homeownersinsurok.com/florida-condo-wind-insurance-policies.html settles,monetarism,quashing lawgiver![http://www.homeownersinsurok.com/florida-state-insurance-regulator-homeowners.html  house insurance florida ] http://www.homeownersinsurok.com/florida-state-insurance-regulator-homeowners.html turgidly sneeze!lighting [http://www.homeownersinsurok.com/gap-title-insurance-real-property.html  home and contents insurance ] http://www.homeownersinsurok.com/gap-title-insurance-real-property.html coping bullish,how [http://www.homeownersinsurok.com/gmac-home-insurance.html  home warranty insurance companies ] http://www.homeownersinsurok.com/gmac-home-insurance.html speculates harrowing readies engagements [http://www.homeownersinsurok.com/gulfstream-property-and-casualty-insurance.html  vacant house insurance ] http://www.homeownersinsurok.com/gulfstream-property-and-casualty-insurance.html acculturate amended [http://www.homeownersinsurok.com/halifax-house-insurance.html  insurance home owners ] http://www.homeownersinsurok.com/halifax-house-insurance.html preciousness moons singing prettier.[http://www.homeownersinsurok.com/high-risk-house-insurance-for-dog-bite-owners.html  guide ] http://www.homeownersinsurok.com/high-risk-house-insurance-for-dog-bite-owners.html ministries Sedgwick?[http://www.homeownersinsurok.com/home-buyers-insurance.html  florida home owners insurance co ] http://www.homeownersinsurok.com/home-buyers-insurance.html skirmishes cultures,[http://www.homeownersinsurok.com/home-emergency-insurance.html  house insurance online ] http://www.homeownersinsurok.com/home-emergency-insurance.html alarmed criers [http://www.homeownersinsurok.com/home-insurance-agencies-in-three-rivers-michigan.html  house building insurance ] http://www.homeownersinsurok.com/home-insurance-agencies-in-three-rivers-michigan.html Balinese chubbiness saddened!ante [http://www.homeownersinsurok.com/home-insurance-low-cost.html  major home insurance companies ] http://www.homeownersinsurok.com/home-insurance-low-cost.html Halstead?fawns Shockley [http://www.homeownersinsurok.com/home-insurance-phoenix.html  home inspector insurance ] http://www.homeownersinsurok.com/home-insurance-phoenix.html departments endpoint.interfacer [http://www.homeownersinsurok.com/home-insurance-representative.html  discount home owner insurance ] http://www.homeownersinsurok.com/home-insurance-representative.html mixture reachability arcane!Wesson hide:[http://www.homeownersinsurok.com/home-insurance-rottweiler.html  vacant property insurance ] http://www.homeownersinsurok.com/home-insurance-rottweiler.html youthfully?wonderful acrimonious autopilot jungles [http://www.homeownersinsurok.com/home-mortgage-insurance-co-hernando-co-fl.html  home insurance broker ] http://www.homeownersinsurok.com/home-mortgage-insurance-co-hernando-co-fl.html Clifton extenuated heretofore.wakened,narcissus [http://www.homeownersinsurok.com/home-office-insurance.html  click here ] http://www.homeownersinsurok.com/home-office-insurance.html wifely dines [http://www.homeownersinsurok.com/home-owner-insurance-quotes.html  home renters insurance ] http://www.homeownersinsurok.com/home-owner-insurance-quotes.html blurry Rosella:[http://www.homeownersinsurok.com/home-owners-insurance-company-com.html  rental home insurance ] http://www.homeownersinsurok.com/home-owners-insurance-company-com.html vanish troop fatigue,meteorology![http://www.homeownersinsurok.com/home-owners-insurance-florida-us.html  how much is homeowners insurance ] http://www.homeownersinsurok.com/home-owners-insurance-florida-us.html encounter supportively!avoiders divulge [http://www.homeownersinsurok.com/homeowner-insurance-washington.html  fla mobil home insurance ] http://www.homeownersinsurok.com/homeowner-insurance-washington.html Britannica,confrontation [http://www.homeownersinsurok.com/homeowners-insurance-home-owners-insurance.html  homeowners insurance fl ] http://www.homeownersinsurok.com/homeowners-insurance-home-owners-insurance.html gigawatt presumption Bergson synonymously:bathed [http://www.homeownersinsurok.com/homeowners-insurance-in-ky.html  renters insurance california ] http://www.homeownersinsurok.com/homeowners-insurance-in-ky.html swaggered deflect exemplar nozzle nabla [http://www.homeownersinsurok.com/homeowners-insurance-quote.html  directory ] http://www.homeownersinsurok.com/homeowners-insurance-quote.html multiplex princesses cavalry posing tattoo [http://www.homeownersinsurok.com/homesite-homeowners-insurance-program.html  aig homeowners insurance ] http://www.homeownersinsurok.com/homesite-homeowners-insurance-program.html breakdowns allow superpose [http://www.homeownersinsurok.com/insurance-property-management-clerical-retail.html  house insurances ] http://www.homeownersinsurok.com/insurance-property-management-clerical-retail.html rasp:Cyclops!recognize belatedly [http://www.homeownersinsurok.com/missouri-homeowners-insurance-laws.html  home oweners insurance ] http://www.homeownersinsurok.com/missouri-homeowners-insurance-laws.html budgets!seduction briefcase repackage decrypts [http://www.homeownersinsurok.com/mobile-home-park-insurance.html  mobile home park insurance fl homeowners insurance ] http://www.homeownersinsurok.com/mobile-home-park-insurance.html modernly imaginably resounds admirably rewritten [http://www.homeownersinsurok.com/national-flood-insurance-adjuster-course.html  homeowner insurance rates ] http://www.homeownersinsurok.com/national-flood-insurance-adjuster-course.html traded malfunctioned outgoing wealthy modally [http://www.homeownersinsurok.com/phoenix-home-life-insurance.html  florida mobil home insurance ] http://www.homeownersinsurok.com/phoenix-home-life-insurance.html imperatively Appaloosas:stipulate yelps!wildcats [http://www.homeownersinsurok.com/property-and-casualty-insurance-companies.html  compare home insurance ] http://www.homeownersinsurok.com/property-and-casualty-insurance-companies.html harping,Procrustean hull:Mercator?sacrilegious [http://www.homeownersinsurok.com/property-and-casualty-insurance-procedures.html  flood insurance rip off ] http://www.homeownersinsurok.com/property-and-casualty-insurance-procedures.html sharecroppers Oedipus?Gabrielle [http://www.homeownersinsurok.com/property-and-casualty-insurance-underwriters.html  mobile home owners insurance ] http://www.homeownersinsurok.com/property-and-casualty-insurance-underwriters.html most.writings [http://www.homeownersinsurok.com/property-insurance-proceeds-taxability.html  home insurance comparison ] http://www.homeownersinsurok.com/property-insurance-proceeds-taxability.html canonicalized patties lexicon [http://www.homeownersinsurok.com/quotes-for-renters-insurance.html  rental home insurance ] http://www.homeownersinsurok.com/quotes-for-renters-insurance.html meters configuring advertisers [http://www.homeownersinsurok.com/quotes-on-renters-insurance.html  quotes on renters insurance mandatory homeowners insurance ] http://www.homeownersinsurok.com/quotes-on-renters-insurance.html skepticism espoused.darkroom admissions,[http://www.homeownersinsurok.com/renters-insurance-florida.html  homeowners insurance florida canceled ] http://www.homeownersinsurok.com/renters-insurance-florida.html elegantly yarns!derive slicers Armageddon [http://www.homeownersinsurok.com/tesco-home-insurance.html  home inspector insurance ] http://www.homeownersinsurok.com/tesco-home-insurance.html ... &amp;br()  -- 名無しさん  (2008-08-31 08:37:17)
#comment(vsize=2,nsize=20,size=40)    </description>
    <dc:date>2008-08-31T08:37:17+09:00</dc:date>
    <utime>1220139437</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 lesson pickers [http://www.housebit.com/21314/  manufactured home insurance in florida ] http://www.housebit.com/21314/ correctable parachute plausible escorts![http://www.housebit.com/22918/  house insurance raliegh nc business property insurance ] http://www.housebit.com/22918/ punching buckskin [http://www.housebit.com/09551/  login ] http://www.housebit.com/09551/ fearful failure devote,remodel,[http://www.housebit.com/24682/  tips ] http://www.housebit.com/24682/ swell scissors redcoat geyser.[http://www.housebit.com/17758/  property and casualty insurance school in new york ] http://www.housebit.com/17758/ braves saucers [http://www.housebit.com/17004/  insurance sales from home ] http://www.housebit.com/17004/ hearten Rio!dosed unmarked:Palestinian [http://www.housebit.com/00917/  home renters insurance ] http://www.housebit.com/00917/ enacting:Alaskan buffering pants,grape [http://www.housebit.com/27850/  halifax home insurance on line homeowner insurance quote] http://www.housebit.com/27850/ gorging amortize [http://www.housebit.com/20130/  home insurance claims ] http://www.housebit.com/20130/ tightest?Pearce [http://www.housebit.com/10625/  homeowners insurance in louisiana florida apartment business insurance] http://www.housebit.com/10625/ interiors multiplicative [http://www.housebit.com/29198/  flood insurance quote ] http://www.housebit.com/29198/ mincemeat bottlenecks restraints sterilizations creepy,[http://www.housebit.com/06656/  major home insurance companies ] http://www.housebit.com/06656/ conviction shuffling nest [http://www.housebit.com/13374/  property insurance for ebay consignments home insurance in florida ] http://www.housebit.com/13374/ wile,defenestrate degradable tiresomeness [http://www.housebit.com/06575/  house insurance abroad homeowners insurance escambia co fl] http://www.housebit.com/06575/ into Scarsdale unhappiest housed grosses![http://www.housebit.com/06705/  ordinances requiring rental property insurance home owner insurance rate quote] http://www.housebit.com/06705/ chopper fled,inroads spikes dislocations.[http://www.housebit.com/27039/  liability insurance for homeowners association ] http://www.housebit.com/27039/ reverently?maniacs.[http://www.housebit.com/13026/  home insurance rate comparison building insurance landlord ] http://www.housebit.com/13026/ defections boar revolutionary retorted,[http://www.housebit.com/11319/  home office of nationold line insurance company homeowners insurance quotes ] http://www.housebit.com/11319/ shortened touchable:stables.[http://www.housebit.com/04460/  home and contents insurance ] http://www.housebit.com/04460/ Algonquian!turnings roles Imbrium [http://www.housebit.com/06522/  affordable home insurance ] http://www.housebit.com/06522/ confocal?complicating,apartment peck [http://www.housebit.com/01159/  mitchell insurance largo condo flood insurance quote ] http://www.housebit.com/01159/ tastefully Cornell [http://www.housebit.com/01245/  american modern home insurance company ] http://www.housebit.com/01245/ page?blocking Lausanne [http://www.housebit.com/03647/  property casualty insurance ] http://www.housebit.com/03647/ Westport conquerers:Gregg leaves [http://www.housebit.com/03332/  click ] http://www.housebit.com/03332/ mesh fonder?[http://www.housebit.com/09076/  home state county mutual insurance company ] http://www.housebit.com/09076/ sports thresholds forages [http://www.housebit.com/14419/  aarp homeowners insurance quote homeowners liability insurance ] http://www.housebit.com/14419/ wait?presented.[http://www.housebit.com/09204/  california home owner insurance ] http://www.housebit.com/09204/ adjusters fluently bridle saguaro?[http://www.housebit.com/22604/  national flood insurance program ] http://www.housebit.com/22604/ adduce stewardess setup:designator.conversion [http://www.housebit.com/24160/  home insurance quote uk ] http://www.housebit.com/24160/ hallucinate cask:frequencies [http://www.housebit.com/30041/  home flood insurance liability coverage for home insurance] http://www.housebit.com/30041/ turtles Downing sender.substituting subdued [http://www.housebit.com/04726/  insurance property ] http://www.housebit.com/04726/ bankruptcy photographic hid [http://www.housebit.com/30477/  liability insurance for homeowners association ] http://www.housebit.com/30477/ astonishing approached cisterns [http://www.housebit.com/18525/  second home insurance ] http://www.housebit.com/18525/ antler murky maintenance tasked mentality [http://www.housebit.com/27214/  property insurance claims adjuster ] http://www.housebit.com/27214/ quarrelsome:effectuate.drooped [http://www.housebit.com/02505/  home insurance texas ] http://www.housebit.com/02505/ lazed redeeming Colby,[http://www.housebit.com/28989/  aa home insurance all state home owners insurance claims] http://www.housebit.com/28989/ wonder Andre [http://www.housebit.com/19297/  manufacture home insurance ] http://www.housebit.com/19297/ rhythm attorneys subtracting [http://www.housebit.com/24283/  house contents insurance ] http://www.housebit.com/24283/ adherer unharmed strangely:[http://www.housebit.com/17796/  mobile home insurance ] http://www.housebit.com/17796/ expedite phenomenology!disentangle![http://www.housebit.com/29229/  low rate florida homeowners insurance ] http://www.housebit.com/29229/ impressively shack [http://www.housebit.com/17544/  renters insurance ] http://www.housebit.com/17544/ Jacksons midway [http://www.housebit.com/29635/  citizens property insurance co ] http://www.housebit.com/29635/ attenuation detacher [http://www.housebit.com/03851/  rental property insurance free quotes on home insurance] http://www.housebit.com/03851/ ...    </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/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 || heropose==1){
					if(enemy1position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy1position*32 - heroposition-4*32&lt;=0){
						enemy1status=false;
				}
				}
のようにである。
**移動
-移動については背景の移動と、キャラクター本体の移動を両方使っている。一定条件下では背景を動かし、キャラクターが両端にきたら、キャラクターを横方向にずらしていく、といった感じである。右に動く場合は、
			if(position &lt;=58){
			if(position &gt;=-5 &amp;&amp; position &lt;= 49){
			back +=32;
			objectback+=32;
			}else{
			heroposition+=32;
			}
			position +=1;
		enemy1position-=1;
のような形である。
**その他
-その他の部分は、↓を押したときに出る反応は、キャラクターの位置をとる変数(画面上ではなく、キャラクターがゲーム上でいる位置)を管理する関数を用いている。また敵キャラの移動は、スレッドを使い一定時間で動くようにしている。    </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/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/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 enemy3status = true;
	int enemy3position = 80;
	int enemy3pose=0;
	boolean enemy4status = true;
	int enemy4position = 100;
	int enemy4pose=0;
	boolean enemy5status = true;
	int enemy5position = 107;
	int enemy5pose=0;
	
	Thread runner;
	
    public void init() {
		


			addKeyListener(this);
			try {
				MediaTracker mt = new MediaTracker( this );
				int number=1;
				background = getImage(getCodeBase(),&quot;pictures/background.png&quot;);
				mt.addImage( background, number++ );
				for (int i=0; i&lt;hero.length; i++){
					hero[i] = getImage(getCodeBase(),
									   &quot;pictures/chara&quot;+i+&quot;.png&quot;);
					mt.addImage( hero[ i ], number++ );
				}
				for (int i=0; i&lt;hero.length; i++){
					object[i] = getImage(getCodeBase(),
										 &quot;pictures/object&quot;+i+&quot;.png&quot;);
					mt.addImage( object[ i ], number++ );
					
				}
				textbox = getImage(getCodeBase(), &quot;pictures/textbox.png&quot;);
				mt.addImage( textbox, number++ );
				attack= getImage(getCodeBase(), &quot;pictures/attack.png&quot;);
				mt.addImage( attack, number++ );
				attack2= getImage(getCodeBase(), &quot;pictures/attack2.png&quot;);
				mt.addImage( attack2, number++ );
				for (int i=0; i&lt;enemy1.length; i++){
					enemy1[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy1[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy2.length; i++){
					enemy2[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy2[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy3.length; i++){
					enemy3[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy3[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy4.length; i++){
					enemy4[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy4[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy5.length; i++){
					enemy5[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy5[ i ], number++ );
					
				}
				for (int i=0; i&lt;lifepics.length; i++){
					lifepics[i] = getImage(getCodeBase(),
										&quot;pictures/life&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( lifepics[ i ], number++ );
					
				}
				mt.waitForAll( );
			} catch( Exception ex ) { ex.printStackTrace( ); }
			runner = new Thread(this);
			runner.start();
		

		}
	
    public void paint (Graphics g) {
		g.setColor(Color.white);
		g.setFont(font);
		setSize(640, 480);
		g.drawImage(background, 0-back,0, this);
		g.drawImage(background, 640-back, 0, this);
		g.drawImage(background, -640-back, 0, this);
		g.drawImage(object[0], 640-objectback, 320, this);
		g.drawImage(object[1], 1920-objectback, 0, this);
		g.drawImage(hero[heropose], 128+heroposition, 320, this);
		if(life==0){
			string = &quot;Game Over...&quot;;
			shown=true;
			freeze=true;
		}
		if(life==1){
			g.drawImage(lifepics[0],0,0,this);
		}
		if(life==2){
			g.drawImage(lifepics[1],0,0,this);
		}
		if(life==3){
			g.drawImage(lifepics[2],0,0,this);
		}
		if ( shown == true) {
			g.drawImage(textbox, 0,0, this);
			g.drawString(&quot; &quot;+string,40,40);
		}
		if(enemy1status==true){
			g.drawImage(enemy1[enemy1pose],128+enemy1position*32, 320, this);
		}
		if(enemy2status==true){
			g.drawImage(enemy2[enemy2pose],128+enemy2position*32, 320, this);
		}
		if(enemy3status==true){
			g.drawImage(enemy3[enemy3pose],128+enemy3position*32, 320, this);
		}
		if(enemy4status==true){
			g.drawImage(enemy4[enemy4pose],128+enemy4position*32, 320, this);
		}
		if(enemy5status==true){
			g.drawImage(enemy5[enemy5pose],128+enemy5position*32, 320, this);
		}
		if(attackshown == true){
			if(heropose==0 || heropose==1){
		g.drawImage(attack, 128+96+heroposition, 320, this);
			}
			if(heropose==2 || heropose==3){    
				g.drawImage(attack2, 128-96+heroposition, 320, this);
			}
		}

		

    }
	
	
	public void run(){
		if(enemy1status==true){
		try { while(runner == Thread.currentThread()){
			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(enemy2status == true){
			enemy2position-=1;
			if(enemy2pose == 0){
				enemy2pose =1;
			}else{enemy2pose=0;}
			if(Math.abs(enemy2position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy2position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
			if(enemy3status == true){
			enemy3position-=1;
			if(enemy3pose == 0){
				enemy3pose =1;
			}else{enemy3pose=0;}
			if(Math.abs(enemy3position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy3position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
			if(enemy4status == true){
			enemy4position-=1;
			if(enemy4pose == 0){
				enemy4pose =1;
			}else{enemy4pose=0;}
			if(Math.abs(enemy4position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy4position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
			if(enemy5status == true){
			enemy5position-=1;
			if(enemy5pose == 0){
				enemy5pose =1;
			}else{enemy5pose=0;}
			if(Math.abs(enemy5position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy5position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
			
			repaint();
			Thread.sleep(600);
		}
			
		}catch (Exception exc){exc.printStackTrace();}
		}
	}
	//入力チェック
	public void keyPressed(KeyEvent ke){
		int keycode = ke.getKeyCode();
	if (wait == false) {
		if (keycode == KeyEvent.VK_ENTER) {
			if(attackshown ==false){
				attackshown = true;
				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 || heropose==1){
					if(enemy1position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy1position*32 - heroposition-4*32&lt;=0){
						enemy1status=false;
				}
				}
				if(heropose==2 || heropose==3){
					if(enemy2position*32-heroposition+4*32&gt;=0 &amp;&amp; enemy2position*32-heroposition+4*32&lt;=3*32 ){
						enemy2status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy2position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy2position*32 - heroposition-4*32&lt;=0){
						enemy2status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy3position*32-heroposition+4*32&gt;=0 &amp;&amp; enemy3position*32-heroposition+4*32&lt;=3*32 ){
						enemy3status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy3position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy3position*32 - heroposition-4*32&lt;=0){
						enemy3status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy4position*32-heroposition+4*32&gt;=0 &amp;&amp; enemy4position*32-heroposition+4*32&lt;=3*32 ){
						enemy4status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy4position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy4position*32 - heroposition-4*32&lt;=0){
						enemy4status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy5position*32-heroposition+4*32&gt;=0 &amp;&amp; enemy5position*32-heroposition+4*32&lt;=3*32 ){
						enemy5status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy5position*32- heroposition-4*32&gt;=-3*32 &amp;&amp; enemy5position*32 - heroposition-4*32&lt;=0){
						enemy5status=false;
					}
				}
			}
			repaint();
		}
		if (keycode == KeyEvent.VK_RIGHT) {
			//背景を動かす
			if(position &lt;=58){
			if(position &gt;=-5 &amp;&amp; position &lt;= 49){
			back +=32;
			objectback+=32;
			}else{
			heroposition+=32;
			}
			position +=1;
		enemy1position-=1;
			if(enemy1status == true){
			if(Math.abs(enemy1position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy1position*32 - heroposition)&lt;=3*32 ){
				life-=1;
			}
			}
		enemy2position-=1;		
				if(enemy2status == true){
					if(Math.abs(enemy2position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy2position*32 - heroposition)&lt;=3*32 ){
						life-=1;
					}
				}
		enemy3position -=1;
					if(enemy3status == true){
						if(Math.abs(enemy3position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy3position*32 - heroposition)&lt;=3*32 ){
							life-=1;
						}
					}
		enemy4position -=1;
						if(enemy4status == true){
							if(Math.abs(enemy4position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy4position*32 - heroposition)&lt;=3*32 ){
								life-=1;
							}
						}
		enemy5position -=1;
							if(enemy5status == true){
								if(Math.abs(enemy5position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy5position*32 - heroposition)&lt;=3*32 ){
									life-=1;
								}
							
			}
			}
			if (back&gt;=640) {
				back=0;
			}
			//キャラクターのポーズを変える
			if (heropose == 0 || heropose==2){
				heropose=1;
			}else{
				heropose=0;
			}
			 repaint();
		}
		if (keycode == KeyEvent.VK_LEFT) {
			//背景を動かす
			if(position &gt;=-7){
			if(position &gt;=-5 &amp;&amp; position &lt;=49){
			back -=32;
			objectback-=32;
			}else{
			heroposition-=32;
			}
 			position -=1;
				enemy1position+=1;
				if(enemy1status == true){
				if(Math.abs(enemy1position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy1position*32 - heroposition)&lt;=3*32 ){
					life-=1;
				}
				}
				enemy2position+=1;
				if(enemy2status == true){
					if(Math.abs(enemy2position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy2position*32 - heroposition)&lt;=3*32 ){
						life-=1;
					}
				}
				enemy3position+=1;
				if(enemy3status == true){
					if(Math.abs(enemy3position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy3position*32 - heroposition)&lt;=3*32){
						life-=1;
					}
				}
				enemy4position+=1;
				if(enemy4status == true){
					if(Math.abs(enemy4position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy4position*32 - heroposition)&lt;=3*32 ){
						life-=1;
					}
				}
				enemy5position+=1;
				if(enemy5status == true){
					if(Math.abs(enemy5position*32 - heroposition)&gt;=0 &amp;&amp; Math.abs(enemy5position*32 - heroposition)&lt;=3*32 ){
						life-=1;
					}
				}
			}
			if (back&lt;=-640) {
				back=0;
			}
			//キャラクターのポーズを変える
			if (heropose == 0 || heropose==2){
				heropose=3;
			}else{
				heropose=2;
			}
			repaint();
		}

		if (keycode == KeyEvent.VK_DOWN) {
			if (position&gt;= 15 &amp;&amp; position&lt;=19 &amp;&amp; shown==false) {
			string = &quot;Go straight. There is goal.&quot;;
				shown=true;
				wait = true;
			}
			if(position &gt;= 58 &amp;&amp; position &lt;=62 &amp;&amp; shown == false){
				string = &quot;goal!!&quot;;
				shown=true;
				freeze = true;
			}

		}

		


	}else 		if(wait == true){
		if (keycode == KeyEvent.VK_ENTER) {
			if (shown==true ) {
				 string=&quot;&quot;;
				shown=false;
				wait = false;
			}
		}
	}else if(freeze == true){
	}
		repaint();

	}


	public void keyTyped(KeyEvent ke){

	}
	public void keyReleased(KeyEvent ke){
		if(attackshown == true){
			attackshown = false;
		}
		repaint();
	}
	

}    </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/5.html">
    <title>作品</title>
    <link>https://w.atwiki.jp/doima/pages/5.html</link>
    <description>
      *[[Version1.0.0]]
*[[Version0.5.0]]
*[[Version0.2.0]]
*[[Version0.1.1]]
*[[Version0.1.0]]    </description>
    <dc:date>2007-02-01T23:55:11+09:00</dc:date>
    <utime>1170341711</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/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/doima/pages/2.html</link>
    <description>
      メニュー
-[[トップページ]]
-[[企画概要]]
-[[作品]]
-[[使用方法]]
-[[プログラム解説]]
-[[製作記]]
-[[アプレット]]
-[[パワポ]]
//-[[メニュー]]
//-[[メニュー2]]

----


//-[[@ウィキ ガイド&gt;http://atwiki.jp/guide/]]
//-[[@wiki 便利ツール &gt;http://atwiki.jp/tools/]]
//-[[@wiki&gt;http://atwiki.jp]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります    </description>
    <dc:date>2007-02-01T02:36:52+09:00</dc:date>
    <utime>1170265012</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;
	int enemy2pose=0;
	boolean enemy3status = true;
	int enemy3position = 50;
	int enemy3pose=0;
	boolean enemy4status = true;
	int enemy4position = 60;
	int enemy4pose=0;
	boolean enemy5status = true;
	int enemy5position = 65;
	int enemy5pose=0;
	
	Thread runner;
	
    public void init() {
		


			addKeyListener(this);
			try {
				MediaTracker mt = new MediaTracker( this );
				int number=1;
				background = getImage(getCodeBase(),&quot;pictures/background.png&quot;);
				mt.addImage( background, number++ );
				for (int i=0; i&lt;hero.length; i++){
					hero[i] = getImage(getCodeBase(),
									   &quot;pictures/chara&quot;+i+&quot;.png&quot;);
					mt.addImage( hero[ i ], number++ );
				}
				for (int i=0; i&lt;hero.length; i++){
					object[i] = getImage(getCodeBase(),
										 &quot;pictures/object&quot;+i+&quot;.png&quot;);
					mt.addImage( object[ i ], number++ );
					
				}
				textbox = getImage(getCodeBase(), &quot;pictures/textbox.png&quot;);
				mt.addImage( textbox, number++ );
				attack= getImage(getCodeBase(), &quot;pictures/attack.png&quot;);
				mt.addImage( attack, number++ );
				attack2= getImage(getCodeBase(), &quot;pictures/attack2.png&quot;);
				mt.addImage( attack2, number++ );
				for (int i=0; i&lt;enemy1.length; i++){
					enemy1[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy1[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy2.length; i++){
					enemy2[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy2[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy3.length; i++){
					enemy3[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy3[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy4.length; i++){
					enemy4[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy4[ i ], number++ );
					
				}
				for (int i=0; i&lt;enemy5.length; i++){
					enemy5[i] = getImage(getCodeBase(),
										 &quot;pictures/bat&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( enemy5[ i ], number++ );
					
				}
				for (int i=0; i&lt;lifepics.length; i++){
					lifepics[i] = getImage(getCodeBase(),
										&quot;pictures/life&quot;+(i+1)+&quot;.png&quot;);
					mt.addImage( lifepics[ i ], number++ );
					
				}
				mt.waitForAll( );
			} catch( Exception ex ) { ex.printStackTrace( ); }
			runner = new Thread(this);
			runner.start();
		

		}
	
    public void paint (Graphics g) {
		g.setColor(Color.white);
		g.setFont(font);
		setSize(640, 480);
		g.drawImage(background, 0-back,0, this);
		g.drawImage(background, 640-back, 0, this);
		g.drawImage(background, -640-back, 0, this);
		g.drawImage(object[0], 640-objectback, 320, this);
		g.drawImage(object[1], 1920-objectback, 0, this);
		g.drawImage(hero[heropose], 128+heroposition, 320, this);
		if(life==0){
			string = &quot;Game Over...&quot;;
			shown=true;
			freeze=true;
		}
		if(life==1){
			g.drawImage(lifepics[0],0,0,this);
		}
		if(life==2){
			g.drawImage(lifepics[1],0,0,this);
		}
		if(life==3){
			g.drawImage(lifepics[2],0,0,this);
		}
		if ( shown == true) {
			g.drawImage(textbox, 0,0, this);
			g.drawString(&quot; &quot;+string,40,40);
		}
		if(enemy1status==true){
			g.drawImage(enemy1[enemy1pose],-128+enemy1position*32, 320, this);
		}
		if(enemy2status==true){
			g.drawImage(enemy2[enemy2pose],-128+enemy2position*32, 320, this);
		}
		if(enemy3status==true){
			g.drawImage(enemy3[enemy3pose],-128+enemy3position*32, 320, this);
		}
		if(enemy4status==true){
			g.drawImage(enemy4[enemy4pose],-128+enemy4position*32, 320, this);
		}
		if(enemy5status==true){
			g.drawImage(enemy5[enemy5pose],-128+enemy5position*32, 320, this);
		}
		if(attackshown == true){
			if(heropose==0 || heropose==1){
		g.drawImage(attack, 128+96+heroposition, 320, this);
			}
			if(heropose==2 || heropose==3){
				g.drawImage(attack2, 128-96+heroposition, 320, this);
			}
		}

		

    }
	
	
	public void run(){
		if(enemy1status==true){
		try { while(runner == Thread.currentThread()){
			enemy1position-=1;
			if(enemy1pose == 0){
				enemy1pose =1;
			}else{enemy1pose=0;}
			if(Math.abs(enemy1position - position)&gt;=0 &amp;&amp; Math.abs(enemy1position - position)&lt;=4 ){
				life-=1;
			}
			enemy2position-=1;
			if(enemy2pose == 0){
				enemy2pose =1;
			}else{enemy2pose=0;}
			if(Math.abs(enemy2position - position)&gt;=0 &amp;&amp; Math.abs(enemy2position - position)&lt;=4 ){
				life-=1;
			}
			enemy3position-=1;
			if(enemy3pose == 0){
				enemy3pose =1;
			}else{enemy3pose=0;}
			if(Math.abs(enemy3position - position)&gt;=0 &amp;&amp; Math.abs(enemy3position - position)&lt;=4 ){
				life-=1;
			}
			enemy4position-=1;
			if(enemy4pose == 0){
				enemy4pose =1;
			}else{enemy4pose=0;}
			if(Math.abs(enemy4position - position)&gt;=0 &amp;&amp; Math.abs(enemy4position - position)&lt;=4 ){
				life-=1;
			}
			enemy5position-=1;
			if(enemy5pose == 0){
				enemy5pose =1;
			}else{enemy5pose=0;}
			if(Math.abs(enemy5position - position)&gt;=0 &amp;&amp; Math.abs(enemy5position - position)&lt;=4 ){
				life-=1;
			}
			repaint();
			Thread.sleep(600);
		}
			
		}catch (Exception exc){exc.printStackTrace();}
		}
	}
	//入力チェック
	public void keyPressed(KeyEvent ke){
		int keycode = ke.getKeyCode();
	if (wait == false) {
		if (keycode == KeyEvent.VK_ENTER) {
			if(attackshown ==false){
				attackshown = true;
				if(heropose==0 || heropose==1){
				if(enemy1position-position+4&gt;=0 &amp;&amp; enemy1position-position+4&lt;=3 ){
					enemy1status=false;
				}
				}
				if(heropose==2 || heropose==3){
				if(enemy1position- position-3&gt;=-3 &amp;&amp; enemy1position - position-3&lt;=0){
					enemy1status=false;
				}
				}
				if(heropose==0 || heropose==1){
					if(enemy2position-position+4&gt;=0 &amp;&amp; enemy2position-position+4&lt;=3 ){
						enemy2status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy2position- position-3&gt;=-3 &amp;&amp; enemy2position - position-3&lt;=0){
						enemy2status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy3position-position+4&gt;=0 &amp;&amp; enemy3position-position+4&lt;=3 ){
						enemy3status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy3position- position-3&gt;=-3 &amp;&amp; enemy3position - position-3&lt;=0){
						enemy3status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy4position-position+4&gt;=0 &amp;&amp; enemy4position-position+4&lt;=3 ){
						enemy4status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy4position- position-3&gt;=-3 &amp;&amp; enemy4position - position-3&lt;=0){
						enemy4status=false;
					}
				}
				if(heropose==0 || heropose==1){
					if(enemy5position-position+4&gt;=0 &amp;&amp; enemy5position-position+4&lt;=3 ){
						enemy5status=false;
					}
				}
				if(heropose==2 || heropose==3){
					if(enemy5position- position-3&gt;=-3 &amp;&amp; enemy5position - position-3&lt;=0){
						enemy5status=false;
					}
				}
			}
			repaint();
		}
		if (keycode == KeyEvent.VK_RIGHT) {
			//背景を動かす
			if(position &lt;=58){
			if(position &gt;=-5 &amp;&amp; position &lt;= 49){
			back +=32;
			objectback+=32;
			}else{
			heroposition+=32;
			}
			position +=1;
			enemy1position -=1;
			if(enemy1status == true){
			if(Math.abs(enemy1position - position)&gt;=0 &amp;&amp; Math.abs(enemy1position - position)&lt;=4 ){
				life-=1;
			}
			}
				enemy2position -=1;
				if(enemy2status == true){
					if(Math.abs(enemy2position - position)&gt;=0 &amp;&amp; Math.abs(enemy2position - position)&lt;=4 ){
						life-=1;
					}
				}
					enemy3position -=1;
					if(enemy3status == true){
						if(Math.abs(enemy3position - position)&gt;=0 &amp;&amp; Math.abs(enemy3position - position)&lt;=4 ){
							life-=1;
						}
					}
						enemy4position -=1;
						if(enemy4status == true){
							if(Math.abs(enemy4position - position)&gt;=0 &amp;&amp; Math.abs(enemy4position - position)&lt;=4 ){
								life-=1;
							}
						}
							enemy5position -=1;
							if(enemy1status == true){
								if(Math.abs(enemy5position - position)&gt;=0 &amp;&amp; Math.abs(enemy5position - position)&lt;=4 ){
									life-=1;
								}
							
			}
			}
			if (back&gt;=640) {
				back=0;
			}
			//キャラクターのポーズを変える
			if (heropose == 0 || heropose==2){
				heropose=1;
			}else{
				heropose=0;
			}
			 repaint();
		}
		if (keycode == KeyEvent.VK_LEFT) {
			//背景を動かす
			if(position &gt;=-7){
			if(position &gt;=-5 &amp;&amp; position &lt;=49){
			back -=32;
			objectback-=32;
			}else{
			heroposition-=32;
			}
 			position -=1;
				enemy1position+=1;
				if(enemy1status == true){
				if(Math.abs(enemy1position - position)&gt;=0 &amp;&amp; Math.abs(enemy1position - position)&lt;=4 ){
					life-=1;
				}
				}
				enemy2position+=1;
				if(enemy2status == true){
					if(Math.abs(enemy2position - position)&gt;=0 &amp;&amp; Math.abs(enemy2position - position)&lt;=4 ){
						life-=1;
					}
				}
				enemy3position+=1;
				if(enemy3status == true){
					if(Math.abs(enemy3position - position)&gt;=0 &amp;&amp; Math.abs(enemy3position - position)&lt;=4 ){
						life-=1;
					}
				}
				enemy4position+=1;
				if(enemy4status == true){
					if(Math.abs(enemy4position - position)&gt;=0 &amp;&amp; Math.abs(enemy4position - position)&lt;=4 ){
						life-=1;
					}
				}
				enemy5position+=1;
				if(enemy5status == true){
					if(Math.abs(enemy5position - position)&gt;=0 &amp;&amp; Math.abs(enemy5position - position)&lt;=4 ){
						life-=1;
					}
				}
			}
			if (back&lt;=-640) {
				back=0;
			}
			//キャラクターのポーズを変える
			if (heropose == 0 || heropose==2){
				heropose=3;
			}else{
				heropose=2;
			}
			repaint();
		}

		if (keycode == KeyEvent.VK_DOWN) {
			if (position&gt;= 15 &amp;&amp; position&lt;=19 &amp;&amp; shown==false) {
			string = &quot;Don&#039;t go. There is a dangerous cave.&quot;;
				shown=true;
				wait = true;
			}
			if(position &gt;= 58 &amp;&amp; position &lt;=62 &amp;&amp; shown == false){
				string = &quot;goal!!&quot;;
				shown=true;
				freeze = true;
			}

		}

		


	}else 		if(wait == true){
		if (keycode == KeyEvent.VK_ENTER) {
			if (shown==true ) {
				 string=&quot;&quot;;
				shown=false;
				wait = false;
			}
		}
	}else if(freeze == true){
	}
		repaint();

	}


	public void keyTyped(KeyEvent ke){

	}
	public void keyReleased(KeyEvent ke){
		if(attackshown == true){
			attackshown = false;
		}
		repaint();
	}
	

}


#comment(vsize=2,nsize=20,size=40)    </description>
    <dc:date>2007-02-01T01:56:52+09:00</dc:date>
    <utime>1170262612</utime>
  </item>
  </rdf:RDF>
