#top cmd commands
Explore tagged Tumblr posts
anyataylorjoys · 1 year ago
Text
Tumblr media
Someone asked me how I created the fade transition in this gifset which I’ll try to explain in the most comprehensive way that I can. If you've never done something like this before, I suggest reading through the full tutorial before attempting it so you know what you'll need to plan for.
To follow, you should have:
basic knowledge of how to make gifs in photoshop
some familiarity with the concept of how keyframes work
patience
Difficulty level: Moderate/advanced
Prep + overview
First and foremost, make the two gifs you'll be using. Both will need to have about the same amount of frames.
For ref the gif in my example is 540x540.
I recommend around 60-70 frames max total for a big gif, which can be pushing it if both are in color, then I would aim for 50-60. My gif has a total of 74 frames which I finessed using lossy and this will be explained in Part 4.
⚠️ IMPORTANT: when overlaying two or more gifs and when using key frames, you MUST set your frame delay to 0.03 fps for each gif, which can be changed to 0.05 fps or anything else that you want after converting the combined canvas back into frames. But both gifs have to be set to 0.03 before you convert them to timeline to avoid duplicated frames that don't match up, resulting in an unpleasantly choppy finish.
Part 1: Getting Started
Drag one of your gifs onto the other so they're both on the same canvas.
The gif that your canvas is fading FROM (Gif 1) should be on top of the gif it is fading INTO (Gif 2).
Tumblr media
And here's a visual of the order in which your layers should appear by the end of this tutorial, so you know what you're working toward achieving:
Tumblr media
Part 2: Creating the grid
Go to: View > Guides > New guide layout
I chose 5 columns and 5 rows to get the result of 25 squares.
Tumblr media
The more rows and columns you choose, the more work you'll have to do, and the faster your squares will have to fade out so keep that in mind. I wouldn't recommend any more than 25 squares for this type of transition.
Tumblr media
To save time, duplicate the line you've created 3 more times, or as many times as needed (key shortcut: CMD +J) and move each one to align with the guides both horizontally and vertically. You won't need to recreate the lines on the edges of the canvas, only the ones that will show.
After you complete this step, you will no longer need the guides so you can go back in and clear them.
Tumblr media
Follow the same duplicating process for the squares with the rectangle tool using the lines you've created.
Align the squares inside the grid lines. The squares should not overlap the lines but fit precisely inside them.
This might take a few tries for each because although to the eye, the squares look all exactly the same size, you'll notice that if you try to use the same duplicated square for every single one without alterations, many of them will be a few pixels off and you'll have to transform the paths to fit.
To do this go to edit > transform path and hold down the command key with the control key as you move one edge to fill the space.
Once you're done, put all the squares in their separate group, which needs to be sandwiched between Gif 1 and Gif 2.
Tumblr media
Right click Gif 1 and choose "create clipping mask" from the drop down to mask it to the squares group. This step is super important.
After this point, I also took the opacity of the line groups down to about 40% so the lines wouldn't be so bold. Doing this revealed some squares that needed fixing so even if you aren't going dim the lines, I recommend clicking off the visibility of the lines for a moment to make sure everything is covered properly.
Tumblr media
Part 3A: Prep For Key framing
I wanted my squares to fade out in a random-like fashion and if you want the same effect, you will have to decide which squares you want to fade out first, or reversely, which parts of Gif 2 you want to be revealed first.
In order to see what's going on underneath, I made Gif 1 invisible and turned down the opacity of the squares group.
Tumblr media
If you want text underneath to be revealed when the squares fade away, I would add that now, and place the text group above Gif 2, but under the squares group.
Tumblr media
Make a mental note that where your text is placed and the order in which it will be revealed is also something you will have to plan for.
With the move tool, click on the first square you want to fade out. Every time you click on a square, it will reveal itself in your layers.
I chose A3 to be the first square to fade and I'm gonna move this one to the very top of all the other square layers.
So if I click on D2 next, that layer would need to be moved under the A3 layer and so on. You'll go back and forth between doing this and adding key frames to each one. As you go along, it's crucial that you put them in order from top to bottom and highly suggested that you rename the layers (numerically for example) which will make it easier to see where you've left off as your dragging the layers into place.
Tumblr media
Part 3B: Adding the Keyframes
This is where we enter the gates of hell things become tedious.
Open up the squares group in the timeline panel so you can see all the clips.
Here is my example of the general pattern that's followed and its corresponding layers of what you want to achieve when you're finished:
Tumblr media
So let’s try it!
Expand the control time magnification all the way to the right so you can see every frame per second.
Tumblr media
As shown in Part 3A, select your first chosen square.
Where you place the time-indicator on the panel will indicate the placement of the keyframe. Click on the clock next to opacity to place your first keyframe.
Tumblr media
Move the time-indicator over 3 frames and place the next key frame.
Tumblr media
Things to consider before moving forward:
Where you place your very first keyframe will be detrimental. If you're using a lot of squares like I did, you may have to start the transition sooner than preferred.
If you're doing 25 squares, the key frames will have to be more condensed which means more overlapping because more frames are required to finish the transition, verses if you're only using a 9-squared grid. See Part 4 for more detailed examples of this.
The opacity will remain at 100% for every initial key frame, and the second one will be at 0%.
Tumblr media
Instead of creating two keyframes like this and changing the opacities for every single clip, you can copy the keyframes and paste them onto the other clips by click-dragging your mouse over both of them and they'll both turn yellow. Then right click one of the keyframes and hit copy.
Now drop down to your next clip, move your time-indicator if necessary to the spot where the first keyframe will start and click the clock to create one. Then right click it and hit "paste".
Tumblr media Tumblr media
Tip: When you have both keyframes selected, you can also move them side to side by click-dragging one of them while both are highlighted.
Your full repetitive process in steps will go as follows:
click on square of choice on the canvas
drag that square layer to the top under the last renamed
in timeline panel: drop down to next clip, move time-indicator tick to your chosen spot for the next keyframe
create new keyframe
right click new keyframe & paste copied keyframes
repeat until you've done this with every square in the group
Now you can change the opacity of your squares layer group back to 100% and turn on the visibility of Gif 1. Then hit play to see the magic happen.
PART 4: Finished examples
Example 1
Tumblr media
the transition starts too soon Cause: initial keyframe was placed at frame 0
the squares fade away too quickly Cause: overlapping keyframes, seen below. (this may be the ideal way to go with more squares, but for only 9, it's too fast)
Tumblr media
Example 2
Tumblr media
more frame time for first gif
transition wraps up at a good point Cause: in this instance, the first keyframe was placed 9 frames in, and the keyframes are not overlapping. The sequential pair starts where the last pair ended, creating a slower fade of each square.
Tumblr media Tumblr media
Part 5: Final Tips and Saving
You can dl my save action here which will convert everything back into frames, change the frame rate to 0.05 and open the export window so you can see the size of the gif immediately.
If it's over 10gb, one way to finesse this is by use of lossy. By definition, lossy “compresses by removing background data” and therefore quality can be lost when pushed too far. But for most gifs, I have not noticed a deterioration in quality at all when saving with lossy until you start getting into 15-20 or higher, then it will start eating away at your gif so keep it minimal.
Tumblr media
If you've done this and your gif is losing a noticeable amount of quality and you still haven’t gotten it below 10mb, you will have no choice but to start deleting frames.
When it comes to transitions like this one, sometimes you can't spare a single frame and if this is the case, you will have to return to the timeline state in your history and condense the key frames to fade out quicker so you can shorten the gif. You should always save a history point before converting so you have a bookmark to go back to in case this happens.
That's pretty much it, free to shoot me an ask on here or on @jugheadjones with any questions.
465 notes · View notes
simshousewindsor · 9 months ago
Text
THE PRESS AND THE RULES
Tumblr media Tumblr media
[Bukharat Golf Course, Dacana]
Cmd Eldridge: Hello?
[??]:"I have been notified by your wife's attorney that she plans to begin legal separation proceedings."
Tumblr media
Cmd Eldridge: I thought you said it would all settle down?
[??]:"When do you return to Windenburg?"
Cmd Eldridge: Four more days.
Tumblr media
Prince Rainier: What were you thinking? No emails to anyone. You know the rules. Those lunch club boys are not discreet.
Cmd Eldridge: Somehow the email got back to Erica. She wrote to the palace and gave notice of her intentions to seek divorce.
Tumblr media
Prince Rainier: This is not good, Jason. That means it got back to you-know-who.
Cmd Eldridge: We have to assume so.
Prince Rainier: Which is why the palace approved our stay in Dacana another four days. They want us away until they decide our fate.
Tumblr media
- - - - - THE NEXT DAY - - - - -
Tumblr media
[Buckingsim Palace]
Queen Katherine: (shaking hands) Again, enjoy your retirement, Justice Dathren. Your wisdom will truly be missed on the Supreme Court.
Lord Charles: Thank you, Your Majesty.
Tumblr media
Martin: Your Majesty, the Simy Express is running a story tomorrow with the headline "Prince Consort's Best Friend And Wife Have Split." The Easton Times' top story is scheduled to be "Wife of Prince Consort's Private Secretary Seeks Divorce."
Queen Katherine: What can we do?
Tumblr media
Martin: Elisha is speaking to the press in the Press Briefing Room in one hour. Our contact at SNN said they're willing to assist the palace in any way but I doubt they'd go against the Times.
Queen Katherine: What is Elisha planning to say?
Tumblr media
Lorenzo: That we are aware of the fact that Lieutenant Commander Eldridge is His Royal Highnesses's private secretary, he's a close friend, and that we are aware of the letter.
Queen Katherine: Any update on the Queen Dowager?
Martin: No, Your Majesty. The Duke of Kent has been by her side all morning.
Tumblr media
- - - - - THE NEXT DAY - - - - -
Tumblr media
[Fairsim Chateau Hotel, Dacana]
(knock on door)
Prince Rainier: Come in.
Tumblr media
Cmd Eldridge: Sir. Do you have a moment?
Prince Rainier: (nods)
Tumblr media
Cmd Eldridge: My lawyer in Easton emailed saying that although the press coverage is bad, it should quiet down in a day or two.
Prince Rainier: We both know that's wishful thinking.
Tumblr media
Prince Rainier: I've received my own correspondence from Easton. This next step (clears throat), I hope you're not going to make difficult for me.
Cmd Eldridge: (shocked) I... I... No.
Tumblr media
Cmd Eldridge: (somber) You'll have my resignation tomorrow.
Prince Rainier: I'll need it now.
Tumblr media
Cmd Eldridge: I hereby offer my resignation as Principal Private Secretary to His Royal Highness The Prince consort, effective immediately.
Prince Rainier: (somber) Accepted.
Tumblr media
Prince Rainier: You've worked for me long enough. You know the rules. Who we are. How this works. Mistakes and scandals, there's no room for it.
Cmd Eldridge: I understand.
Prince Rainier: You should probably leave us tonight. I suggest a strict "no comment" on all counts, including emails.
Cmd Eldridge: Yes, Your Royal Highness.
Tumblr media
- - - - - THE NEXT DAY - - - - -
Tumblr media
[Buckingsim Palace]
Martin: We must depart for the train in one hour if we're to stay on schedule, ma'am. You will only have three days to spend at Sumpterson.
Queen Katherine: I'm happy you were able to re-arrange things to give me a couple of days off.
Tumblr media
Martin: The Prince consort returns Friday evening, and Saturday is the Duke of Norfolks ball. Is this the gown you're wearing, ma'am.
Queen Katherine: It is.
Martin: His Royal Highness has also been sent updated instructions for the disembarking. With news of Cmd Eldridge's resignation fresh on the minds of the press, they will be watching your every interaction once you step off the plane.
Tumblr media
- - - - - THE NEXT DAY - - - - -
Tumblr media
[Sable Square, Brindleton Bay]
[??]: That's it. The Castle of Annie.
[??]: Oh my! What a view.
[??]: It dates back to the mid 17th century. It was in the same family for 10 generations.
Tumblr media
Lord Craig Darden: If you are interested in the property, I'm going to be very honest. It needs quite a bit of work. One or two windows might need replacing and the electricity, well, still needs to be updated! Oh, and there's no dining room to speak of.
Queen Rowena: (smiles) Oh dear. You're really not a salesman.
Tumblr media
Lady Delores: Who is that?
Lord Darden: He seems to be on a mission.
Lady Delores: Running, and wearing a suit in this thick forest?
Tumblr media
William Filmore: Your Majesty! Forgive me for disturbing you. I come from the palace. They ask that you return to Easton immediately.
Queen Rowena: Whatever for?
William Filmore: This is all the information that I have?
Previous | Beginning | Next
8 notes · View notes
crmsndragonwngss · 1 year ago
Note
Do you have any tips or guides on how to make gifs?
I do! Firstly, this guide here is probably the best guide I've seen for gif making. It's concise and easy to follow, and it's what I used to learn myself. They have a lot of resources as far as programs go, but I'll list what I use below. As always, never download and install anything from unknown sources without doing your own due diligence. Run everything through your antivirus and/or virustotal before installing always always always!
This is kinda long, so imma put it under the cut lol. Also note that I use windows (Win10), so things may not work the same way for mac or linux
Before you can actually make the gifs, you need a way to download high quality videos! I like jdownloader 2 because I find the interface to be user friendly, it gives you the option to download multiple elements (like srt files), and it works with more websites than lots of other video downloaders (and their user support is leagues better as well). My second choice is yt-dlp, which isn't necessarily more complex but might look a little more intimidating. Both are great programs, but a quick note about jd2: DO NOT download it from anywhere else but the link above. The developers package adware in all their installers EXCEPT for that one (I hate it too, and I think it's fundamentally unethical, but at least they're up front about it and they have an adware free version). Both methods automatically download the highest quality video available in your source link, so you don't have to worry about fiddling with that.
Now on to extracting frames! My method of choice is ffmpeg. It looks more intimidating than it is, and it's honestly the best way to extract frames imo. Like yt-dlp, it uses your computer's command console, which means you'll need the relevant command lines to run it. This tutorial is great to get you started, and it includes a command line for if you only want to extract frames from a specific part of your video. If you want to extract every frame from the entire video, you can either input the start and end times of the video into that command line, or you can use this version (I use both depending on what I'm doing):
ffmpeg -i "file path" "out-%05d.png"
Always make sure you're working with png files. To make quality gifs you have to start with quality images, and png files, unlike jpg, are lightweight and lossless, meaning you won't end up with compression artifacts and fuzziness
To get the file path for your video, select the file, then in the upper left hand corner of your window select home > copy path. It will copy the path in quotes, so replace the entire section "file path" with the path you just copied. Then copy and paste the entire line into your command console. The tutorial above says this as well, but be sure to create a folder for your frames, go into that folder and click the file path bar at the top of the window, then type "cmd" to open the console. This will ensure your files are dumped in that folder
So now you need a way to actually MAKE the gif. This is... a little more tricky. You can use gimp, I think, though it's certainly not my program of choice. You could buy PS but like... ew. OR you could do what I did and arr it. I use a portable version of CS6 that I downloaded literally a decade ago, and unfortunately the website I got it from isn't up anymore. I did a quick search and found this on reddit, but again, do your due diligence before downloading and installing anything!
Now I'll talk a little bit about my actual process. The actual process of making frames into layers into a gif I got from that first tutorial I linked. I took that process and made an action on PS so that I never have to do it manually again because I'm lazy and my memory is dogshit and I didn't want to have to consult a guide every time I wanted to do something lol. Everything else I learned through experimenting and my own experience as a photographer, so I encourage you to play around with everything to see what you like and what works for you
For coloring, I fiddle with levels, brightness/contrast, and color balance adjustment layers until I'm happy with how it looks. You can use curves instead of levels if you want finer control (or if you want to produce effects like matte), but levels works just as well and has a histogram right there in the panel, which makes it easier to adjust the exposure based on the image's actual data
For sharpening, I have a couple of custom actions I use. Here's what they look like:
Tumblr media
The first one (bound to the F2 key) gives a smoother appearance, and I like to use it for kpop gifs where the subjects are already airbrushed and smooth without much texture, or wide shots where detail isn't super important
The second one (bound to the F3 key) is the one I use when I want to preserve texture in the image. Closeups of people where you can see their skin texture, or busy images with lots of detail benefit most from this one
The basic gist of it is, the "sharpen" filter does exactly what it says on the tin and it's usually all the sharpening an image needs, and the "surface blur" filter erases or dampens artifacting created by the sharpening filter. Sometimes I'll run the action twice, or use them both in combination to get the effect I want. Here's what the difference looks like in practice, featuring two very cute dudes:
F2 sharpening action
Tumblr media Tumblr media
F3 sharpening action
Tumblr media Tumblr media
You'll notice in the first two gifs, there's not much in the way of texture to preserve. Yoongi's skin is smooth and airbrushed, and the scenery is all metal and concrete shot with a wide aperture, which makes the background nice and blurry and smooth. In the second set, Jesse has facial hair and stubbly texture on his throat that I wanted to preserve, so I used the action with the lighter surface blur
My advice on all of this though, again, is to play around with it and see what you like! And if you have any more questions, feel free to ask! I'm by no means an expert, but I'll do what I can to help!
edit: oh, a quick note about speed! The tutorial I linked above mentions changing the delay to 0.05, and that's great for full speed gifs! But if you want them slow like my gifs above, I set the delay to 0.08. Sometimes I'll slow them down even more by setting the delay to 0.09 or 0.1, but any higher and you start to lose some of that smoothness
15 notes · View notes
Note
how do i... boopbeam.......
I AM SO GLAD YOU ASKED
HOW TO BOOPBEAM UNDER THE CUT
Tumblr media
STRAP IN BOYS THIS IS GONNA BE A LONG ONE
ok so.
you need Bun. It's a JavaScript runtime for the server (your computer). It's what runs the little script I made that automates the booping. Copy-paste the little one-liner into your terminal of choice and hit enter.
2. download this file here. THIS IS THE BOOPINATOR!
3. You'll need a couple pieces of information. What you want to do is go to tumblr.com on a computer, then open up the developer tools. Usually Ctrl (or Cmd) + Shift + I (that's an eye). Head to the tab labelled Network.
4. With the network tab open, boop somebody! However you do it. Either by the boop button next to their name, or the paw icon on their profile. Boop somebody!
5. You should see a new entry in the Network tab labeled "boop". Click on it.
6. You should see a bunch of new tabs to the side. One of them will be named "Headers". Click on that if it isn't already selected.
7. Scroll down to where it says "Request Headers" (NOT RESPONSE HEADERS!) and copy THREE values into the boopinator.ts file you downloaded: • Your "Cookie". Copy that whole value into line 39; replace the bit where it says "YOUR COOKIE HERE" (and keep the quotes!) • Your "Authorization". Copy that whole value (including the "Bearer") into line 38; replace the bit that says "YOUR TOKEN HERE (starts with Bearer)" (and keep the quotes!) • Your "X-Csrf". Copy that value into line 85; replace the bit where it says "FIRST CSRF TOKEN" (and keep the quotes!).
I cannot stress this enough these three values are extremely sensitive and should not be shared ever.
8. In a terminal, navigate to the directory you downloaded boopinator.ts (usually with the cd command) Run: bun boopinator.ts and it *should* start going! Optional 9. You can replace the URLs at the top of the file with the URLs of the people you wanna boop. The script will choose between them at random every time it boops somebody, which is about once per second.
🎉 CONGRATULATIONS you have started the boopbeam! It should now run forever, assuming Tumblr doesn't cut you off. They will eventually, your cookie will expire, but that should be good for about 1000 boops. Occasionally you'll get hit with a 429 error; the script will recover from that automatically, but any other error will cause it to stop in its tracks and wait for you to restart it. An authorization error, for example, means you need to grab those three values again (see step 7).
If you have any questions, my DMs should be open? Or just reblog this post with your question and I'll clarify as much as I can.
15 notes · View notes
pathfinderunlocked · 1 year ago
Text
Traptrix Allomerus - CR7 Monstrous Humanoid
A creature based on a Yu-Gi-Oh! card of the same name.
Tumblr media
Artwork is official art from Yugioh, copyright Konami.
Traptrix creatures in Yugioh are vicious predatory insects or plants that take the form of attractive young humanoids to lure in humanoid prey as a trick, and trap them. This particular one, the traptrix allomerus, is based on a type of South American ant.
Allomerus ants in real life are microscopic. They burrow inside of plant stems and leaves, then work as a hive colony to move the plant's leaves and grab much larger insects that land on the plant to feed. After trapping and crushing these much larger insects, the ant colony feasts on them.
Adapting this concept to a humanoid monster that can lure adventurers instead of insects, and meld with plants supernaturally, seems perfect for a random encounter the players run into while traveling in some kind of wilderness adventure, whether that's in the feywild or just a fantasy jungle.
I previously released the Traptrix Myrmeleo, which is also from Yugioh.
Traptrix Allomerus - CR 7
The attractive humanoid creature is draped in fine clothing and wearing a large amount of jewelry made of black stone, with precious metals and gems. Tattoos cover the backs of the person's arms and legs. On closer inspection, hidden among the hair ornaments, barbed pincers like those of an ant are coming out of the top of the creature's head like horns.
XP 3,200 NE Medium monstrous humanoid Init +7 Senses darkvision 60 ft.; Perception +15 (+20 vs. traps)
DEFENSE
AC 20, touch 14, flat-footed 16 (+2 armor, +3 Dex, +1 dodge, +4 natural) hp 82 (11d10+22) Fort +5, Ref +10, Will +11 Defensive Abilities weed warded
OFFENSE
Speed 30 ft. Melee unarmed +11/+6/+1 (1d3 nonlethal) Melee (while melded) 2 vines +11 (1d6 damage) Space 5 ft.; Reach 5 ft. (20 ft. with vines while melded) Special Attacks constrict (1d8; with vines only) countertrap, infest plant, plant meld, plant-melded vines, sneak attack 2d6, sneak constrict
Spell-like Abilities (CL 4rd; concentration +6)     3/day—sickening entanglement (DC 17)     1/day—speak with plants, summon (level 4; giant ant queen, great assassin bug, or 2 giant wasps; 100%)
STATISTICS
Str 10, Dex 16, Con 14, Int 12, Wis 18, Cha 18 Base Atk +11; CMB +14 (+16 grapple); CMD 25 (27 vs. grapple) Feats Agile Maneuvers, Armor Focus (haramaki), Dodge, Improved Grapple, Improved Initiative, Spell Focus (conjuration) Skills Bluff +22, Disguise +10, Disable Device +14, Knowledge (nature) +8, Perception +15 (+20 vs. traps), Sleight of Hand +5, Survival +13, Stealth +15; Racial Bonus +8 Bluff, +4 Perception Languages Common, Sylvan Gear haramaki SQ trapfinding
SPECIAL ABILITIES
Infest Plant (Su) Twice per day, as an immediate action when a traptrix allomerus reduces a the hit points of a plant creature within its reach to 0 or lower, or as a standard action while the traptrix allomerus is within reach of a living plant creature with 0 or fewer hit points or a slain plant creature that died within the last round, the traptrix allomerus can infest that plant creature. If the plant creature is still alive, it gains a Fortitude saving throw to negate this effect; if it's dead, it returns to life and gets no save.
A plant creature infested in this way is healed to 50% HP, and its max HP is reduced to that number. It becomes permanently sickened and staggered. It gains a telepathic link with the traptrix allomerus, and is placed under the complete telepathic control of the traptrix allomerus, following the traptrix allomerus's telepathic commands to the best of its ability. This control lasts for 1 day per hit die of the traptrix allomerus (usually 11 days), after which the plant creature dies.
Countertrap (Su) Once per day, as a standard action, a traptrix allomerus can attempt to disable a trap using Disable Device.  If this attempt is successful, the traptrix allomerus can choose to either refill one of its daily uses of the sickening entanglement spell-like ability (if it’s spent), or cast sickening entanglement as a spell-like ability as an immediate action without expending its daily use.
Plant Meld (Su) A traptrix allomerus can meld with any plant large enough for it to fit inside, similar to how the spell meld into stone functions, except that it can see out of the plant and can attack with its vine attacks (see the Plant-Melded Vines ability below). It can remain melded with a plant as long as it wishes.
Plant-Melded Vines (Su) While melded with a plant, a traptrix allomerus gains 2 vine attacks with a 20 ft. reach, and gains the constrict universal monster ability, dealing 1d8 damage on a successful grapple attempt. These vine attacks deal 1d6 damage and can be used to make grapple attempts. As a full-round action, while melded into a plant, the traptrix allomerus can make two grapple attempts against a creature within its reach, one with each vine that isn't already in use.
If the traptrix allomerus succeeds on a grapple attempt with one of its vines against a creature that is already grappled by its other vine, that creature becomes entangled in place and cannot move, and remains so even if the traptrix allomerus releases the grapple and exits the plant. A target entangled in this way can make a CMB or Escape Artist check as a standard action to attempt to free itself on its turn, with a DC equal to the traptrix allomerus's grapple CMB +10 (typically +26).
If the traptrix allomerus entangles a creature with these vine attacks, then releases the grapple and exits the plant it was melded with, thereafter, as a swift action, the traptrix allomerus can command the plant to deal 1d8 constrict damage to the entangled target as if it were still grappled, for as long as the target remains entangled and the traptrix allomerus is within 30 ft. of both the target and the plant.
Sneak Constrict (Ex) When a traptrix allomerus deals constrict damage with its Plant-Melded Vines ability against an opponent that is denied its dexterity bonus to AC or is flanked, including being flanked by the traptrix allomerus on one side and the plant that is entangling and constricting the target with its Plant-Melded Vines on the other side, it can add its sneak attack dice to the constrict damage.
Trapfinding (Ex) A traptrix allomerus adds ½ its hit dice to Perception checks to locate traps and to Disable Device checks.  It can use Disable Device to disarm magic traps.  These bonuses are already included in its statistics.
Weed Warded (Ex) A traptrix allomerus is immune to the effects of its own sickening entanglement spell, as well as to the harmful effects of any plant-based spell or effect cast by itself or its allies, and to the harmful effects of natural plants. It ignores all plant-based difficult terrain, even if supernaturally created by an enemy.
Against other plant-based effects caused by enemies, and against attacks by plant creatures, it gains the effect of sanctuary (DC 15). Unless the attacker is a plant creature, this sanctuary effect only wards against plant-based effects; affected enemies may still attack the traptrix allomerus with other attacks even after failing their saving throw against sanctuary.
8 notes · View notes
ryan-nugenthopkins · 10 months ago
Note
gamer au. you have thoughts i know this
(cheerful evil clapping) It's LCS Time Babey
The OEG team usernames are, top to bot: SoaR (in honour of Hyman's actual esport org); Nugget or Patience (his hockey nickname or as a nod to his horse); cmd (people say it as "command," but no, it's just his initials); drat (good work buddy); Butcher (it was initially Bomber ie Bouch Bomb, but no, Riot got really upset over that for some reason)
cmd is close to some of the LCS "old guard" - Bjergsen, Doublelift, Meteos, Sneaky, etc. Part of it is probably a "pity adopt" in the sense of this poor kid with all the weight of NA on his shoulders, but also I think real recognises real, you know. He's absolutely terrible on the co-streams, but it's funny, so they keep inviting him.
drat would probably a pretty distinctive German accent compared to NHL player Draisaitl. He probably would've been playing in the ERLs instead of NA Academy, so it's not as if he'd have the time to develop a Canadian affect.
OEG keeps their Academy/NACL slot because I said so. Everyone who was on that team got TRADED, so I'm happy that OEG has such a robust development system and everyone got signed onto real LCS rosters. I'm coping.
This team is a nightmare for their content department. The videographer is trying to make any of these idiots emote for the hype video. Their GM keeps shooting down the content producer's ideas for being "cringe" and taking too much time from scrims. The social media manager is fistfighting partnerships and legal at the same time because SOMEONE forgot that drat had some niche artisanal energy drink sponsorship that's technically a conflict with their Red Bull partnership and now the hot new import can't be in any of the goddamn deliverables and his representation back in Berlin isn't answering their fucking emails, the BASTARDS -
2 notes · View notes
justicegundam82 · 1 year ago
Text
D&D 3.5 to PF1e Conversion: Beholderkin, Hive Mother
And this, folks, should be my final beholderkin conversion for a while. I won't dismiss the possibility of one day doing some of the less known creatures from this grouping, like the Observer or the Gorbel, but I feel I should try my hand at somehing else for now.
In the meanwhile, I hope you enjoy my latest work - which is indeed my highest CR creature as of yet.
Also, I should say that this conversion takes several pounters from the beholder conversion by The Creature Codex. Check it out if you're interested, she's definitely my better when it comes to converting! XD
BEHOLDERKIN, HIVE MOTHER
Tumblr media
Image (c) Mannix "Dragonix" Manansala from "Monster Manual Expanded", Version 2.00; author Ruben De Vela
This massive spheroid abomination is covered in spiny, razor-sharp plates of chitin and bone. It has a cavernous mouth filled with hideous rows of swordlike teeth, and a single, huge eye glares hatefully just above the mouth. Several smaller eyes, each topping a snakelike stalk, orderly crown the creature’s top.
HIVE MOTHER           CR 21
XP 409’600
LE Huge Aberration (beholderkin) 
Init +7; Senses all-around vision, darkvision 120 ft.; Perception +40
DEFENSE
AC 36, touch 12, flat-footed 32 (+3 Dex, +1 dodge, +24 natural, -2 size)
hp 403 (26d8+286) 
Fort +20, Ref +13, Will +22
Damage Reduction 10 / -
Defensive Qualities legendary resistance
OFFENSE
Speed 10 ft., fly 40 ft. (good)
Melee bite +25 (6d6+13 plus grab)
Ranged 4 eye rays +20 touch (effect varies)
Special Attacks antimagic cone, elemental beam, eye rays, fast swallow, snap shot, swallow whole (4d6+13 bludgeoning damage, AC 22, 40 hp)
Spell-like Abilities (CL 21st, concentration +29, can only be cast when antimagic cone is not active)
     At will – detect magic, detect thoughts (DC 20), see invisibility
     3/day – banishment, scrying (DC 22)
     1/day – horrid wilting (DC 26), power word stun, wall of force
STATISTICS
Str 29, Dex 16, Con 30, Int 27, Wis 25, Cha 26
Base Atk +18; CMB +29 (+37 grapple); CMD 50 (cannot be tripped)
Feats Ability Focus (command beholder), Alertness (B), Combat Expertise, Defensive Combat Training, Disjunction Ray*, Dodge, Flyby Attack, Focused Antimagic*, Great Fortitude, Improved Initiative, Lightning Reflexes, Toughness, Vital Strike, Weapon Focus (ray)
Skills Acrobatics +21, Bluff +31, Fly +31, Intimidate +36, Knowledge (arcana) +36, Knowledge (dungeoneering) +31, Knowledge (planes) +31, Linguistics +20, Perception +40, Sense Motive +31, Spellcraft +31, Stealth +23, Survival +28; Racial Modifiers +8 Perception
Languages Aklo, Beholder, Common, Infernal, 12 more languages
Special Qualities naturally buoyant, telekinetic focus
ECOLOGY
Environment any land or underground
Organization solitary, hive (1 hive mother plus 3-6 beholders plus 2-4 directors), or city (1 hive mother plus 1-3 overseers plus 10-20 beholders plus 3-10 directors and 20-40 slaves, usually bugbears, gnolls, ogres, or minotaurs)
Treasure triple standard
SPECIAL ABILITIES
Antimagic Cone (Su) An hive mother’s central eye emits antimagic, as an antimagic field, in a 240 foot cone. It may open or close its central eye as a free action.
Command Beholder (Su): An hive mother can use dominate monster at will as a spell-like ability (caster level 21st), but only against beholders and creatures with the beholderkin subtype. Any such creature can resist this effect with a Will saving throw (DC 33). The save DC is Charisma-based. This is the equivalent of a 9th-level spell. Other hive mothers are immune to this ability.
The maximum number of beholders and beholderkin an hive mother can command at one time equals its full Hit Dice plus its Charisma modifier. Thus, the average hive mother can command up to 34 beholders or beholderkin at a time.
If an hive mother loses control of a dominated beholder (as is the case if a dominated beholder is in the antimagic cone of another beholder), the hive mother can immediately sense the loss of control and knows the position and distance to the beholder at the time control was lost. If control does not return within a few rounds, the hive mother seeks out the rogue beholder to investigate and possibly punish it.
Elemental Beam (Su) Each round, an hive mother can substitute up to two of its eye rays with a blast of elemental energy. Treat this as a ranged touch attack with a range of 120 feet and no range increment. A creature struck by an elemental beam takes 15d6 points of acid, cold, electricity, fire or sonic damage. The hive mother can choose the type of damage for each beam, but cannot choose to use the same elemental beam two rounds in a row.
Eye Rays (Su) An hive mother can fire four eye rays as a standard action each round. Treat these as ranged touch attacks with a range of 120 feet and no range increment. An hive mother cannot choose to use the same eye ray two rounds in a row. A creature struck is affected by a spell at CL 21st, except that it only effects the target struck. The save DC, when applicable, is Charisma based.
charm monster (Will DC 31 negates)
disintegrate (Fort DC 31 partial)
enervation (no save)
fear (Will DC 31 partial)
finger of death (Fort DC 31 partial)
flesh to stone (Fort DC 31 negates)
hold monster (Will DC 31 negates)
sleep (no HD cap, Will DC 31 negates)
slow (Will DC 31 negates)
telekinesis (Will DC 31 negates)
Legendary Resistance (Ex) Once per day as an immediate action, when an hive mother fails a saving throw, it can choose to succeed instead.
Naturally Buoyant (Ex) An hive mother’s body is naturally buoyant. This buoyancy allows it to fly at a speed of 40 ft. with good maneuvrability and grants it a permanent feather fall effect (as the spell) with personal range.
Snap Shot (Ex) An hive mother can fire an eye ray once per round as an immediate action. Roll randomly (1d10) to determine what ray is fired.An hive mother can use the same ray twice in a round, or the same ray two rounds in a row, in this manner.
Swallow Whole (Ex) An hive mother can only swallow a creature two or more size categories smaller than itself.
Telekinetic Focus (Su) An hive mother can concentrate on its telekinesis ray as a swift action. When it does so, it can make fine manipulations, like turning a doorknob or writing with a pen. Any turn that an hive mother concentrates in this manner, it can only fire three eye rays as a standard action, and its snap shot cannot fire a telekinesis ray.
(An asterisk indicated a new feat, see below)
The hive mother, also known as “ultimate tyrant”, is considered the pinnacle of beholderkind. Towering both physically and intellectually over its lesser kin, an hive mother rules over monstrous hive-cities composed of numerous lesser beholderkin, kept in thrall and forced to cooperate instead of fighting each other. They rule such cities with ruthless efficiency, stamping out any dissent and driving their subjects to depopulate surrounding areas and expand their territory, their ambition never satisfied until they have established themselves as the ruling power in an entire country. Such control can be either subtle or direct, but one thing is for certain – an hive mother brooks no rival to its dominance. Thankfully, beholder hive mothers are extremely rare, with no single planet having ever hosted more than ten in recorded memory.
Hive mothers prefer to let their minions do the fighting. However, when they are actually drawn into combat, they enjoy approaching into melee range to eat unworthy foes alive. More serious opponents are instead treated to the full array of the hive mother’s arcane might, which adds withering beams of elemental energy and powerful spell-like abilities to a beholder’s already impressive magical effects. Hive mothers have a finer control over their antimagic ray with respect to other beholders, and they often concentrate its effects on a magically apt opponent while bombarding other enemies with their eye beams.
An hive mother is much larger than a typical beholder, measuring about 12 feet across and weighing about 15'000 pounds. Despite their nomenclature, hive mothers are asexual just like typical members of their species.  
NEW FEATS
These feats were taken from the 3.5 manual Lords of Madness, where they were created as new feats for beholderkin.
DISJUNCTION RAY
A beholder with this feat can narrow its antimagic cone down to an eye ray that disjoins magic. Prerequisite: Cha 19, Focused Antimagic, beholder with functional antimagic ability. Benefit: As a standard action, the creature can reduce the cone-shaped area of effect of its central eye's antimagic cone down to a razor-thin eye ray. If the creature hits a magical effect or magic item with this narrowed eye ray, it disjoins the effect or item as if it had cast mage’s disjunction on the effect or item. Artifacts cannot be affected by this feat.
FOCUSED ANTIMAGIC
A beholder with this feat can focus the antimagic of its central eye to target a single person or object. Prerequisite: Beholder with functional antimagic ability. Benefit: The creature can reduce the cone-shaped area of effect of its central eye to target a single creature or object. The target must be within range of its normal cone-shaped effect. The creature’s antimagic cone is not considered active when making use of this feat.
2 notes · View notes
bylrndgm · 2 years ago
Note
Hey elz! Would you consider doing a tutorial of how you did the frame thing in this post: /post/724195624728379392/and-it-felt-so-nice-so-peaceful-and? It looks so cool!
hi anon! thank you for reaching out. i really appreciate it & you made my day! 💚 ily!!! for length reasons, you'll find the tutorial under the cut!
Resources used:
Photoshop
Vintage flowers pngs -> you can either google vintage/watercolor flower png or here are some DeviantArt packages [x] [x] [x]
Font: Avenir
Workflow
After you have made your gif as you would normally do, it's time for the frame.
First: place the flower
Once you got your flower pngs it's time to place them on your gif. Go on File > Place Embedded... and select the file. This is what will happen.
Tumblr media
Now, click on that little tick (✓) on the top right corner, so that your image is actually placed.
Press the shortcut CTRL+T (on Mac: Command+T) to open the transform options - basically it is the same as the photo above. I tend to do it this way, because if I don't like the adjustments, I click on the ⊘ button. If you did that when you placed the image, it would delete the image.
So now, move the image, resize it using the handles on its corners while pressing shift on your keyboard to maintain the proportions.
Once you get a result that satisfies you, click on this button (highlighted in purple)
Tumblr media
Now you can wrap the png, and make it "fuller", more natural looking, moving the intersection points of the grid that will pop up
Tumblr media
When you're done, confirm.
Now that you placed your png, you can manipulate the colors. Click on the png layer and press CTRL+U (Command+U) and in this case you would adjust the Reds and Yellows.
Tumblr media
And you're done!!!!
Second: the border
To make the border use the Rectangle Tool (shortcut: U). On the menu bar on top, set the fill as transparent and the stroke as white
Tumblr media
Then drag your mouse and create the rectangle
Tumblr media
Then of course, adjust it if needed - by clicking on the rectangle layer, the properties panel will open (if not, go on Window and check Properties).
Now duplicate the layer (CTRL/CMD+J) and make the original rectangle invisible by clicking on the eye next to it.
Right click on the copy and rasterize the layer -> this rasterized layer will be the one you'll work on (you keep the original one as a safe harbor in case you don't like the changes made on the copy).
Tumblr media
Now, with the copy selected, pick the Eraser tool (E), reduce the opacity of the layer and zoom in, and erase the parts of the rectangle that goes over the flower. When you're done, set the opacity back to 100%.
Tumblr media
Third: add the text
And that is literally it! Super simple and quick to make, and of course you can add as many pngs as you want to create somewhat of a bouquet. The real game changer is the Wrap thing you do to make it more natural, like a real bouquet!!!!
I hope this was helpful and if you have some further questions please please reach out! Love u!!!
E.
2 notes · View notes
fromdevcom · 8 days ago
Text
Reopen Closed Tabs: Chrome's Quick Fix Accidentally closing critically important tabs in Google Chrome can‌ be frustrating, especially when you’re in the middle of research or reading. ⁤Fortunately, Google Chrome offers several straightforward methods ‌to restore recently closed tabs quickly. Whether you’re a beginner or a seasoned tech user, ⁢this article will ‌walk you through multiple ways to ⁣recover your⁤ lost tabs efficiently. Step-by-Step Guide to Restore Recently ⁣Closed Tabs in Google Chrome Method⁢ 1: Using Keyboard‍ Shortcuts this is the fastest method to reopen a recently closed tab in Chrome. Open your Google Chrome browser. Press Ctrl​ + Shift + ​T (Windows/Linux) or Command + Shift + ‍T (mac) on your keyboard. The⁢ last closed tab will reopen instantly. Repeat the shortcut multiple times to open‌ tabs⁣ closed earlier in sequence. Tip: This shortcut works even after closing and reopening Chrome,provided ⁢that your browsing history is available. Method 2: Using Chrome’s Tab Context ‍Menu If you prefer using your mouse or touchpad, ⁣follow these steps. Right-click on an empty space in the tab⁣ bar (the area next ‌to your open‍ tabs). From the ⁤context ⁣menu that appears, select​ “Reopen closed tab”. The last closed ‍tab will reopen instantly. This method is handy‌ if you wont​ to reopen only the most recently closed tab without using the keyboard. method 3:⁣ Restoring Tabs from Chrome History If the tab‍ you want to restore isn’t the last one you closed, you can find it in your Chrome browsing history. Click the three vertical dots in the ​upper-right ‌corner of Chrome to open the menu. Select History > then click History ‍again from the submenu. You will ⁣see⁤ a list of recently visited websites ⁤sorted ⁤by time. Browse or search ​for the website ⁤you want ‌to ⁣restore using the search bar. Click on the desired link ⁤to reopen that ‌webpage in a new tab. Tip: Use ⁣ Ctrl + H (Windows/Linux) or ​ Command + Y (Mac) to quickly access Chrome History. If you have Chrome syncing enabled across devices,you ⁣can also see​ tabs closed on⁣ other devices hear. Method ‍4:‌ Using⁣ the “Recently Closed” section in New Tab⁣ Page Open a new tab ‌in Chrome (click the + icon ‌or press​ Ctrl ⁣+ T / Command + T). Scroll down to the “Recently Closed” section on the new tab page. Click any of the listed tabs to reopen them quickly. This feature depends on your Chrome ​version and might not be‌ visible in all cases. Method 5: Using Chrome’s Tab ​Manager (Tab Search) Click the small downward arrow icon or tab-search ⁢icon at the top right corner of⁣ Chrome’s tab bar. In the‌ drop-down panel, scroll ⁣to the Recently closed section. Click on⁤ any closed⁤ tab to reopen‌ it. This tool helps manage and⁤ track tabs easily when you have multiple⁢ tabs open. Additional Tips and Warnings Enable Chrome ‌Sync: To keep your browsing data safe and accessible ‌across devices, enable Chrome Sync. This helps restore tabs from other devices ‌if available. Private⁣ Browsing: Tabs closed in Incognito mode are ​not saved in ⁤history, so you ​cannot restore them​ using these ⁤methods. Session Managers: Consider using Chrome extensions like Session Buddy for advanced tab⁣ recovery and session management. Clear Browsing ⁣Data‌ Warning: Avoid clearing your browsing history until you’ve recovered closed tabs, as this action removes data needed for ‍restoration. Summary⁢ Table of⁤ Restoration Methods Method How to Access Best for Limitations Keyboard Shortcut Ctrl +⁤ Shift + T (Cmd + Shift⁢ + T on Mac) Quick reopening of last ‌closed tabs Only reopens recently⁣ closed ​tabs sequentially Tab Bar right-Click⁣ Menu Right-click ​empty area in tab bar → Reopen closed tab Mouse ⁣users reopening last closed‌ tab Single tab at a ‍time Chrome History Menu → History or Ctrl + H Searching older closed tabs Requires browsing history enabled new Tab Page New Tab → Recently Closed Section
Quick access to recently closed tabs May⁢ not be available in all Chrome ⁣versions Tab⁤ Manager (Tab Search) Tab ‍Search icon → Recently Closed list Managing ‍multiple tabs and restoring closed ones Dependent on Chrome ⁣version⁢ and device Final Thoughts Restoring recently closed tabs in Google Chrome is simple⁤ and convenient‌ using ⁢various ‍in-built tools‌ and shortcuts. By mastering these methods, ‍you ⁢can quickly recover your browsing sessions⁤ without losing critically important information. Remember to enable Chrome‌ Sync‍ and avoid​ clearing your history prematurely to maximize your tab restoration options. With these tips, you’ll never worry about accidentally closing a tab⁢ again!
0 notes
webwhatsappp · 17 days ago
Text
Web WhatsApp: Your Desktop Command Center
Let's be real, constantly grabbing your phone for WhatsApp messages when you're on your computer is a vibe killer. Enter Web WhatsApp – your ultimate desktop chat buddy. It mirrors your phone, but gives you keyboard freedom, easy file sharing, and so much more.
Ready to make it work harder for you? Here are the essentials:
First Up: Getting Connected
Super simple, promise!
Hit up web.whatsapp.com in your browser.
On your phone: Open WhatsApp > Settings (iPhone) or More Options (Android, the three dots) > Linked Devices.
Tap "Link a Device" and scan that QR code on your computer screen. ✨ Boom! Connected.
🚀 Level Up Your Chat Game
Keyboard Shortcut Magic: This is HUGE. Speed up EVERYTHING.
Ctrl/Cmd + N: New chat
Ctrl/Cmd + F: Search chat
...and tons more! Learn 'em, live 'em.
Declutter & Conquer: Keep your chat list zen.
Pin Important Chats: Right-click a chat > "Pin chat." Your faves stay on top.
Archive Oldies: Clear out the clutter without deleting history.
Mute Annoying Groups: Silence those notification storms (right-click, choose mute options). Your sanity will thank you.
File Sharing, Made Easy: Forget emailing yourself!
Drag & Drop: Seriously, just drag any file from your desktop right into the chat. Done.
Or hit the paperclip icon for attachments like photos, docs, contacts.
Custom Notifications: Control the chaos. Go to Settings > Notifications to turn off sounds or desktop pop-ups if they're too much.
Multi-Device Freedom: The BEST update! Your phone can be off or offline, and Web WhatsApp still works. True independence!
Stay Secure (Seriously!):
ALWAYS Log Out: Especially on shared/public computers. Go to the three dots above your chats > "Log out."
Check Linked Devices: Periodically peek at this section on your phone to make sure only your devices are connected. Unlink anything suspicious immediately!
Web WhatsApp transforms your desktop into a powerful communication hub. Give these tips a try and tell us your favorite Web WhatsApp hack in the reblogs!
0 notes
articalizeblog · 2 months ago
Text
Getting Started with C Sharp Programming in Visual Studio
Tumblr media
Introduction to C Sharp Programmin
C Sharp (C#) is a moder, object-oriented programming language develope by Microsoft that runs on the .NET framework. It is widel\y used to develop various types of applications, including web, desktop, mobile, and console applications. Understanding the basics of C# programming is essential for software development beginners as well as professionals aiming to expand their programming skills. This article provides a comprehensive introduction to C# programming, covering essential concepts such as setting up projects, understanding console applications, namespaces, classes, and methods.
Setting Up a C Sharp Project in Visual Studio
Visual Studio is a popular integrated development environment (IDE) for developing C# applications. To create a new C# project, follow these basic steps:
Open Visual Studio.
Navigate to File > New > Project.
Select the C# programming language, and under project types, choose “Console Application.”
Name your project (e.g., “IntroductionToCSharp”) and choose a location to save it.
Click “OK” to create the project.
This process sets up a simple console-based application project where you can write and run your C# code.
Understanding Console Applications
A console application is a program that runs in a command-line interface or text-based environment, such as the Command Prompt on Windows. Console applications typically accept text input and output textual information. In C#, console applications are straightforward to create and are a great starting point for understanding the language basics.
To access the console window on Windows, press “Start,” then “Run,” and type “cmd” or “command.” This opens the command prompt where your console applications will display output or receive input.
Writing Your First Console Output Program
A minimal C# console program prints messages to the console window. For instance, writing “Welcome to C# Training” on the screen can be done in just a few lines of code. After setting up a new console project in Visual Studio, you can edit your program with the essential code to display a message.
Here’s an example snippet within the main method:
```csharp
Console.WriteLine("Welcome to C# Training");
```
Running this program (via Ctrl + F5 or running without debugging) prints the message on the console screen, waits for a key press, and then terminates.
Explaining the Role of the Console Class and WriteLine Method
The .NET framework provides the Console class as a tool to interact with the console window—allowing reading input and outputting messages. The WriteLine method of this class prints a line of text and moves the cursor to the next line.
The Console class is part of the System namespace within the .NET framework. This means that to use Console.WriteLine without fully specifying its path, you need to inform your program about the System namespace.
Introduction to Namespaces and Their Importance
Namespaces in C# help organize code logically by grouping classes, interfaces, structures, enumerations, and delegates under a single name. Think of a namespace as a container that prevents naming conflicts and helps manage a large codebase effectively.
For example, the Console class resides within the System namespace. Without referencing this namespace, C# would not recognize the Console class, leading to errors.
How Namespace Declarations Work in C Sharp
To inform the compiler that you want to make use of classes inside a particular namespace, you use the “using” directive at the top of your code file. For example:
```csharp
using System;
```
This declaration allows you to use classes like Console directly, without qualifying them with their full namespace path. If you omit this declaration, you would need to use the fully qualified name like:
```csharp
System.Console.WriteLine("Welcome to C# Training");
```
Using the namespace declaration makes code cleaner and easier to write, especially when multiple references to classes within that namespace are used.
Detailed Look at the System Namespace
The System namespace is a cornerstone in the .NET framework. It contains many essential classes and types such as:
Console – for console input/output operations.
Activator – to create instances of types at runtime.
Action – representing delegates used to point to methods.
Other namespaces – interestingly, namespaces can contain other nested namespaces, allowing for hierarchical and organized code structures.
This hierarchical design helps manage complex applications by distributing functionality across related namespaces and types.
The Concept of Fully Qualified Names vs Namespace Declarations
When using a class without a “using” directive, you must write its full path, known as the fully qualified name (FQN). For example:
```csharp
System.Console.WriteLine("Hello World");
```
Though this is always valid, it becomes cumbersome with frequent references. Thus, it’s common practice to import namespaces using “using” declarations at the start of your file, enabling direct use of the class name:
```csharp
Console.WriteLine("Hello World");
```
This approach enhances readability and reduces repetitive code.
Understanding the Structure of a C Sharp Program
A basic C# program comprises several key components:
Namespace Declaration – defines the broader scope or usage of types from a library or project.
Class Definitions – container for methods and data, which logically group related code.
Methods – blocks of code that perform actions or computations.
Every C# program must have a Main method because it is the designated entry point where execution begins.
The Role of Classes in Organizing Code
In C#, all executable statements must reside in a class or struct. Classes serve as blueprints for objects that encapsulate data and behavior. Even the Main method, which executes first when a C# program runs, resides inside a class.
Generally, a program contains one or multiple classes, each responsible for specific responsibilities or features. The class containing the Main method acts as the starting point for the application.
Overview of Methods and the Main Method as the Entry Point
Methods in C# are functions associated with classes, responsible for tasks or operations. Among all methods, Main is special because it serves as the entry point during program execution.
The Main method is typically defined with static modifiers, meaning it can be called without creating an instance of the class:
```csharp
static void Main(string[] args)
{
// program execution starts here
}
```
When the program runs, execution begins inside the Main method and follows its statements sequentially.
Demonstrating Program Execution Starting from the Main Method
To show the role of Main in program flow, consider this example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
}
}
```
When this program runs, it starts with the Main method. It executes the Console.WriteLine statement, displaying the welcome message, then ends execution.
If you define other methods but don’t call them from Main or another invoked method, those methods are never executed.
Calling Additional Methods from Main for Extended Functionality
To execute additional functionality, Main can call other methods defined in the class. For example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
TrainingOne();
}
static void TrainingOne()
{
Console.WriteLine("This is training session one.");
}
}
```
In this scenario, program execution starts in Main, prints the first message, calls TrainingOne, which prints the second message, and then returns to conclude Main. The console output shows both messages.
This pattern illustrates how the Main method orchestrates program flow by invoking other methods in sequence.
Summarizing the Basic Building Blocks of a C Sharp Program
To summarize, a fundamental C# console application contains:
A namespace declaration (e.g., using System;) for accessing library classes.
A class to contain methods (e.g., class Program).
A Main method marking the application's entry point.
Usage of the Console.WriteLine method for output to the console.
These components together create a functional C# program capable of executing instructions and interacting with users through the console window.
Additional Resources for Learning C Sharp
For further learning, consider exploring:
Official Microsoft Documentation for C# and .NET Framework.
Online tutorials and video courses on platforms such as Microsoft Learn, Pluralsight, or Udemy.
Practice coding problems on sites like HackerRank or LeetCode with focus on C#.
Books such as “C# 9.0 in a Nutshell” by Joseph Albahari.
Community forums like Stack Overflow and GitHub repositories for sample projects.
These resources can deepen your understanding of C# programming concepts and advance your expertise in building diverse applications.
0 notes
technology29 · 2 months ago
Text
Getting Started with C Sharp Programming in Visual Studio
Tumblr media
Introduction to C Sharp Programming
C Sharp (C#) is a modern, object-oriented programming language develope by Microsoft that runs on the .NET framework. It is widel\y used to develop various types of applications, including web, desktop, mobile, and console applications. Understanding the basics of C# programming is essential for software development beginners as well as professionals aiming to expand their programming skills. This article provides a comprehensive introduction to C# programming, covering essential concepts such as setting up projects, understanding console applications, namespaces, classes, and methods.
Setting Up a C Sharp Project in Visual Studio
Visual Studio is a popular integrated development environment (IDE) for developing C# applications. To create a new C# project, follow these basic steps:
Open Visual Studio.
Navigate to File > New > Project.
Select the C# programming language, and under project types, choose “Console Application.”
Name your project (e.g., “IntroductionToCSharp”) and choose a location to save it.
Click “OK” to create the project.
This process sets up a simple console-based application project where you can write and run your C# code.
Understanding Console Applications
A console application is a program that runs in a command-line interface or text-based environment, such as the Command Prompt on Windows. Console applications typically accept text input and output textual information. In C#, console applications are straightforward to create and are a great starting point for understanding the language basics.
To access the console window on Windows, press “Start,” then “Run,” and type “cmd” or “command.” This opens the command prompt where your console applications will display output or receive input.
Writing Your First Console Output Program
A minimal C# console program prints messages to the console window. For instance, writing “Welcome to C# Training” on the screen can be done in just a few lines of code. After setting up a new console project in Visual Studio, you can edit your program with the essential code to display a message.
Here’s an example snippet within the main method:
```csharp
Console.WriteLine("Welcome to C# Training");
```
Running this program (via Ctrl + F5 or running without debugging) prints the message on the console screen, waits for a key press, and then terminates.
Explaining the Role of the Console Class and WriteLine Method
The .NET framework provides the Console class as a tool to interact with the console window—allowing reading input and outputting messages. The WriteLine method of this class prints a line of text and moves the cursor to the next line.
The Console class is part of the System namespace within the .NET framework. This means that to use Console.WriteLine without fully specifying its path, you need to inform your program about the System namespace.
Introduction to Namespaces and Their Importance
Namespaces in C# help organize code logically by grouping classes, interfaces, structures, enumerations, and delegates under a single name. Think of a namespace as a container that prevents naming conflicts and helps manage a large codebase effectively.
For example, the Console class resides within the System namespace. Without referencing this namespace, C# would not recognize the Console class, leading to errors.
How Namespace Declarations Work in C Sharp
To inform the compiler that you want to make use of classes inside a particular namespace, you use the “using” directive at the top of your code file. For example:
```csharp
using System;
```
This declaration allows you to use classes like Console directly, without qualifying them with their full namespace path. If you omit this declaration, you would need to use the fully qualified name like:
```csharp
System.Console.WriteLine("Welcome to C# Training");
```
Using the namespace declaration makes code cleaner and easier to write, especially when multiple references to classes within that namespace are used.
Detailed Look at the System Namespace
The System namespace is a cornerstone in the .NET framework. It contains many essential classes and types such as:
Console – for console input/output operations.
Activator – to create instances of types at runtime.
Action – representing delegates used to point to methods.
Other namespaces – interestingly, namespaces can contain other nested namespaces, allowing for hierarchical and organized code structures.
This hierarchical design helps manage complex applications by distributing functionality across related namespaces and types.
The Concept of Fully Qualified Names vs Namespace Declarations
When using a class without a “using” directive, you must write its full path, known as the fully qualified name (FQN). For example:
```csharp
System.Console.WriteLine("Hello World");
```
Though this is always valid, it becomes cumbersome with frequent references. Thus, it’s common practice to import namespaces using “using” declarations at the start of your file, enabling direct use of the class name:
```csharp
Console.WriteLine("Hello World");
```
This approach enhances readability and reduces repetitive code.
Understanding the Structure of a C Sharp Program
A basic C# program comprises several key components:
Namespace Declaration – defines the broader scope or usage of types from a library or project.
Class Definitions – container for methods and data, which logically group related code.
Methods – blocks of code that perform actions or computations.
Every C# program must have a Main method because it is the designated entry point where execution begins.
The Role of Classes in Organizing Code
In C#, all executable statements must reside in a class or struct. Classes serve as blueprints for objects that encapsulate data and behavior. Even the Main method, which executes first when a C# program runs, resides inside a class.
Generally, a program contains one or multiple classes, each responsible for specific responsibilities or features. The class containing the Main method acts as the starting point for the application.
Overview of Methods and the Main Method as the Entry Point
Methods in C# are functions associated with classes, responsible for tasks or operations. Among all methods, Main is special because it serves as the entry point during program execution.
The Main method is typically defined with static modifiers, meaning it can be called without creating an instance of the class:
```csharp
static void Main(string[] args)
{
// program execution starts here
}
```
When the program runs, execution begins inside the Main method and follows its statements sequentially.
Demonstrating Program Execution Starting from the Main Method
To show the role of Main in program flow, consider this example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
}
}
```
When this program runs, it starts with the Main method. It executes the Console.WriteLine statement, displaying the welcome message, then ends execution.
If you define other methods but don’t call them from Main or another invoked method, those methods are never executed.
Calling Additional Methods from Main for Extended Functionality
To execute additional functionality, Main can call other methods defined in the class. For example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
TrainingOne();
}
static void TrainingOne()
{
Console.WriteLine("This is training session one.");
}
}
```
In this scenario, program execution starts in Main, prints the first message, calls TrainingOne, which prints the second message, and then returns to conclude Main. The console output shows both messages.
This pattern illustrates how the Main method orchestrates program flow by invoking other methods in sequence.
Summarizing the Basic Building Blocks of a C Sharp Program
To summarize, a fundamental C# console application contains:
A namespace declaration (e.g., using System;) for accessing library classes.
A class to contain methods (e.g., class Program).
A Main method marking the application's entry point.
Usage of the Console.WriteLine method for output to the console.
These components together create a functional C# program capable of executing instructions and interacting with users through the console window.
Additional Resources for Learning C Sharp
For further learning, consider exploring:
Official Microsoft Documentation for C# and .NET Framework.
Online tutorials and video courses on platforms such as Microsoft Learn, Pluralsight, or Udemy.
Practice coding problems on sites like HackerRank or LeetCode with focus on C#.
Books such as “C# 9.0 in a Nutshell” by Joseph Albahari.
Community forums like Stack Overflow and GitHub repositories for sample projects.
These resources can deepen your understanding of C# programming concepts and advance your expertise in building diverse applications.
0 notes
news365timesindia · 4 months ago
Text
[ad_1] Mana Projects, a leading builder in Bengaluru, has completed 25 years of transforming Bengaluru's skyline. A journey that began in the 2000s as a modest venture has evolved to become a trailblazer in the real estate sector today that has been built upon trust, and loyalty from its customers.   Mana Projects: Celebrating 25 Years Of Living   Guided by the visionary leadership of Mr. Kishore Reddy, CMD of Mana Projects, the company embarked on its journey with residential developments in KR Puram and Bellandur. By focusing on Bengaluru's dynamic Southeast market—home to thriving IT parks, renowned schools, and top-tier healthcare facilities—they built strong communities that elevated urban living standards.   How Mana Turned Challenges into Opportunities Over the years, Mana Projects has navigated significant challenges, from economic downturns to evolving market demands. Adapting, innovating, and staying committed to excellence has been key to building an empire that resonates with trust and quality. From managing small projects to undertaking ambitious ventures like a 100-acre township, Mana Projects has consistently set benchmarks in the industry.   As an ISO 9001:2015 certified company, Mana adheres to the highest standards of quality, customer satisfaction, and efficient project execution. This certification ensures that every Mana home is built with precision, excellence, and a strong focus on long-term value.    Mana Projects aims to shape the future of Bengaluru’s real estate landscape with projects that address urban challenges and enhance lifestyles while setting new benchmarks with its innovative and sustainable designs through Iconic projects such as: Mana Foresta: India’s first vertical forest tower, blending nature, and modern architecture seamlessly. This is an extraordinary luxury residential development that re-introduces urban living by bringing the serenity of a forest into the heart of the city. This architectural standard includes around 56 exclusive residences, enveloped by a meticulously curated vertical forest featuring over 225 trees, 2,500 shrubs, and 1,000 perennial plants within its vicinity. Daintree by Mana: Daintree Luxury Villas sets a new benchmark in sustainable luxury living. The residences at Daintree are engineered to create a living environment that seamlessly connects with nature, offering oxygen levels three times higher than conventional homes and twice the natural light penetration. A serene villa community inspired by nature, featuring double-height courtyards and eco-friendly construction. Mana Capitol: Introducing revolutionary convertible homes with movable walls and terrace kitchen gardens. Thoughtfully designed bay windows flood the spaces with natural light while offering panoramic views of the cityscape. For the homebuyers embracing the grow-your-own movement, private terrace kitchen gardens provide the perfect setting for urban farming. Mana Jardin Neo: Luxury living at its finest, combining exclusivity and elegance at the Sarjapur Road. This exceptional residential masterpiece transforms the concept of high-rise living through its commanding 360-degree panoramic views that paint a new picture with each passing hour. Mana Dale: A nature-infused development offering lush skywalks and teakwood boulevards. At its heart lies an unprecedented commitment to open spaces, with 75% of the property dedicated to verdant landscapes that invite residents to reconnect with nature and each other. Macasa Emerald: Fully furnished homes tailored for the millennial lifestyle and positioned strategically in one of the city's most vibrant residential corridors make it a substantial value appreciation, and hence an ideal choice for investors seeking to build lasting wealth through real estate.   Rooted in sustainability, Mana Projects incorporates green building concepts inspired by Italian architecture.
In Mana Dale, for example, the company preserved existing trees using advanced tree transplantation techniques, ensuring that nature remains an integral part of the living experience.   With centralized quality control systems and eco-friendly innovations, the company ensures consistency and excellence across all developments, maximising the quality of life for residents.   "Our 25-year journey is more than just a timeline; it’s a story of dreams realized, trust earned, and lives transformed," reflects Mr. Reddy. "We set out to create spaces that not only house people but inspire them to live brilliantly."   "As we celebrate this milestone, we are not just reflecting on our past achievements but looking ahead to a future filled with possibilities,” says Mr. Reddy. “The next phase of our journey includes bold plans to develop more than 15 million square feet across residential, commercial, and retail segments.”   Beyond building homes, Mana Projects is deeply committed to giving back to the community. Their CSR initiatives reflect their dedication to creating a positive impact: School Development Programs: Transforming government schools by establishing digital classrooms, conducting teacher training, and enhancing educational opportunities for students. Lake Rejuvenation: Restoring Hegondanahalli Lake through de-silting, planting native species, and introducing natural water purification methods, ensuring its sustainability for future generations. Ecological Drives: Organizing plantation drives and planting over 1,000 trees to promote environmental balance and create a greener tomorrow.   These initiatives reflect Mana Projects' commitment to building a better, more sustainable world for all.   This milestone is a testament to the dedication of Mana’s employees, partners, and customers who have been integral to its success. Mana Projects continues to shape lives and communities, staying true to its vision of creating innovative spaces that harmonize with nature and redefine living standards.   Beyond quality, Mana has been at the forefront of green and sustainable living. As one of the founding members of the Indian Green Building Council (IGBC), Mana integrates eco-conscious designs, energy-efficient materials, rainwater harvesting, and tree transplantation techniques across its developments. From Mana Foresta’s vertical forest concept to the lush tree-hugging balconies at Mana Tropicale, sustainability is woven into every Mana project. Our commitment to green-certified developments ensures that every home we build is future-ready, environmentally responsible, and built for generations to come. !function(f,b,e,v,n,t,s) if(f.fbq)return;n=f.fbq=function()n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments); if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '311356416665414'); fbq('track', 'PageView'); [ad_2] Source link
0 notes
news365times · 4 months ago
Text
[ad_1] Mana Projects, a leading builder in Bengaluru, has completed 25 years of transforming Bengaluru's skyline. A journey that began in the 2000s as a modest venture has evolved to become a trailblazer in the real estate sector today that has been built upon trust, and loyalty from its customers.   Mana Projects: Celebrating 25 Years Of Living   Guided by the visionary leadership of Mr. Kishore Reddy, CMD of Mana Projects, the company embarked on its journey with residential developments in KR Puram and Bellandur. By focusing on Bengaluru's dynamic Southeast market—home to thriving IT parks, renowned schools, and top-tier healthcare facilities—they built strong communities that elevated urban living standards.   How Mana Turned Challenges into Opportunities Over the years, Mana Projects has navigated significant challenges, from economic downturns to evolving market demands. Adapting, innovating, and staying committed to excellence has been key to building an empire that resonates with trust and quality. From managing small projects to undertaking ambitious ventures like a 100-acre township, Mana Projects has consistently set benchmarks in the industry.   As an ISO 9001:2015 certified company, Mana adheres to the highest standards of quality, customer satisfaction, and efficient project execution. This certification ensures that every Mana home is built with precision, excellence, and a strong focus on long-term value.    Mana Projects aims to shape the future of Bengaluru’s real estate landscape with projects that address urban challenges and enhance lifestyles while setting new benchmarks with its innovative and sustainable designs through Iconic projects such as: Mana Foresta: India’s first vertical forest tower, blending nature, and modern architecture seamlessly. This is an extraordinary luxury residential development that re-introduces urban living by bringing the serenity of a forest into the heart of the city. This architectural standard includes around 56 exclusive residences, enveloped by a meticulously curated vertical forest featuring over 225 trees, 2,500 shrubs, and 1,000 perennial plants within its vicinity. Daintree by Mana: Daintree Luxury Villas sets a new benchmark in sustainable luxury living. The residences at Daintree are engineered to create a living environment that seamlessly connects with nature, offering oxygen levels three times higher than conventional homes and twice the natural light penetration. A serene villa community inspired by nature, featuring double-height courtyards and eco-friendly construction. Mana Capitol: Introducing revolutionary convertible homes with movable walls and terrace kitchen gardens. Thoughtfully designed bay windows flood the spaces with natural light while offering panoramic views of the cityscape. For the homebuyers embracing the grow-your-own movement, private terrace kitchen gardens provide the perfect setting for urban farming. Mana Jardin Neo: Luxury living at its finest, combining exclusivity and elegance at the Sarjapur Road. This exceptional residential masterpiece transforms the concept of high-rise living through its commanding 360-degree panoramic views that paint a new picture with each passing hour. Mana Dale: A nature-infused development offering lush skywalks and teakwood boulevards. At its heart lies an unprecedented commitment to open spaces, with 75% of the property dedicated to verdant landscapes that invite residents to reconnect with nature and each other. Macasa Emerald: Fully furnished homes tailored for the millennial lifestyle and positioned strategically in one of the city's most vibrant residential corridors make it a substantial value appreciation, and hence an ideal choice for investors seeking to build lasting wealth through real estate.   Rooted in sustainability, Mana Projects incorporates green building concepts inspired by Italian architecture.
In Mana Dale, for example, the company preserved existing trees using advanced tree transplantation techniques, ensuring that nature remains an integral part of the living experience.   With centralized quality control systems and eco-friendly innovations, the company ensures consistency and excellence across all developments, maximising the quality of life for residents.   "Our 25-year journey is more than just a timeline; it’s a story of dreams realized, trust earned, and lives transformed," reflects Mr. Reddy. "We set out to create spaces that not only house people but inspire them to live brilliantly."   "As we celebrate this milestone, we are not just reflecting on our past achievements but looking ahead to a future filled with possibilities,” says Mr. Reddy. “The next phase of our journey includes bold plans to develop more than 15 million square feet across residential, commercial, and retail segments.”   Beyond building homes, Mana Projects is deeply committed to giving back to the community. Their CSR initiatives reflect their dedication to creating a positive impact: School Development Programs: Transforming government schools by establishing digital classrooms, conducting teacher training, and enhancing educational opportunities for students. Lake Rejuvenation: Restoring Hegondanahalli Lake through de-silting, planting native species, and introducing natural water purification methods, ensuring its sustainability for future generations. Ecological Drives: Organizing plantation drives and planting over 1,000 trees to promote environmental balance and create a greener tomorrow.   These initiatives reflect Mana Projects' commitment to building a better, more sustainable world for all.   This milestone is a testament to the dedication of Mana’s employees, partners, and customers who have been integral to its success. Mana Projects continues to shape lives and communities, staying true to its vision of creating innovative spaces that harmonize with nature and redefine living standards.   Beyond quality, Mana has been at the forefront of green and sustainable living. As one of the founding members of the Indian Green Building Council (IGBC), Mana integrates eco-conscious designs, energy-efficient materials, rainwater harvesting, and tree transplantation techniques across its developments. From Mana Foresta’s vertical forest concept to the lush tree-hugging balconies at Mana Tropicale, sustainability is woven into every Mana project. Our commitment to green-certified developments ensures that every home we build is future-ready, environmentally responsible, and built for generations to come. !function(f,b,e,v,n,t,s) if(f.fbq)return;n=f.fbq=function()n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments); if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '311356416665414'); fbq('track', 'PageView'); [ad_2] Source link
0 notes
squarshedbrains · 8 months ago
Text
youtube
How to Enable Always On Top In Command Prompt on Windows 11 : Step-by-Step Guide! *2024
In this tutorial, learn how to enable the "Always On Top" feature for Command Prompt on Windows 11. This handy trick allows you to keep the Command Prompt window visible above all other open applications, making multitasking easier and more efficient. Follow our simple, step-by-step guide to activate this feature and streamline your workflow in Windows 11.
Simple Steps
Type "cmd" into the search bar in the taskbar.
Click on "Command Prompt" to open it.
In the Command Prompt box, click on the dropdown arrow at the top and choose "Settings" from the dropdown.
In the left side pane, choose "Appearance".
Scroll down the center pane and toggle on "Always On Top".
At the bottom, click on "Save".
0 notes
articalizeblog · 2 months ago
Text
Getting Started with C Sharp Programming in Visual Studio
Tumblr media
Introduction to C Sharp Programming
C Sharp (C#) is a moder, object-oriented programming language develope by Microsoft that runs on the .NET framework. It is widel\y used to develop various types of applications, including web, desktop, mobile, and console applications. Understanding the basics of C# programming is essential for software development beginners as well as professionals aiming to expand their programming skills. This article provides a comprehensive introduction to C# programming, covering essential concepts such as setting up projects, understanding console applications, namespaces, classes, and methods.
Setting Up a C Sharp Project in Visual Studio
Visual Studio is a popular integrated development environment (IDE) for developing C# applications. To create a new C# project, follow these basic steps:
Open Visual Studio.
Navigate to File > New > Project.
Select the C# programming language, and under project types, choose “Console Application.”
Name your project (e.g., “IntroductionToCSharp”) and choose a location to save it.
Click “OK” to create the project.
This process sets up a simple console-based application project where you can write and run your C# code.
Understanding Console Applications
A console application is a program that runs in a command-line interface or text-based environment, such as the Command Prompt on Windows. Console applications typically accept text input and output textual information. In C#, console applications are straightforward to create and are a great starting point for understanding the language basics.
To access the console window on Windows, press “Start,” then “Run,” and type “cmd” or “command.” This opens the command prompt where your console applications will display output or receive input.
Writing Your First Console Output Program
A minimal C# console program prints messages to the console window. For instance, writing “Welcome to C# Training” on the screen can be done in just a few lines of code. After setting up a new console project in Visual Studio, you can edit your program with the essential code to display a message.
Here’s an example snippet within the main method:
```csharp
Console.WriteLine("Welcome to C# Training");
```
Running this program (via Ctrl + F5 or running without debugging) prints the message on the console screen, waits for a key press, and then terminates.
Explaining the Role of the Console Class and WriteLine Method
The .NET framework provides the Console class as a tool to interact with the console window—allowing reading input and outputting messages. The WriteLine method of this class prints a line of text and moves the cursor to the next line.
The Console class is part of the System namespace within the .NET framework. This means that to use Console.WriteLine without fully specifying its path, you need to inform your program about the System namespace.
Introduction to Namespaces and Their Importance
Namespaces in C# help organize code logically by grouping classes, interfaces, structures, enumerations, and delegates under a single name. Think of a namespace as a container that prevents naming conflicts and helps manage a large codebase effectively.
For example, the Console class resides within the System namespace. Without referencing this namespace, C# would not recognize the Console class, leading to errors.
How Namespace Declarations Work in C Sharp
To inform the compiler that you want to make use of classes inside a particular namespace, you use the “using” directive at the top of your code file. For example:
```csharp
using System;
```
This declaration allows you to use classes like Console directly, without qualifying them with their full namespace path. If you omit this declaration, you would need to use the fully qualified name like:
```csharp
System.Console.WriteLine("Welcome to C# Training");
```
Using the namespace declaration makes code cleaner and easier to write, especially when multiple references to classes within that namespace are used.
Detailed Look at the System Namespace
The System namespace is a cornerstone in the .NET framework. It contains many essential classes and types such as:
Console – for console input/output operations.
Activator – to create instances of types at runtime.
Action – representing delegates used to point to methods.
Other namespaces – interestingly, namespaces can contain other nested namespaces, allowing for hierarchical and organized code structures.
This hierarchical design helps manage complex applications by distributing functionality across related namespaces and types.
The Concept of Fully Qualified Names vs Namespace Declarations
When using a class without a “using” directive, you must write its full path, known as the fully qualified name (FQN). For example:
```csharp
System.Console.WriteLine("Hello World");
```
Though this is always valid, it becomes cumbersome with frequent references. Thus, it’s common practice to import namespaces using “using” declarations at the start of your file, enabling direct use of the class name:
```csharp
Console.WriteLine("Hello World");
```
This approach enhances readability and reduces repetitive code.
Understanding the Structure of a C Sharp Program
A basic C# program comprises several key components:
Namespace Declaration – defines the broader scope or usage of types from a library or project.
Class Definitions – container for methods and data, which logically group related code.
Methods – blocks of code that perform actions or computations.
Every C# program must have a Main method because it is the designated entry point where execution begins.
The Role of Classes in Organizing Code
In C#, all executable statements must reside in a class or struct. Classes serve as blueprints for objects that encapsulate data and behavior. Even the Main method, which executes first when a C# program runs, resides inside a class.
Generally, a program contains one or multiple classes, each responsible for specific responsibilities or features. The class containing the Main method acts as the starting point for the application.
Overview of Methods and the Main Method as the Entry Point
Methods in C# are functions associated with classes, responsible for tasks or operations. Among all methods, Main is special because it serves as the entry point during program execution.
The Main method is typically defined with static modifiers, meaning it can be called without creating an instance of the class:
```csharp
static void Main(string[] args)
{
// program execution starts here
}
```
When the program runs, execution begins inside the Main method and follows its statements sequentially.
Demonstrating Program Execution Starting from the Main Method
To show the role of Main in program flow, consider this example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
}
}
```
When this program runs, it starts with the Main method. It executes the Console.WriteLine statement, displaying the welcome message, then ends execution.
If you define other methods but don’t call them from Main or another invoked method, those methods are never executed.
Calling Additional Methods from Main for Extended Functionality
To execute additional functionality, Main can call other methods defined in the class. For example:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("Welcome to C# Training");
TrainingOne();
}
static void TrainingOne()
{
Console.WriteLine("This is training session one.");
}
}
```
In this scenario, program execution starts in Main, prints the first message, calls TrainingOne, which prints the second message, and then returns to conclude Main. The console output shows both messages.
This pattern illustrates how the Main method orchestrates program flow by invoking other methods in sequence.
Summarizing the Basic Building Blocks of a C Sharp Program
To summarize, a fundamental C# console application contains:
A namespace declaration (e.g., using System;) for accessing library classes.
A class to contain methods (e.g., class Program).
A Main method marking the application's entry point.
Usage of the Console.WriteLine method for output to the console.
These components together create a functional C# program capable of executing instructions and interacting with users through the console window.
Additional Resources for Learning C Sharp
For further learning, consider exploring:
Official Microsoft Documentation for C# and .NET Framework.
Online tutorials and video courses on platforms such as Microsoft Learn, Pluralsight, or Udemy.
Practice coding problems on sites like HackerRank or LeetCode with focus on C#.
Books such as “C# 9.0 in a Nutshell” by Joseph Albahari.
Community forums like Stack Overflow and GitHub repositories for sample projects.
These resources can deepen your understanding of C# programming concepts and advance your expertise in building diverse applications.
0 notes