Comments (22)
In the meantime, bear with me.. this is why I "soft launched" on twitter before I blogged about it, so we can hash out how to approach it.
(It's also why I reduced the scope to the first book rather than both books!)
I was also planning to do a monetary donation to a coding charity (say, Black Girls Code) per program submitted, so if the number of programs submitted increases by 5x, 6x, 7x, 8x, 10x.. that could price me out of donating :(
from basic-computer-games.
So, on a similar note, I've just issued a PR where I reference (in the readme) an article (on CodeProject) about a C++ version of Super Star Trek (Console app with identical gameplay, but completely rewritten with fully object-oriented design).
from basic-computer-games.
Hi folks,
I'd also like to contribute in a language which isn't in the TIOBE top-x list. I understand it's not possible to stuff each language in this repo/project so I propose to use a "GitHub topic", which acts like a hashtag/ankor to find similar projects. For example many folks who write a gameboy emulator in their favorite language tag their project with the "gameboy-emulator" topic, making it easier for people to find: https://github.com/topics/gameboy-emulator . If this project also adopts a topic and mentions/direct to it from the README, then other people can happily implement it in whatever language/approach they want without having to update this repo.
"basic-computer-games" sounds appropriate, someone already used it for a similar effort a few years ago: https://github.com/topics/basic-computer-games
Cheers,
TonΔi
from basic-computer-games.
I don't think you need to drop the PRs π€
They could probably be in a parallel repo?
from basic-computer-games.
yes @gcarreno -- what I suggest is linking the implementation from the README.md, as James Curran did for the C++ implementation of Super Star Trek.
from basic-computer-games.
Hi Jeff(@coding-horror),
Yeap, I now see what you mean. Thanks for the better explanation!!
And thanks James(@jamescurran) for the suggestion!!
Will, submit PRs with modified README.md in a while.
Cheers,
Gus
PS: Should I close this or should you? Or just leave it open as a guide?
from basic-computer-games.
I think it's fine to leave open as a guide! I will update the readme.md for the project shortly, thanks for your patience and all your contributions so far π€
from basic-computer-games.
A Rust enthusiast here (another language not listed).
I'd suggest splitting this repo into multiple repos based on language, a repo per language.
Then you can have the main repo collecting all the other repos (as submodules or maybe just as links).
from basic-computer-games.
Hi Jeff(@coding-horror),
Variants? No, none of that. My goal is to give 2 examples on the same language but with OOP and without OOP.
The OOP version to give an example of more modern practices and the non OOP version as a direct translation from the BASIC example.
It's just double the work for me, not anything else, because it all compiles under the same compiler, the same way.
EDIT: In my opinion, variants would be if I was doing different folders for Delphi and Lazarus/FPC, that would be variants.
But I'm planning on making it as variant friendly as possible and will strive to include a *.lpi
and a *.dproj
with each port.
Cheers,
Gus
from basic-computer-games.
@coding-horror This apparently is why you didn't ask us Lisp coders to participate: π
https://www.reddit.com/r/lisp/comments/lv01cr/101_basic_computer_games_todo_lisp_port/
from basic-computer-games.
It's OK, I appreciate your enthusiasm.. just bear in mind that if I open the door to Pascal, I have to open the door to pretty much every other language out there, don't I? That makes the project awfully big and complicated. :(
Perhaps we should have a hard-and-fast rule about "must rank on TIOBE" so there's an objective third party involved?
I am by no means anti-Pascal.. I am anti-complexity.. and we have to have limits somewhere otherwise the project gets super complicated, doesn't it?
And I appreciate you reaching out, but I hope you can see where I am stuck here. I really can't have this become an enormous project, including every computer programming language ever.. :(
from basic-computer-games.
Hey Jeff(@coding-horror),
It's OK, I appreciate your enthusiasm..
Many thanks for this!!
just bear in mind that if I open the door to Pascal, I have to open the door to pretty much every other language out there, don't I?
Errmm, yeah, didn't thought about it this way. I was a bit involved in making Object Pascal come up.
BUT it makes a ton of sense.
Perhaps we should have a hard-and-fast rule about "must rank on TIOBE" so there's an objective third party involved?
I'm the worst person to ask for something like this, but I have to admit that these 2 rules make quite a bit of sense.
So if you can come up with the the minimum TIOBE index and name a third person for Object Pascal (I can mention a few) I'll be ever so thankful.
If after you define these rules Object Pascal does not qualify, I'll drop my PRs.
I was also planning to do a monetary donation to a coding charity (say, Black Girls Code) per program submitted, so if the number of programs submitted increases by 5x, 6x, 7x, 8x, 10x.. that could price me out of donating :(
In this situation, yeah, absolutely you have to define hard limits!!
Cheers,
Gus
from basic-computer-games.
Hey Jeff (@coding-horror),
I don't think you need to drop the PRs π€
I mean drop my insistence on getting them merged.
They could probably be in a parallel repo?
Tell me more. You've peeked my attention.
Cheers,
Gus
from basic-computer-games.
Hi Jeff(@coding-horror),
They could probably be in a parallel repo?
Sorry for insisting, but I really am curious about what you mean with this statement.
Could you please elaborate?
Cheers,
Gus
from basic-computer-games.
Hey Jeff(@coding-horror)
I think it's fine to leave open as a guide!
I agree, thanks!
At the moment I'm creating a kind of mirror project of this one and, like I said, will drill down all 90 something on your list.
Still not sure if I'll mirror all in one go and then "Pascalise" it, or mirror one at a time.
thanks for your patience and all your contributions so far π€
No problems. And you're quite welcome!
I'll keep you appraised of progress via PRs when I finish each "Pascalisation".
Cheers,
Gus
from basic-computer-games.
Good news! I have an official answer here
https://discourse.codinghorror.com/t/updating-101-basic-computer-games-for-2021/7927/34
These 8 languages are officially included:
- Java
- Python
- C#
- VB.NET
- JavaScript
- Ruby
- Delphi / Object Pascal
- Perl
So you are clear to pull request in all the Pascal ones @gcarreno ! π
Any other languages, please link them from the README.MD in the root folder for that example @mike239x
from basic-computer-games.
Hey Jeff(@coding-horror),
So you are clear to pull request in all the Pascal ones @gcarreno ! π
Thank you so very much for this. But are you absolutely sure? I'm still worried about your donation upgrade!!
And if you are, then let me ask you something: My plan is to produce 2 versions of each:
- One in the purest pascal, kinda the same level as possible to the original BASIC
- One in Object Pascal, with some bells and whistles of OOP
I still consider this only one contribution per BASIC example, so no added burden on your donation!
I'll be dropping each one on it's own folder: <BASIC folder>/pascal
and <BASIC folder>/object-pascal
.
Are you OK with this?
Cheers,
Gus
from basic-computer-games.
It is fine, but I will only count one language version of each program toward the donations.. pascal is pascal ;)
So I suggest a subfolder like
/pascal
/pascal/object
maybe?
from basic-computer-games.
Hi Jeff(@coding-horror),
It is fine, but I will only count one language version of each program toward the donations.. pascal is pascal ;)
Yeaps, that's what I meant when I said:
I still consider this only one contribution per BASIC example, so no added burden on your donation!
so we're in total agreement. And I know it's double the work, but hey, it's my time to invest π
So I suggest a subfolder like
I like the idea of only one folder to house both, still not sure on how to structure it after that.
But don't mind me, I'll respect the one folder and then make my mess under there, LOL!
At the moment I'm inclined on:
pascal/simple
pascal/object-pascal
If I come up with something more clear in terms of context, I'll just use that.
Cheers,
Gus
from basic-computer-games.
I guess that is OK, not a huge fan of language variants because that opens the door to Groovy (Java variant), Raku (Perl variant) etcetera.. we do want to keep it simple.
from basic-computer-games.
That's a great idea! I'll add that tag to this project right now, and we can mention it in the readme.
from basic-computer-games.
I'll close this out for now as we have an "official" 8 languages, I'd rather keep the scope smaller to start.
from basic-computer-games.
Related Issues (20)
- terminal_style.css pegs cpu usage HOT 1
- Mastermind.py has trouble counting black and white pegs. HOT 5
- Typo in the Basic and JavaScript versions of SALVO HOT 2
- hangman.rb doesn't randomize the order of puzzle words HOT 9
- Are less mainstream languages allowed? HOT 4
- DEC Basic Computer Games HOT 2
- A little more about the spirit of the project??? HOT 6
- Super Star Trek README has a typo that's a rude word. HOT 1
- Edited latest commit requesting review for pull request (Life for Two.py)
- Super Star Trek - Ship class does not work correctly HOT 2
- A function never called in tictactoe2.py HOT 1
- Hacktoberfest HOT 1
- Confusion between 91_Train and 92_Trap Rust HOT 3
- 84_Super_Star_Trek java issues HOT 1
- Lunar lander initial weight HOT 1
- Battle doesn't seem to accept the num,num format suggested in the readme HOT 4
- Python Acey-Ducey has a "1" card instead of the "10" HOT 5
- Code decomposition question HOT 4
- Another possible tourist trade bug in King HOT 2
- Hacktoberfest
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from basic-computer-games.