Síða 1 af 1

Runescape?

Sent: Mið 29. Jún 2005 18:09
af Viktor
Er að spá hvort það sé mjög erfitt að gera leik eins og Runescape? Hvaða forrit notar maður?

http://www.runescape.com

Sent: Fös 01. Júl 2005 00:08
af Viktor
Halló!? Skoðar enginn þetta ??

Sent: Fös 01. Júl 2005 02:36
af MezzUp
Jújú, held bara að margir hafi hunsað þetta afþví að þeim finnst þetta vera "núbbaleg" spurning.

Ég þekki þennan leik ekkert, en til þess að svara spurningunni þinni þá er leikjaforritun(og forritun yfir höfuð) oftast nokkuð flókinn fyrir einhvern sem veit kannski ekki hvað „forritunarmál“ er.

Þú notar ekkert ákveðið forrit til þess að búa til forrit, og gerir það ekki með því að „benda og smella“* eins og þú heldur kannski. Heldur skrifarðu kóðan niður(t.d. í Notepad eða þar til gerðu forriti) og síðan þýðirðu hann með svokölluðum þýðanda yfir á mál sem tölvan skilur, þ.e. .EXE skrá sem hægt er að keyra.

Til gaman geturðu hérna séð forritunarkóða á forritunarmálinu C# sem ég gerði á seinustu önn í mínum fyrsta forritunaráfanga(FOR103) í framhaldsskóla**. Þetta eru bara mjög basic og einhæf forrit sem keyra í textaham(console, DOS...) þannig að þú getur ímyndað þér hversu mikið mál er að gera heilan tölvuleik.

Þetta forrit þjónar engum tilgangi, býr bara til 10 random tölur, fer síðan í gegnum þær og finnur hæstu töluna, lægstu, meðaltal o.þ.h. og skrifar það á skjáinn

Kóði: Velja allt

// Ugly but works ;)

using System;

public class Forritunarverkefni4
{
   public static void Main()
   {
      double tempMeðalfrávik = 0;
      double meðaltal = 0.0;
      double meðalfrávik = 0.0;
      double staðalfrávik = 0.0;
      int[] tölur = new int[10];
      HlaðaFallMeðSlembitölum(ref tölur);
      int summa = 0;
      int summa_í_öðru = 0;
      

      // Þarf lykkju(r) fyrir útreikninga, nota bara eina lykkju og reikna allt út í henni
      for(int i = 0; i < 10; i++)
      {
         summa += tölur[i];
         summa_í_öðru += (int)(Math.Pow(tölur[i],2));
      }

      meðaltal = summa / 10d;

      foreach(byte i in tölur)
      {
         tempMeðalfrávik += (double)(Math.Abs(i - meðaltal));
      }
      meðalfrávik = tempMeðalfrávik / 10.0;

      staðalfrávik = Math.Sqrt((10 * summa_í_öðru - Math.Pow(summa,2))/90);

      Console.WriteLine("Búnar hafa verið til 10 slembitölur og eru þær:");
      for(int i = 0; i < 9; i++)
      {
         Console.Write(tölur[i] + ", ");
      }
      Console.WriteLine(tölur[9] + ".");

      Console.WriteLine("Hæsta talan:\t" + FinnaStak("hæsta",tölur));
      Console.WriteLine("Lægsta talan:\t" + FinnaStak("lægsta",tölur));
      Console.WriteLine("Meðaltalið:\t" + meðaltal);
      Console.WriteLine("Meðalfrávik:\t" + meðalfrávik);
      Console.WriteLine("Staðalfrávik:\t" + staðalfrávik.ToString("N2"));
   }

   private static int FinnaStak(string val, int[] fylki)
   {
      if (val == "hæsta")
      {
         int hæstaStak = 0;
         foreach (byte i in fylki)
         {
            hæstaStak = Math.Max(i, hæstaStak);
         }
         return hæstaStak;
      }
      else if (val == "lægsta")
      {
         int lægstaStak = 10;
         foreach (byte i in fylki)
         {
            lægstaStak = Math.Min(i, lægstaStak);
         }
         return lægstaStak;
      }
      else
         Console.WriteLine("Forritunarvilla! Þessi skilaboð ættu aldrei að birtast");
         return 0;
   }

   private static void HlaðaFallMeðSlembitölum(ref int[] fylki)
   {
      Random R = new Random();
      for(int i = 0; i < fylki.Length; i++)
      {
         fylki[i] = R.Next(1,11);
      }
   }
}


Þetta forrit tekur inn línu af texta, t.d. "Hérna hefur Halli átt heima" og spyr mann hvaða bókstaf maður vilji sleppa, t.d. "H", og prentar þá út "érna efur alli átt eima"

Kóði: Velja allt

using System;

public class Forritunarverkefni3B
{
   public static void Main()
   {
      string strInputStrengur, strFullunninnStrengur;
      char cSleppaBokstafur;

      Console.Write("Sláðu inn streng: ");
      strInputStrengur = Console.ReadLine();
      Console.Write("Sláðu inn bókstaf: ");
      cSleppaBokstafur = LesaBokstaf();

      strFullunninnStrengur = SleppaBokstaf(strInputStrengur, cSleppaBokstafur);
      Console.WriteLine("Strengurinn án '" + cSleppaBokstafur + "' er:");
      Console.Write(strFullunninnStrengur);
   }



   // Tekur streng og bókstaf og skilar strengum án bókstafsins. Tekur burtu bæði hástafa og lágstafa bókstafinn, nema ef um sér-íslenska bókstafi er að ræða
   public static string SleppaBokstaf(string strStrengur, char cBokstafur)
   {
      char cOtherCaseBokstafur = '\u0007'; // Notendur ættu hvort eð er ekki að geta slegið þennan bókstaf inn, þannig að það skiptir ekki þótt ég fjarlægi hann úr strengnum
      System.Text.StringBuilder strBuild_VinnsluStrengur = new System.Text.StringBuilder(""); // Gæti notað venjulega strengi, en StringBuilder leyfir manni að bæta við strengi án þess að búa alltaf til nýjan streng(með því að benda á nýjan streng og skilja gamla eftir, afþví að strengir eru óbreytanlegir)
      int iHæstaIndex = strStrengur.Length - 1;
      
      if (cBokstafur >= 65 && cBokstafur <= 90) // Ef að þetta er stór stafur
         cOtherCaseBokstafur = Convert.ToChar(cBokstafur + 32); // Búa til litla-stafs félaga hans
      else if (cBokstafur >= 97 && cBokstafur <= 122) // Ef lítill stafur
         cOtherCaseBokstafur = Convert.ToChar(cBokstafur - 32);
      
      
      for (int i = 0; i <= iHæstaIndex; i++) // Fer í gegnum alla stafi strengsins
      {
         if ((strStrengur[i] != cBokstafur) && (strStrengur[i] != cOtherCaseBokstafur))
            strBuild_VinnsluStrengur.Append(strStrengur[i]);
      }
      
      return strBuild_VinnsluStrengur.ToString();
   } // Væri hægt að útfæra þannig að prentaði bara alli stafi nema cBokstafur og skilaði void, en það fall væri ekki hægt að nýta á jafn marga vegu og þetta. (Og væri of auðvelt)



   // Þetta fall les inn bókstaf og skilar honum, ekkert annað nema exception handling
   public static char LesaBokstaf()
   {
      char cSkila = '\u0007'; // Pípar ef að notandinn kemst í gegn án þess að slá inn bókstaf, ætti ekki að geta gerst.
      bool bVilla;
      
      do
      {
         bVilla = false;
         try
         {
            cSkila = Convert.ToChar(Console.ReadLine());
         }
         catch (FormatException)
         {
            Console.Write("Villa! Ath. aðeins má slá inn einn bókstaf. Vinsamlegast reynið aftur");
            bVilla = true;
         }
      }
      while (bVilla);
      
      return cSkila;
   }
}


* Ég held reyndar að þannig forrit séu til, en held einnig forritarar líti þau hornauga.
** Needless to say fékk ég 10 í áfanganum :P

Sent: Fös 01. Júl 2005 03:07
af Birkir
Ég veit að þú getur notað forrit sem kallast GameMaker 5, ég bjó einu sinni til einfaldan leik í því. En þú getur ekki gert neitt annað en mjög einfalda leiki í þessu forriti.

Sent: Fös 01. Júl 2005 10:19
af CraZy
adventure game maker er fínt forrit til að búa til adventure leiki,þarft bara að læra smá global script

Sent: Fös 01. Júl 2005 15:38
af Viktor
Hvar get ég nálgast þessi forrit?

Sent: Fös 01. Júl 2005 15:50
af Birkir
http://www.download.com/Game-Maker/3000 ... ag=lst-0-1
Þetta er víst Version 6. Ekkert coding eða neitt en ekki gera þér neinar vonir um að geta gert neitt flókið í þessu. :roll:

Sent: Fös 01. Júl 2005 16:06
af Viktor
Hvar get ég fundið GM6 tutorial? :oops:

Sent: Fös 01. Júl 2005 17:00
af ICM
DarkBASIC :lol:

Sent: Fös 01. Júl 2005 17:09
af Birkir
Viktor skrifaði:Hvar get ég fundið GM6 tutorial? :oops:
Fiktaðu þig áfram, þetta er eins einfalt og það gerist :)

Sent: Lau 02. Júl 2005 18:14
af CraZy
einmitt,eg bjo til svona mario hoppiskopp leik med Ólaprik i adalhlutverki,bjó til heil 9borð :8)