Projekto en la nova lingvo,

Skip to content

Ĉi tio estas maŝine tradukita teksto kiu povas enhavi erarojn!

Ĉi tio estis multaj taskoj?!

  • Tie oni ne atendas, ke vi faru pli ol unu el la projektoj, ili povas esti sufiĉe postulantaj. Sed certe, se vi volas havi pli da laboro, vi povas fari pli.
  • Ĉi tio estas ankaŭ ĉefe ideoj por projektoj, kiujn vi povas fari, se vi havas pli bonajn ideojn mem, iru por ĝi!


Medium Projekto A - Terminala Simulilo

Kreu terminalan programon kie vi povas doni komandojn kaj ĝi donas al vi respondojn. Ekzemplo de uzo ĉi tie estas:

  • /hello
    • Respondu kun arbitra salutmesaĝo, aŭ eble elektu inter pluraj elektoj.
  • /add
    • Adicias du nombrojn kiujn vi donas al ĝi
    • Eble povas esti komando nomata /calc kie la uzanto povas elekti ĉu vi devas adicii, subtrahi, multipliki, dividi aŭ plu. Vi povas uzi la kodon kiun vi kreis en Nivelo 2 - Tasko 1, sed, modifu la kodon
  • /rps
    • Permesu al vi ludi ŝton-papero-forĝon kun la maŝino
  • /todo
    • Permesu al vi aldoni aĵojn al listo, ĉi tio povas esti simila al aĉetlisto aŭ simile.
    • Vi povas havi flankan komandon ĉi tie nomatan /showtodo , ekstran defion:
      • Lasu ĝin esti “sub”-komando kiel /todo show
  • La dosierkomandojn de Nivelo 2 - Tasko 14 vi povas kompreneble aldoni.
  • Vi povas ankaŭ modifi plurajn el la taskoj en Nivelo 2 por aparteni al ĉi tiu terminala simulilo.
  • Estu kreiva! Estas multaj komandoj kiujn vi povas aldoni ĉi tie.

Konsiloj por proceduro
- Kiel mi povas elprinti ion al la uzanto?
- Kiel mi povas akiri ion de la uzanto?
- Kiel mi povas kontroli kion la uzanto skribis?
    - Kiel mi povas kontroli plurajn diversajn aferojn?
- Kiel mi povas igi la programon ruli senfine? (ĝis vi diras `haltu` aŭ ion tia) (*Indiko*: `while`-cikloj).
- Kiel mi povas konverti de teksto al nombro?

Medium Projekto B - Tekstbazita Aventura Ludo

Kreu tekstbazitan aventurludon kie la uzanto povas elekti kie iri. Se vi volas, ke ĉi tio estu plena RPG-stila ludo kun XP, HP, niveloj ktp., tio estas al vi.

Jen kelkaj ideoj pri kion vi povas inkluzivi:

  • Mondo dividita en “ĉambroj”. T.e. vi povas moviĝi maldekstren aŭ dekstren, aŭ supren kaj malsupren, aŭ en ĉiuj direktoj.
    • En ĉiu ĉambro io okazas.
      • Vi ricevas ion en tiu ĉambro, kiun vi povas uzi aliloke
      • Aŭ ke batalo okazas
      • Aŭ iu diras al vi ion
  • “Inventara” sistemo, kiu tenas kion la ludanto akiris.
  • Eble maniero influi la mondon.
    • Eble per ŝlosiloj, kiuj povas malfermi pordojn aŭ truojn.
  • Aldonu simplajn enigmojn.
    • Ĉi tio povas esti tiel simpla kiel matematikaj problemoj.
    • Aŭ, vi povas krei enigmon, kiun vi devas paroli kun homoj en aliaj ĉambroj por solvi.
  • Estas multaj eblecoj!

Konsiloj por proceduro
- Kiel mi povas elprinti ion al la uzanto?
- Kiel mi povas akiri ion de la uzanto?
- Kiel mi povas kontroli kion la uzanto skribis?
    - Kiel mi povas kontroli plurajn diversajn aferojn?
- Kiel mi povas igi la programon ruli senfine? (ĝis vi diras `stop` aŭ ion tia)
- Kiel mi povas teni spuron de kion la uzanto portas? (*Indiko*: Listo)
- Kiel mi povas teni spuron de kie la uzanto estas?
- Kiel mi povas teni spuron de la ĉambroj? (*Indiko*: Vortaroj)

**Se vi volas daŭrigi kun plena RPG:**

- Kiel mi povas konservi "statistikojn" de la ludanto, do: HP, Atako, Defendo, Rapido aŭ alia.
- Kiel mi povas krei monstrojn kiuj atakas la ludanton?

**Gravaj konceptoj, kiujn vi devus rigardi:**

- Klasoj kaj objektoj
- Funkcioj kaj heredaĵo (arvingo)
- Havu plurajn dosierojn por kodo, ekzemple, unu dosiero por ludanto-logiko, monstroj-logiko kaj tiel plu.

Ekstra:

  • Faru ke vi povu konservi kaj ŝarĝi la ludon
  • Aldonu sonojn

Hard Projekto C - Meteo-Informo Alprenanto

Kreu programon kiu alprenas kaj montras datumojn por donita loko. Komence, ĉi tio povas esti nur simpla komandlinia programo kiu demandas la uzanton pri urbo.

  • Uzu API-on por alpreni datumojn, vi povas trovi meteo API-ojn ĉi tie: Weather APIs.
    • Se vi eltrovas apiKeyOAuth, bone! Se ne, vi povas provi uzi tiujn sen ĉi tio.
  • Elprintu la temperaturon al la uzanto.
    • Vi eble ankaŭ povas aldoni temperaturkonvertadon (kiel en Nivelo 2 - Tasko 8).
  • Elprintu alian informon, kiun vi povas alpreni.
  • Vi ankaŭ povas plue transformi ĉi tion en grafikan programon (GUI), kiu montras la informojn.

Konsiloj por proceduro
- Kiel mi povas elprinti ion al la uzanto?
- Kiel mi povas akiri ion de la uzanto?
- Kiel mi kontrolas kion la uzanto skribis?
- Kiel mi konektas al API?
- Kiel mi akiras informojn de API?
    - Kiel mi akiras la informojn bazite sur kion la uzanto skribis?
- Kiel mi trovas tion, kion mi volas de API? (*Indiko*: legi JSON)

Hard Projekto D - Web-Servero

Kreu simplan ret-serveron, kie vi legas HTTP-petojn HTTP-petoj Vikipedio, kaj sendas reen retpaĝon. La maniero, per kiu vi faru tion, povas multe varii de programlingvo al programlingvo.

Konsiloj por proceduro
- Kiel mi konektas al IP-adreso kaj al pordo?
    - Do, kiel vi povas *aŭskulti* se iu faras *HTTP-Peton* ĉe retejo.
- Kiel mi kontrolas la diferencon inter GET kaj POST?
- Kiel mi povas sendi ion reen al la uzanto?
- Kiel mi kontrolas ĉu io iris erare? (*Indiko*: HTTP Statuskodoj)
- Kiel (simile al Flask en Python), mi povas krei itinerojn?

Ekstra (se la lingvo permesas):

  • Uzu tipon de ŝablonado (simila al Jinja) por generi partojn de retejoj.

Cracked Projekto E - Grafika 2D-Ludo

Kreu bazan 2D-ludon, ekzemple serpenton, pingponkon, krucmarkon, labirintan ludon, tetris aŭ alian. La ludo devus eble ludiĝi de uzanto, aŭ per muso aŭ klavaro.
Serpento luda bildo

Ekzemplo por serpentoludo

Konsiloj por proceduro
- Kiel krei fenestron en mia programlingvo?
- Kiel mi povas desegni ion en ĉi tiu fenestro?
- Kiel mi povas krei ludanton aŭ ludpecon kiu konservas informojn?
    - En serpentludo, ĉi tio ekzemple estus konservi kie la ludanto troviĝas.
- Kiel mi povas desegni ludanton aŭ ludpecon bazite sur ĉi tiu informo?
- Kiel mi povas igi la ludanton influi aliajn aĵojn?
- Kiel mi povas elprinti tekston en la fenestro?
- Kiel mi povas kontroli la poenton?
Pli da aferoj:

- Kiel mi povas ludigi sonon?

Demandoj?

- Ĉu mi povas uzi kadron por krei ludojn ĉi tie?
    - Jes! Kompreneble!
    - Vi kompreneble povas provi implementi la tutan ludmotoron de nulo, sed tio povus esti sufiĉe postulema.
    - Vi povas trovi liston de kadroj por ludoj ĉi tie: [gamesfromscratch](https://gamefromscratch.com/the-best-game-development-frameworks/).